diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 97ed1ce..764afe7 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -59,6 +59,7 @@
     <uses-permission android:name="android.permission.WAKE_LOCK" />
     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
     <uses-permission android:name="android.permission.STATUS_BAR" />
+    <uses-permission android:name="android.permission.RECEIVE_SMS" />
     <uses-permission android:name="android.permission.READ_SMS" />
     <uses-permission android:name="android.permission.WRITE_SMS" />
     <uses-permission android:name="android.permission.SEND_SMS" />
@@ -103,6 +104,11 @@
     <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
     <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
     <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
+    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
+    <uses-permission android:name="com.android.voicemail.permission.ADD_VOICEMAIL" />
+    <uses-permission android:name="com.android.voicemail.permission.WRITE_VOICEMAIL" />
+    <uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
+
 
     <!-- This tells the activity manager to not delay any of our activity
          start requests, even if they happen immediately after the user
@@ -274,6 +280,18 @@
             </intent-filter>
         </activity>
 
+        <!-- Trampoline activity that handles the SIM_ACTIVATION_REQUEST intent. -->
+        <activity android:name="com.android.services.telephony.activation.SimActivationActivity"
+                android:permission="android.permission.PERFORM_SIM_ACTIVATION"
+                android:label="@string/phoneIconLabel"
+                android:theme="@android:style/Theme.NoDisplay"
+                android:excludeFromRecents="true">
+            <intent-filter>
+                <action android:name="android.intent.action.SIM_ACTIVATION_REQUEST" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <!-- "Mobile network settings" screen, used on both
              non-voice-capable tablets and regular phone devices. -->
         <activity android:name="MobileNetworkSettings"
@@ -393,7 +411,7 @@
 
         <activity android:name="com.android.phone.settings.fdn.GetPin2Screen"
                 android:label="@string/get_pin2"
-                android:theme="@style/SettingsLight"
+                android:theme="@style/DialerSettingsLight"
                 android:windowSoftInputMode="stateVisible">
         </activity>
 
@@ -432,7 +450,6 @@
                 <action android:name="android.intent.action.VIEW" />
                 <action android:name="android.intent.action.MAIN" />
                 <action android:name="android.telecom.action.SHOW_CALL_SETTINGS" />
-                <action android:name="com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
@@ -445,6 +462,17 @@
             </intent-filter>
         </receiver>
 
+        <!-- "Accessibility" settings UI. Referenced by Dialer application. -->
+        <activity android:name="com.android.phone.settings.AccessibilitySettingsActivity"
+                android:label="@string/accessibility_settings_activity_title"
+                android:theme="@style/DialerSettingsLight">
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <action android:name="android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <!-- CDMA Emergency Callback Mode -->
         <service android:name="EmergencyCallbackModeService">
         </service>
@@ -547,6 +575,10 @@
         <activity android:name="com.android.phone.settings.VoicemailSettingsActivity"
             android:label="@string/voicemail"
             android:theme="@style/DialerSettingsLight">
+            <intent-filter >
+                <!-- DO NOT RENAME. There are existing apps which use this string. -->
+                <action android:name="com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL" />
+            </intent-filter>
         </activity>
 
         <!-- BroadcastReceiver for receiving Intents from Notification mechanism. -->
@@ -596,9 +628,9 @@
             </intent-filter>
         </receiver>
         <service
-                android:name="com.android.phone.vvm.omtp.OmtpVvmSyncService"
-                android:exported="true"
-                android:process=":sync">
+            android:name="com.android.phone.vvm.omtp.OmtpVvmSyncService"
+            android:exported="true"
+            android:process=":sync">
             <intent-filter>
                 <action android:name="android.content.SyncAdapter"/>
             </intent-filter>
@@ -607,12 +639,30 @@
         </service>
         <service
             android:name="android.telecom.AuthenticatorService">
-        <intent-filter>
-            <action android:name="android.accounts.AccountAuthenticator"/>
-        </intent-filter>
-        <meta-data
-            android:name="android.accounts.AccountAuthenticator"
-            android:resource="@xml/authenticator" />
+            <intent-filter>
+                <action android:name="android.accounts.AccountAuthenticator"/>
+            </intent-filter>
+            <meta-data
+                android:name="android.accounts.AccountAuthenticator"
+                android:resource="@xml/authenticator" />
        </service>
+       <receiver android:name="com.android.phone.vvm.omtp.SimChangeReceiver"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.telephony.action.CARRIER_CONFIG_CHANGED" />
+                <action android:name="android.intent.action.SIM_STATE_CHANGED" />
+            </intent-filter>
+       </receiver>
+       <receiver
+           android:name="com.android.phone.vvm.omtp.sync.FetchVoicemailReceiver"
+           android:exported="true">
+           <intent-filter>
+              <action android:name="android.intent.action.FETCH_VOICEMAIL" />
+               <data
+                   android:scheme="content"
+                   android:host="com.android.voicemail"
+                   android:mimeType="vnd.android.cursor.item/voicemail" />
+          </intent-filter>
+       </receiver>
     </application>
 </manifest>
diff --git a/res/drawable-hdpi/ic_text_holo_dark.png b/res/drawable-hdpi/ic_text_holo_dark.png
deleted file mode 100644
index 6d21e42..0000000
--- a/res/drawable-hdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-hdpi/ic_text_holo_dark.png b/res/drawable-ldrtl-hdpi/ic_text_holo_dark.png
deleted file mode 100644
index b99073e..0000000
--- a/res/drawable-ldrtl-hdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-mdpi/ic_text_holo_dark.png b/res/drawable-ldrtl-mdpi/ic_text_holo_dark.png
deleted file mode 100644
index 4106c32..0000000
--- a/res/drawable-ldrtl-mdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldrtl-xhdpi/ic_text_holo_dark.png b/res/drawable-ldrtl-xhdpi/ic_text_holo_dark.png
deleted file mode 100644
index 99e7e38..0000000
--- a/res/drawable-ldrtl-xhdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_text_holo_dark.png b/res/drawable-mdpi/ic_text_holo_dark.png
deleted file mode 100644
index 80b95ee..0000000
--- a/res/drawable-mdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_text_holo_dark.png b/res/drawable-xhdpi/ic_text_holo_dark.png
deleted file mode 100644
index e80a042..0000000
--- a/res/drawable-xhdpi/ic_text_holo_dark.png
+++ /dev/null
Binary files differ
diff --git a/res/layout/edit_fdn_contact_screen.xml b/res/layout/edit_fdn_contact_screen.xml
index 0a99152..24e0c6b 100644
--- a/res/layout/edit_fdn_contact_screen.xml
+++ b/res/layout/edit_fdn_contact_screen.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,78 +14,40 @@
      limitations under the License.
 -->
 
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pinc"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="wrap_content"
+    android:layout_margin="16dp"
+    android:orientation="vertical"
+    android:gravity="center">
 
-    <!-- Keyboard Version -->
-    <!-- Modified for greater consistency with the rest of settings. -->
-    <LinearLayout android:id="@+id/pinc"
-        android:orientation="vertical"
+    <EditText android:id="@+id/fdn_name"
+        android:hint="@string/name"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content">
+        android:layout_height="wrap_content"
+        android:inputType="textPersonName"
+        android:imeOptions="actionNext"
+        android:singleLine="true"
+        android:scrollHorizontally="true"
+        android:autoText="false"
+        android:capitalize="words" />
 
-        <LinearLayout
-            android:orientation="horizontal"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="15dip"
-            android:paddingBottom="5dip">
+    <EditText android:id="@+id/fdn_number"
+        android:hint="@string/number"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:inputType="phone"
+        android:imeOptions="actionDone"
+        android:singleLine="true"
+        android:scrollHorizontally="true"
+        android:autoText="false"
+        android:capitalize="none" />
 
-            <TextView
-                android:layout_width="100dip"
-                android:layout_height="wrap_content"
-                android:paddingStart="10dip"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:text="@string/name" />
+    <Button android:id="@+id/button"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="8dp"
+        android:text="@string/save" />
 
-            <EditText android:id="@+id/fdn_name"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="10dip"
-                android:inputType="textPersonName"
-                android:imeOptions="actionNext"
-                android:singleLine="true"
-                android:scrollHorizontally="true"
-                android:autoText="false"
-                android:capitalize="words" />
-
-        </LinearLayout>
-
-        <LinearLayout
-            android:orientation="horizontal"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:paddingTop="5dip"
-            android:paddingBottom="5dip">
-
-            <TextView
-                android:layout_width="100dip"
-                android:layout_height="wrap_content"
-                android:paddingStart="10dip"
-                android:textAppearance="?android:attr/textAppearanceMedium"
-                android:text="@string/number" />
-
-            <EditText android:id="@+id/fdn_number"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginEnd="10dip"
-                android:inputType="phone"
-                android:imeOptions="actionDone"
-                android:singleLine="true"
-                android:scrollHorizontally="true"
-                android:autoText="false"
-                android:capitalize="none" />
-
-        </LinearLayout>
-
-        <Button android:id="@+id/button"
-            android:layout_marginTop="8dip"
-            android:layout_marginStart="10dip"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/save" />
-
-    </LinearLayout>
-
-</RelativeLayout>
+</LinearLayout>
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index 5c721c5..acb7033 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -16,10 +16,102 @@
 
 <!-- Layout for the emergency dialer; see EmergencyDialer.java. -->
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/top"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent" >
-    <include layout="@layout/dialpad_view" />
+        android:id="@+id/top"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingLeft="16dp"
+        android:paddingRight="16dp">
+
+    <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_gravity="bottom"
+            android:orientation="vertical">
+
+        <!-- FrameLayout -->
+        <com.android.phone.EmergencyActionGroup
+                android:id="@+id/emergency_action_group"
+                android:layout_height="64dp"
+                android:layout_width="match_parent"
+                android:layout_marginTop="16dp"
+                android:layout_marginBottom="24dp">
+
+            <LinearLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent">
+                <Button android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:id="@+id/action1"
+                        />
+                <Button android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:id="@+id/action2"
+                        />
+                <Button android:layout_width="0dp"
+                        android:layout_height="match_parent"
+                        android:layout_weight="1"
+                        android:id="@+id/action3"
+                        />
+            </LinearLayout>
+
+            <FrameLayout
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:id="@+id/selected_container"
+                    android:visibility="invisible"
+                    android:focusable="true"
+                    android:clickable="true">
+
+                <View
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:backgroundTint="#ffe53935"
+                        android:focusable="false"
+                        android:clickable="false"
+                        style="?android:attr/buttonStyle"/>
+
+                <View
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:id="@+id/ripple_view"
+                        android:backgroundTint="#22000000"
+                        android:visibility="invisible"
+                        android:focusable="false"
+                        android:clickable="false"
+                        style="?android:attr/buttonStyle"/>
+
+                <LinearLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="match_parent"
+                        android:orientation="vertical"
+                        android:focusable="false"
+                        android:clickable="false"
+                        android:backgroundTint="#00000000"
+                        style="?android:attr/buttonStyle">
+                    <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:id="@+id/selected_label"
+                            android:textAppearance="?android:attr/textAppearanceButton" />
+                    <TextView
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:id="@+id/launch_hint"
+                            android:text="@string/emergency_action_launch_hint"
+                            android:textStyle="italic" />
+                </LinearLayout>
+
+            </FrameLayout>
+
+        </com.android.phone.EmergencyActionGroup>
+
+        <include layout="@layout/dialpad_view_unthemed"
+                android:theme="@style/Dialpad_Dark" />
+
+    </LinearLayout>
+
     <FrameLayout
         android:id="@+id/floating_action_button_container"
         android:layout_width="@dimen/floating_action_button_width"
@@ -35,4 +127,5 @@
             android:contentDescription="@string/description_dial_button"
             android:src="@drawable/fab_ic_call"/>
     </FrameLayout>
+
 </FrameLayout>
diff --git a/res/layout/get_pin2_screen.xml b/res/layout/get_pin2_screen.xml
index 6268335..eecf736 100644
--- a/res/layout/get_pin2_screen.xml
+++ b/res/layout/get_pin2_screen.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,47 +14,29 @@
      limitations under the License.
 -->
 
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pinc"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="wrap_content"
+    android:layout_margin="16dp"
+    android:orientation="vertical"
+    android:gravity="center">
 
-    <!-- Keyboard Version -->
-    <!-- Modified for greater consistency with the rest of settings. -->
-    <LinearLayout android:id="@+id/pinc"
-        android:orientation="vertical"
+    <EditText android:id="@+id/pin"
+        android:hint="@string/enter_pin2_text"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginTop="15dip"
-        android:layout_marginStart="15dip">
+        android:maxLines="1"
+        android:scrollHorizontally="true"
+        android:autoText="false"
+        android:capitalize="none"
+        android:password="true"
+        android:imeOptions="actionDone" />
 
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:paddingBottom="5dip"
-            android:textAppearance="?android:attr/textAppearanceMedium"
-            android:text="@string/enter_pin2_text" />
+    <Button android:id="@+id/ok"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="8dp"
+        android:text="@android:string/ok" />
 
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
-            <EditText
-                android:id="@+id/pin"
-                android:layout_width="200dip"
-                android:layout_height="wrap_content"
-                android:maxLines="1"
-                android:scrollHorizontally="true"
-                android:autoText="false"
-                android:capitalize="none"
-                android:password="true"
-                android:imeOptions="actionDone" />
-
-            <Button
-                android:id="@+id/ok"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:text="@android:string/ok"/>
-        </LinearLayout>
-    </LinearLayout>
-
-</RelativeLayout>
+</LinearLayout>
diff --git a/res/layout/otacall_card.xml b/res/layout/otacall_card.xml
index 74b31e8..fea2077 100644
--- a/res/layout/otacall_card.xml
+++ b/res/layout/otacall_card.xml
@@ -115,7 +115,8 @@
                 android:layout_height="wrap_content"
                 android:orientation="vertical"
                 android:layout_marginTop="1dip"
-                android:visibility="gone" >
+                android:visibility="gone"
+                android:theme="@style/Dialpad_Light">
 
             <!-- Note there's no "dtmfDialerField" EditText here;
                  in the OTA UI there's no visible "digits" display
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 69d775a..5cc9fa2 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Foonrekeninge"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Voeg SIP-rekening by"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Stel rekeninginstellings op"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi-oproepe"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-oproepe"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Moenie Wi-Fi vir oproepe gebruik nie"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Moenie belassistent gebruik nie"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Geen"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Stel op"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Ingeboude verbindingsdiens"</string>
     <string name="voicemail" msgid="8693759337917898954">"Stemboodskap"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Stemboodskapdiens (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Netwerkoperateurs"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Nooduitsendings"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Verbind met datadienste tydens swerwing"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Verbind met datadienste tydens swerwing"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Jy het dataverbinding verloor omdat jy wegbeweeg het van jou tuisnetwerk af sonder om dataswerwing weer aan te skakel."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Laat datagebruik toe terwyl jy swerf? Daar kan beduidende kostes wees."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Dit kan baie duur wees."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Laat dataswerwing toe?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM//UMTS-opsies"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-opsies"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Datagebruik"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Stel TTY-modus"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Outoherprobeer"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktiveer outoherprobeer-modus"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY-modusverandering word nie tydens \'n video-oproep toegelaat nie"</string>
     <string name="menu_add" msgid="1882023737425114762">"Voeg kontak by"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Verander kontak"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Vee kontak uit"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lees tans van SIM-kaart af…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Geen kontakte op jou SIM-kaart nie."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Kies kontakte om in te voer"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Skakel vliegtuigmodus af om kontakte in te voer vanaf die SIM-kaart."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Skakel vliegtuigmodus af om kontakte van die SIM-kaart af in te voer."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Aktiveer/deaktiveer SIM-PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"Verander SIM-PIN"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Lui af"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Bel terug"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Boodskap"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Om \'n oproep te maak, skakel eers vliegtuigmodus af."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Skakel vliegtuigmodus af om \'n oproep te maak."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Skakel vliegtuigmodus af of koppel aan \'n draadlose netwerk om \'n oproep te maak."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nie geregistreer op netwerk nie."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Sellulêre netwerk nie beskikbaar nie."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Sellulêre netwerk is nie beskikbaar nie. Koppel aan \'n draadlose netwerk om \'n oproep te maak."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Voer \'n geldige nommer in om \'n oproep te maak."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Kan nie bel nie."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Begin MMI-volgorde…"</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Kan nie konferensie-oproepe doen nie."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Kan nie oproep verwerp nie."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Kan nie oproep(e) vrystel nie."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Koppel aan \'n draadlose netwerk om \'n oproep te maak."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Noodoproep"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Skakel tans radio aan…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Geen sein nie. Probeer tans weer …"</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Noodterugbel-modus betree"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Noodterugbel-modus"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Dataverbinding gedeaktiveer"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Geen dataverbinding vir <xliff:g id="COUNT">%s</xliff:g> minuut nie"</item>
-    <item quantity="other" msgid="3122217344579273583">"Geen dataverbinding vir <xliff:g id="COUNT">%s</xliff:g> minute nie"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Die telefoon sal in Noodterugbel-modus wees vir <xliff:g id="COUNT">%s</xliff:g> minuut. Terwyl in hierdie modus kan geen programme wat \'n dataverbinding nodig het, gebruik word nie. Wil jy nou uitgaan?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Die telefoon sal in Noodterugbel-modus wees vir <xliff:g id="COUNT">%s</xliff:g> minute. Terwyl in hierdie modus kan geen programme wat \'n dataverbinding nodig het, gebruik word nie. Wil jy nou uitgaan?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Die geselekteerde aksie is nie beskikbaar terwyl in die Noodterugbelmodus is nie. Die foon sal in hierdie modus vir <xliff:g id="COUNT">%s</xliff:g> minuut wees. Wil jy nou uitgaan?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Die geselekteerde aksie is nie beskikbaar terwyl in die Noodterugbelmodus is nie. Die foon sal in hierdie modus vir <xliff:g id="COUNT">%s</xliff:g> minuut wees. Wil jy nou uitgaan?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Geen dataverbinding vir <xliff:g id="COUNT_1">%s</xliff:g> minute nie</item>
+      <item quantity="one">Geen dataverbinding vir <xliff:g id="COUNT_0">%s</xliff:g> minuut nie</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Die foon sal <xliff:g id="COUNT_1">%s</xliff:g> minute lank in noodterugbelmodus wees. Terwyl dit in hierdie modus is, kan geen programme gebruik word wat \'n dataverbinding gebruik nie. Wil jy nou uitgaan?</item>
+      <item quantity="one">Die foon sal <xliff:g id="COUNT_0">%s</xliff:g> minuut lank in noodterugbelmodus wees. Terwyl dit in hierdie modus is, kan geen programme gebruik word wat \'n dataverbinding gebruik nie. Wil jy nou uitgaan?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Die gekose handeling is nie beskikbaar terwyl die foon in die noodterugbelmodus is nie. Die foon sal <xliff:g id="COUNT_1">%s</xliff:g> minute lank in hierdie modus wees. Wil jy nou uitgaan?</item>
+      <item quantity="one">Die gekose handeling is nie beskikbaar terwyl die foon in die noodterugbelmodus is nie. Die foon sal <xliff:g id="COUNT_0">%s</xliff:g> minuut lank in hierdie modus wees. Wil jy nou uitgaan?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Die gekose handeling is nie beskikbaar tydens \'n noodoproep nie."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Verlaat noodterugbel-modus"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ja"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Noodoproepe"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Net noodoproepe"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kaart, gleuf: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Toeganklikheid"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Inkomende Wi-Fi-oproep"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi-oproep"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Raak weer om oop te maak"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Kon nie die boodskap dekodeer nie."</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 77fe6a7..27f8d8c 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -48,7 +48,7 @@
     <string name="puk_unlocked" msgid="2284912838477558454">"የSIM ካርድዎ አልታገደም። ስልክዎ በመከፈት ላይነው..."</string>
     <string name="label_ndp" msgid="780479633159517250">"የSIM አውታረመረብ መክፈቻ ፒን"</string>
     <string name="sim_ndp_unlock_text" msgid="683628237760543009">"ክፈት"</string>
-    <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"አጥፋ"</string>
+    <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"አሰናብት"</string>
     <string name="requesting_unlock" msgid="6412629401033249351">"አውታረመረብ ለማስከፈት በመጠየቅ ላይ..."</string>
     <string name="unlock_failed" msgid="6490531697031504225">"የአውታረ መረብ ክፈትጥየቃአል ተሳካም።"</string>
     <string name="unlock_success" msgid="6770085622238180152">"የአውታረ መረብክፈት ተሳክቷል።"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"የስልክ መለያዎች"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"የSIP መለያ ያክሉ"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"የመለያ ቅንብሮችን ይውቀሩ"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"የWi-Fi ጥሪ"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"የWi-Fi ጥሪ ማድረጊያ"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"የWi-Fi መደወያን አትጠቀም"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"የጥሪ ረዳትን አትጠቀም"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ምንም"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"አዋቅር"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"አብሮ የተገነባ የግንኙነት አገልግሎት"</string>
     <string name="voicemail" msgid="8693759337917898954">"የድምፅ መልዕክት"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"የድምጽ መልዕክት (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"የአውታረ መረብ ትእምርተ ከዋኝ"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"የአስቸኳይ አደጋ ስርጭቶች"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"በእንቅስቃሴ ላይ ሲሆን ወደ ውሂብ አገልግሎቶች ተያያዝ"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"የውሂብ ተያያዥነት የጠፋበት ምክንያት የቤትህን አውታረ መረብ እንቅስቃሴ ውሂብ በማጥፋትህ ነው።"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"ከአገልግሎት መስጫ ክልል ውጭ ሲኮን የውሂብ አጠቃቀም ክፍያ ይፈቀድ? ቀላል የማይባል የክፍያ ጥያቄ ሊያስከትል ይችላል።"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"ከፍተኛ ክፍያዎችን ሊያስከትልብዎት ይችላል።"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"የውሂብ ዝውውር ፍቀድ?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS አማራጮች"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA አማራጮች"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"የውሂብ አጠቃቀም"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY  ሁነት አዘጋጅ"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ራስ ዳግም ሞክር"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"ራስ ድጋሚ አስጀምር ሁናቴ አስችል"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"የTTY ሁነታ ለውጥ በቪዲዮ ጥሪ ጊዜ አይፈቀድም"</string>
     <string name="menu_add" msgid="1882023737425114762">"እውቅያዎች አክል"</string>
     <string name="menu_edit" msgid="7143003705504672374">"እውቅያ አርትዕ"</string>
     <string name="menu_delete" msgid="3977150783449642851">"እውቅያ ሰርዝ"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"ከSIM ካርድ ላይ በማንበብ ላይ..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"በ SIM ካርድዎ ላይ ዕውቂያዎች የሉም።"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ለማስገባት ዕውቂያዎች ምረጥ"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"ከሲም ካርድ ላይ ዕውቂያዎችን ለማስመጣት፣ የአይሮፕላን ሁኔታን መጀመሪያ  አጥፋ፡፡"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"ከሲም ካርድ ላይ እውቂያዎችን ለማስመጣት የአውሮፕላን ሁኔታን ያጥፉ።"</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM ፒን  አንቃ/አቦዝን"</string>
     <string name="change_pin" msgid="9174186126330785343">"የSIM ፒን  ለውጥ"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM ፒን :"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"ዝጋ"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"መልሰህ ደውል"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"መልዕክት"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ለመደወል፣ መጀመሪያየአውሮፕላኑን ሁነታ አጥፋ።"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ጥሪ ለማድረግ የአውሮፕላን ሁነታን ያጥፉ።"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ጥሪ ለማድረግ የአውሮፕላን ሁኔታን ያጥፉ ወይም ወደ ሽቦ አልባ አውታረ መረብ ያገናኙ።"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"በአውታረ መረቡ ላይ አልተመዘገበም።"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም።"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"የተንቀሳቃሽ ስልክ አውታረ መረብ አይገኝም። ጥሪ ለማድረግ ወደ ሽቦ አልባ አውታረ መረብ ያገናኙ።"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"አንድ ጥሪ ለማድረግ የሚሰራ ቁጥር ያስገቡ።"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"መደወል አልተቻለም።"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"የMMI sequence…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ለስብሰባ ጥሪዎች አልተቻለም።"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ጥሪውን መዝጋት አልተቻለም።"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ጥሪ(ዎች)ን መልቀቅ አልተቻለም።"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ጥሪ ለማድረግ ወደ ሽቦ አልባ አውታረ መረብ ያገናኙ።"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"የአደጋ ጊዜ ጥሪ"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ሬዲዮ ክፈት"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"ምንም አገልግሎት የለም። ዳግም በመሞከር ላይ…"</string>
@@ -508,23 +514,23 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"የአደጋጊዜ ተዘዋዋሪ ጥሪ ሁነታ ገብቷል"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"የአደጋጊዜ ተዘዋዋሪጥሪ ሁነታ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"የውሂብ ተያያዥነት አልነቃም"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">" ለ<xliff:g id="COUNT">%s</xliff:g> ደቂቃ ምንም የውሂብ ተያያዥነት የለም"</item>
-    <item quantity="other" msgid="3122217344579273583">"ለ <xliff:g id="COUNT">%s</xliff:g> ደቂቃ ምንም የውሂብ ተያያዥነት የለም"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ለ<xliff:g id="COUNT">%s</xliff:g> ደቂቃ ስልኩ በየአደጋ ጥሪ ሁናቴ ውስጥ ይሆናል። በዚህ ሁናቴ ውስጥ ምንም መተግበሪያዎች የውሂብ ግንኙነት በመጠቀም መጠቀም አይቻልም። አሁን መውጣት ይፈልጋሉ?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ለ<xliff:g id="COUNT">%s</xliff:g>ደቂቃዎች ስልኩ በየአደጋ ጥሪ ሁናቴ ውስጥ ይሆናል። በዚህ ሁናቴ ውስጥ ምንም መተግበሪያዎች የውሂብ ግንኙነት በመጠቀም መጠቀም አይቻልም። አሁን መውጣት ይፈልጋሉ?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"የአደጋ ጥሪ ሁናቴ በሚሆንበት ጊዜ የተመረጠው እርምጃ አይገኝም። ስልኩ ለ<xliff:g id="COUNT">%s</xliff:g> ደቂቃ በዚህ ሁናቴ ውስጥ ይሆናል። አሁን መውጣት ይፈልጋሉ?"</item>
-    <item quantity="other" msgid="6115622137771382224">"የአደጋ ጥሪ ሁናቴ በሚሆንበት ጊዜ የተመረጠው እርምጃ አይገኝም። ስልኩ ለ<xliff:g id="COUNT">%s</xliff:g> ደቂቃዎች በዚህ ሁናቴ ውስጥ ይሆናል። አሁን መውጣት ይፈልጋሉ?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ምንም የውሂብ ተያያዥነት የለም</item>
+      <item quantity="other">ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ምንም የውሂብ ተያያዥነት የለም</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። በዚህ ሁነታ ላይ በሚሆንበት ጊዜ የውሂብ ግንኙነትን የሚጠቀሙ ማናቸውም መተግበሪያዎች ጥቅም ላይ ሊውሉ አይችሉም። አሁን መውጣት ይፈልጋሉ?</item>
+      <item quantity="other">ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። በዚህ ሁነታ ላይ በሚሆንበት ጊዜ የውሂብ ግንኙነትን የሚጠቀሙ ማናቸውም መተግበሪያዎች ጥቅም ላይ ሊውሉ አይችሉም። አሁን መውጣት ይፈልጋሉ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">የተመረጠው እርምጃ በአደጋ ጥሪ መልሶ መደወያ ሁነታ ላይ ባለበት ጊዜ ሊገኝ አይችልም። ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ <xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። አሁን መውጣት ይፈልጋሉ?</item>
+      <item quantity="other">የተመረጠው እርምጃ በአደጋ ጥሪ መልሶ መደወያ ሁነታ ላይ ባለበት ጊዜ ሊገኝ አይችልም። ስልኩ በድንገተኛ ጥሪ መልሶ መደወያ ሁነታ ለ<xliff:g id="COUNT_1">%s</xliff:g> ደቂቃዎች ይቆያል። አሁን መውጣት ይፈልጋሉ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"የተመረጠው እርምጃ በአደጋ ጥሪ ጊዜ ለክንውን ሊገኝ አይችልም።"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"የአደጋ ጊዜ ተዘዋዋሪ ጥሪ ሁኔታ ወጥቷል"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"አዎ"</string>
     <string name="alert_dialog_no" msgid="1476091437797628703">"አይ"</string>
-    <string name="alert_dialog_dismiss" msgid="2491494287075907171">"እንቢበል"</string>
+    <string name="alert_dialog_dismiss" msgid="2491494287075907171">"አሰናብት"</string>
     <string name="voicemail_provider" msgid="5135942703327136909">"አገልግሎት"</string>
     <string name="voicemail_settings" msgid="72448049107749316">"አዋቅር"</string>
     <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;አልተዘጋጀም &gt;"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"የአደጋ ጥሪዎች"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"የአደጋ ጥሪዎችን ብቻ ለማድረግ"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM ካርድ፣ ማስገቢያ ቀዳዳ፦ <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ተደራሽነት"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ገቢ የWi-Fi ጥሪ"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"የWi-Fi ጥሪ"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"ለመክፈት ዳግም ይንኩ"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"መልዕክቱን በማመሳጠር ላይ ስህተት ነበር።"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 0317c65..0b7f9a3 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -43,9 +43,9 @@
     <string name="pause_prompt_no" msgid="6686238803236884877">"لا"</string>
     <string name="wild_prompt_str" msgid="5543521676355533577">"استبدال حرف البدل بـ"</string>
     <string name="no_vm_number" msgid="4164780423805688336">"رقم البريد الصوتي مفقود"</string>
-    <string name="no_vm_number_msg" msgid="1300729501030053828">"‏لم يتم تخزين رقم بريد صوتي على بطاقة SIM."</string>
+    <string name="no_vm_number_msg" msgid="1300729501030053828">"‏لم يتم تخزين رقم بريد صوتي على شريحة SIM."</string>
     <string name="add_vm_number_str" msgid="4676479471644687453">"إضافة رقم"</string>
-    <string name="puk_unlocked" msgid="2284912838477558454">"‏تم إلغاء حظر بطاقة SIM. جارٍ إلغاء تأمين الهاتف..."</string>
+    <string name="puk_unlocked" msgid="2284912838477558454">"‏تم إلغاء حظر شريحة SIM. جارٍ إلغاء تأمين الهاتف..."</string>
     <string name="label_ndp" msgid="780479633159517250">"‏رمز PIN لإلغاء تأمين شبكة SIM"</string>
     <string name="sim_ndp_unlock_text" msgid="683628237760543009">"إلغاء تأمين"</string>
     <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"استبعاد"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"حسابات الهاتف"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"‏إضافة حساب SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"تهيئة إعدادات الحساب"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"‏الاتصال عبر Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"‏الاتصال عبر Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"‏عدم استخدام الاتصال عبر Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"عدم استخدام مساعد الاتصال"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"بدون"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"تهيئة"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"خدمة اتصال مدمجة"</string>
     <string name="voicemail" msgid="8693759337917898954">"البريد الصوتي"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"البريد الصوتي (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"مشغلو الشبكة"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"عمليات البث في حالات الطوارئ"</string>
@@ -106,17 +107,17 @@
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"الرقم غير متاح"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"تم الإيقاف"</string>
     <string name="labelCFB" msgid="6139853033106283172">"عند الانشغال"</string>
-    <string name="messageCFB" msgid="3711089705936187129">"الرقم عندما يكون مشغولاً"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"الرقم عند الانشغال"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"إعادة التوجيه إلى <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"تم الإيقاف"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"لا يتيح مشغل شبكة الجوال تعطيل اعادة توجيه المكالمة عندما يكون هاتفك مشغولاً."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"عند عدم الرد"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"الرقم عندما لا يتم الرد"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"الرقم عند عدم الرد"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"إعادة التوجيه إلى <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"تم الإيقاف"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"لا يتيح مشغل شبكة الجوال تعطيل اعادة توجيه المكالمة عند عدم رد هاتفك."</string>
-    <string name="labelCFNRc" msgid="2614827454402079766">"عندما لا يمكن الوصول"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"الرقم عندما لا يمكن الوصول"</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"عند عدم الوصول"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"الرقم عند عدم الوصول"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"إعادة التوجيه إلى <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"معطّل"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"لا يتيح مشغل شبكة الجوال تعطيل اعادة توجيه المكالمة عند عدم التمكن من الوصول إلى هاتفك."</string>
@@ -128,7 +129,7 @@
     <string name="updating_settings" msgid="8171225533884883252">"جارٍ تحديث الإعدادات..."</string>
     <string name="reverting_settings" msgid="4752151682666912828">"جارٍ إعادة الإعدادات..."</string>
     <string name="response_error" msgid="6674110501330139405">"رد غير متوقع من الشبكة."</string>
-    <string name="exception_error" msgid="7027667130619518211">"‏خطأ في الشبكة أو في بطاقة SIM"</string>
+    <string name="exception_error" msgid="7027667130619518211">"‏خطأ في الشبكة أو في شريحة SIM"</string>
     <string name="fdn_check_failure" msgid="18200614306525434">"تم تشغيل إعداد أرقام الاتصال الثابتة بالتطبيق المثبت على هاتفك. ونتيجة لذلك، لن تعمل بعض الميزات المرتبطة بالمكالمات."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"شغّل اللاسلكي قبل عرض هذه الإعدادات."</string>
     <string name="close_dialog" msgid="2365884406356986917">"موافق"</string>
@@ -154,7 +155,7 @@
     <string name="search_networks" msgid="1601136049300882441">"بحث في الشبكات"</string>
     <string name="network_query_error" msgid="6828516148953325006">"حدث خطأ أثناء البحث عن شبكات."</string>
     <string name="register_on_network" msgid="9055203954040805084">"جارٍ التسجيل على <xliff:g id="NETWORK">%s</xliff:g>..."</string>
-    <string name="not_allowed" msgid="5613353860205691579">"‏لا تسمح بطاقة SIM بالاتصال بهذه الشبكة."</string>
+    <string name="not_allowed" msgid="5613353860205691579">"‏لا تسمح شريحة SIM بالاتصال بهذه الشبكة."</string>
     <string name="connect_later" msgid="2308119155752343975">"يتعذر الاتصال بهذه الشبكة في الوقت الحالي. حاول مرة أخرى لاحقًا."</string>
     <string name="registration_done" msgid="495135664535876612">"مسجل على الشبكة."</string>
     <string name="sum_carrier_select" msgid="3494252551249882718">"اختر مشغل شبكة جوال"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"اتصال بخدمات البيانات عند التجوال"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"اتصال بخدمات البيانات عند التجوال"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"لقد فقدت اتصال البيانات نظرًا لأنك أوقفت تشغيل تجوال البيانات بشبكتك الرئيسية."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"هل تريد السماح باستخدام البيانات أثناء التجوال؟ قد يتم تطبيق رسوم كبيرة."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"قد يكلف ذلك رسومًا مرتفعة."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"السماح بتجوال البيانات؟"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"‏خيارات نظام GSM/النظام العالمي لاتصالات الجوال عن بعد (UMTS)"</string>
     <string name="cdma_options" msgid="4016822858172249884">"‏خيارات CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"استخدام البيانات"</string>
@@ -338,7 +340,7 @@
     <string name="fdn_disabled" msgid="4700049736675368279">"تم تعطيل أرقام الاتصال الثابتة"</string>
     <string name="enable_fdn" msgid="3740191529180493851">"‏تمكين FDN"</string>
     <string name="disable_fdn" msgid="7944020890722540616">"‏تعطيل FDN"</string>
-    <string name="change_pin2" msgid="2153563695382176676">"‏تغيير رمز PIN PIN2"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"‏تغيير PIN2"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"‏تعطيل FDN"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"‏تمكين FDN"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"إدارة أرقام الاتصال الثابتة"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"‏تعيين وضع TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"إعادة المحاولة تلقائيًا"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"تمكين وضع إعادة المحاولة التلقائي"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"‏لا يُسمح بتغيير وضع TTY أثناء مكالمة فيديو"</string>
     <string name="menu_add" msgid="1882023737425114762">"إضافة جهة اتصال"</string>
     <string name="menu_edit" msgid="7143003705504672374">"تعديل جهة الاتصال"</string>
     <string name="menu_delete" msgid="3977150783449642851">"حذف جهة الاتصال"</string>
@@ -370,10 +373,10 @@
     <string name="fdn_invalid_number" msgid="1494755047900009147">"‏لم يتم تحديث FDN لأن العدد لا يمكن أن يتجاوز 20 رقمًا."</string>
     <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"‏لم يتم تحديث FDN. رقم PIN2 غير صحيح، أو تم رفض رقم الهاتف."</string>
     <string name="fdn_failed" msgid="540018079008319747">"‏أخفقت عملية FDN!"</string>
-    <string name="simContacts_emptyLoading" msgid="2203331234764498011">"‏جارٍ القراءة من بطاقة SIM..."</string>
-    <string name="simContacts_empty" msgid="5270660846489561932">"‏ليس هناك جهات اتصال على بطاقة SIM."</string>
+    <string name="simContacts_emptyLoading" msgid="2203331234764498011">"‏جارٍ القراءة من شريحة SIM..."</string>
+    <string name="simContacts_empty" msgid="5270660846489561932">"‏ليس هناك جهات اتصال على شريحة SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"حدد جهات اتصال لاستيرادها"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"‏لاستيراد جهات اتصال من بطاقة SIM، الرجاء إيقاف وضع الطائرة أولاً."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"‏عليك إيقاف وضع الطائرة لاستيراد جهات الاتصال من شريحة SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"‏تمكين/تعطيل رمز PIN لبطاقة SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"‏تغيير رمز PIN لبطاقة SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"‏رمز PIN لبطاقة SIM:"</string>
@@ -392,7 +395,7 @@
     <string name="pin_changed" msgid="4455736268023261662">"تم تحديث رقم التعريف الشخصي"</string>
     <string name="puk_requested" msgid="5921393215789090200">"‏كلمة المرور غير صحيحة. تم قفل رقم التعريف الشخصي الآن. رمز PUK مطلوب."</string>
     <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2"</string>
-    <string name="oldPin2Label" msgid="8559146795026261502">"‏رمز PIN PIN2 القديم"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"‏PIN2القديم"</string>
     <string name="newPin2Label" msgid="4573956902204349054">"‏رقم تعريف شخصي PIN2 جديد"</string>
     <string name="confirmPin2Label" msgid="8100319484454787708">"‏تأكيد رمز PIN PIN2 الجديد"</string>
     <string name="badPuk2" msgid="7910064009531541708">"‏رمز PUK2 غير صحيح. أعد المحاولة."</string>
@@ -403,7 +406,7 @@
     <string name="pin2_changed" msgid="3724522579945610956">"‏تم تحديث رمز PIN2"</string>
     <string name="label_puk2_code" msgid="4688069961795341948">"‏أدخل رمز PUK2"</string>
     <string name="fdn_enable_puk2_requested" msgid="4991074891459554705">"‏كلمة المرور غير صحيحة. أصبح PIN2 محظور الآن. لإعادة المحاولة، عليك تغيير PIN2."</string>
-    <string name="puk2_requested" msgid="5831015200030161434">"‏كلمة المرور غير صحيحة. تم قفل بطاقة SIM الآن. أدخل رمز PUK2."</string>
+    <string name="puk2_requested" msgid="5831015200030161434">"‏كلمة المرور غير صحيحة. تم قفل شريحة SIM الآن. أدخل رمز PUK2."</string>
     <string name="puk2_blocked" msgid="3150263853077280049">"‏تم حظر PUK2 بشكل دائم."</string>
     <string name="pin2_attempts" msgid="720736232885011507">\n"يتبقى لديك <xliff:g id="NUMBER">%d</xliff:g> من المحاولات."</string>
     <string name="pin2_unblocked" msgid="7791600368153469078">"‏لم يعد رمز PIN2 محظورًا"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"قطع الاتصال"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"معاودة الاتصال"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"رسالة"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"لإجراء مكالمة، أوقف تشغيل وضع الطائرة أولاً."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"عليك إيقاف وضع الطائرة لإجراء مكالمة."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"عليك إيقاف وضع الطائرة أو الاتصال بشبكة لاسلكية لإجراء مكالمة."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"غير مسجل على الشبكة."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"شبكة الجوّال غير متاحة."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"شبكة الجوّال ليست متوفرة. اتصل بشبكة لاسلكية لإجراء مكالمة."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"لإجراء مكالمة، أدخل رقمًا صالحًا."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"يتعذر الاتصال."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"‏جارٍ بدء تسلسل MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"يتعذر إجراء مكالمات جماعية."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"يتعذر رفض المكالمة."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"يتعذر تحرير المكالمات."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"اتصل بشبكة لاسلكية لإجراء مكالمة."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"مكالمة الطوارئ"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"جارٍ تشغيل اللاسلكي..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"لا تتوفر خدمة. جارٍ إعادة المحاولة…"</string>
@@ -466,7 +472,7 @@
     <string name="onscreenVideoCallText" msgid="4800924186056115442">"مكالمة فيديو"</string>
     <string name="importSimEntry" msgid="6614358325359736031">"استيراد"</string>
     <string name="importAllSimEntries" msgid="1503181169636198673">"استيراد الكل"</string>
-    <string name="importingSimContacts" msgid="7374056215462575769">"‏استيراد جهات اتصال بطاقة SIM"</string>
+    <string name="importingSimContacts" msgid="7374056215462575769">"‏استيراد جهات اتصال شريحة SIM"</string>
     <string name="importToFDNfromContacts" msgid="2130620207013368580">"استيراد من جهات الاتصال"</string>
     <string name="hac_mode_title" msgid="8740268574688743289">"أدوات السمع المساعدة"</string>
     <string name="hac_mode_summary" msgid="6833851160514929341">"تشغيل التوافق مع أداة السمع"</string>
@@ -508,18 +514,30 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"تم الدخول إلى وضع هاتف معاودة الاتصال بالطوارئ"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"وضع هاتف معاودة الاتصال بالطوارئ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"تم تعطيل اتصال البيانات"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"لا اتصال بيانات لمدة <xliff:g id="COUNT">%s</xliff:g> دقيقة"</item>
-    <item quantity="other" msgid="3122217344579273583">"لا اتصال بيانات لمدة <xliff:g id="COUNT">%s</xliff:g> دقيقة"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة <xliff:g id="COUNT">%s</xliff:g> دقائق. لا يمكن استخدام تطبيقات أثناء استخدام هذا الوضع. هل تريد الخروج الآن؟"</item>
-    <item quantity="other" msgid="8617116564023933114">"سيكون الهاتف في وضع معاودة الاتصال بالطوارئ لمدة <xliff:g id="COUNT">%s</xliff:g> دقائق. لا يمكن استخدام تطبيقات تستخدم اتصال البيانات أثناء استخدام هذا الوضع. هل تريد الخروج الآن؟"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"الإجراء المحدد ليس متاحًا أثناء استخدام وضع معاودة الاتصال بالطوارئ. سيظل الهاتف في هذا الوضع لمدة <xliff:g id="COUNT">%s</xliff:g> دقائق. هل تريد الخروج الآن؟"</item>
-    <item quantity="other" msgid="6115622137771382224">"الإجراء المحدد ليس متاحًا أثناء استخدام وضع معاودة الاتصال بالطوارئ. سيظل الهاتف في هذا الوضع لمدة <xliff:g id="COUNT">%s</xliff:g> دقائق. هل تريد الخروج الآن؟"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="zero">لن يتوفر اتصال بالبيانات لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق</item>
+      <item quantity="two">لن يتوفر اتصال بالبيانات لمدة دقيقتين (<xliff:g id="COUNT_1">%s</xliff:g>)</item>
+      <item quantity="few">لن يتوفر اتصال بالبيانات لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقائق</item>
+      <item quantity="many">لن يتوفر اتصال بالبيانات لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة</item>
+      <item quantity="other">لن يتوفر اتصال بالبيانات لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق</item>
+      <item quantity="one">لن يتوفر اتصال بالبيانات لمدة <xliff:g id="COUNT_0">%s</xliff:g> دقيقة</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="zero">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
+      <item quantity="two">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة دقيقتين (<xliff:g id="COUNT_1">%s</xliff:g>). وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
+      <item quantity="few">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقائق. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
+      <item quantity="many">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
+      <item quantity="other">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
+      <item quantity="one">سيكون الهاتف في وضع الرد على مكالمة الطوارئ لمدة <xliff:g id="COUNT_0">%s</xliff:g> دقيقة. وأثناء هذا الوضع، لا يمكن استخدام أي تطبيقات تستخدم اتصال بيانات. هل تريد الخروج الآن؟</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="zero">الإجراء المحدد ليس متاحًا أثناء تشغيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. هل تريد الخروج الآن؟</item>
+      <item quantity="two">الإجراء المحدد ليس متاحًا أثناء تشغيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة دقيقتين (<xliff:g id="COUNT_1">%s</xliff:g>). هل تريد الخروج الآن؟</item>
+      <item quantity="few">الإجراء المحدد ليس متاحًا أثناء تشغيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقائق. هل تريد الخروج الآن؟</item>
+      <item quantity="many">الإجراء المحدد ليس متاحًا أثناء تشغيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> دقيقة. هل تريد الخروج الآن؟</item>
+      <item quantity="other">الإجراء المحدد ليس متاحًا أثناء تشغيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_1">%s</xliff:g> من الدقائق. هل تريد الخروج الآن؟</item>
+      <item quantity="one">الإجراء المحدد ليس متاحًا أثناء تشغيل وضع الرد على مكالمة الطوارئ. وسيكون الهاتف في هذا الوضع لمدة <xliff:g id="COUNT_0">%s</xliff:g> دقيقة. هل تريد الخروج الآن؟</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"الإجراء المحدد ليس متاحًا أثناء إجراء اتصال بالطوارئ."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"الخروج من وضع معاودة الاتصال بالطوارئ"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"نعم"</string>
@@ -547,5 +565,10 @@
     <string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"إغلاق"</string>
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"مكالمات الطوارئ"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"مكالمات الطوارئ فقط"</string>
-    <string name="sim_description_default" msgid="4778679519938775515">"‏بطاقة SIM، المنفذ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="sim_description_default" msgid="4778679519938775515">"‏شريحة SIM، المنفذ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"إمكانية الوصول"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"‏مكالمة واردة عبر Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"‏مكالمة عبر Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"المس مرة أخرى للفتح"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"حدث خطأ أثناء فك ترميز الرسالة."</string>
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
index 015a27d..1b146b9 100644
--- a/res/values-az-rAZ/strings.xml
+++ b/res/values-az-rAZ/strings.xml
@@ -547,7 +547,6 @@
     <string name="domain_address_title" msgid="9071787581316160480">"Server"</string>
     <string name="username_title" msgid="2479375923477682328">"İstifadəçi adı"</string>
     <string name="password_title" msgid="3323555249068171531">"Parol"</string>
-    <string name="display_name_title" msgid="2459768196312249937">"Ad göstərin"</string>
     <string name="proxy_address_title" msgid="4828301345351614273">"Gedən proksi ünvan"</string>
     <string name="port_title" msgid="5952939408078626657">"Port nömrəsi"</string>
     <string name="transport_title" msgid="8253139511847746640">"Nəqliyyat növü"</string>
@@ -572,34 +571,13 @@
     <string name="sip_system_decide" msgid="368030746310423471">"Avtomatik"</string>
     <string name="sip_always_send_keepalive" msgid="8192080724632877132">"Həmişə göndərin"</string>
     <string name="not_voice_capable" msgid="2739898841461577811">"Səsli zəng dəstəklənmir"</string>
-    <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"İndi danışmaq olmur. Nə olub?"</string>
-    <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Özüm zəng edəcəm."</string>
-    <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Özüm sonra zəng edəcəm."</string>
-    <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"İndi danışa bilmirəm. Sonra zəng edin."</string>
     <string name="respond_via_sms_custom_message" msgid="6158880869935281078">"Özünüzünkünü yazın"</string>
     <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Tez cavablar"</string>
-    <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Tez cavablara düzəliş edin"</string>
-    <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
-    <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Tez cavab"</string>
     <!-- no translation found for respond_via_sms_menu_reset_default_activity (4029277930090150223) -->
     <skip />
     <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Mesaj <xliff:g id="PHONE_NUMBER">%s</xliff:g> nömrəsinə göndərildi."</string>
-    <string name="description_image_button_one" msgid="5502718871331943463">"bir"</string>
-    <string name="description_image_button_two" msgid="4903738528222924522">"iki"</string>
-    <string name="description_image_button_three" msgid="5570985408463782329">"üç"</string>
-    <string name="description_image_button_four" msgid="1697520001239289074">"dörd"</string>
-    <string name="description_image_button_five" msgid="3450276493026943454">"beş"</string>
-    <string name="description_image_button_six" msgid="2070376172268675300">"altı"</string>
-    <string name="description_image_button_seven" msgid="1757351311199993371">"yeddi"</string>
-    <string name="description_image_button_eight" msgid="4734693919020613227">"səkkiz"</string>
-    <string name="description_image_button_nine" msgid="5568534122590597040">"doqquz"</string>
-    <string name="description_image_button_star" msgid="1976280813017254462">"ulduz"</string>
-    <string name="description_image_button_zero" msgid="4211255756866893605">"sıfır"</string>
-    <string name="description_image_button_pound" msgid="1716041284529917866">"funt"</string>
     <string name="description_dial_button" msgid="7459705245418435351">"Yığ"</string>
     <string name="description_delete_button" msgid="4015842181592283903">"geri düyməsi"</string>
-    <string name="accessibility_speakerphone_enabled" msgid="1988512040421036359">"Spikerfon aktivdir."</string>
-    <string name="accessibility_call_muted" msgid="2776111226185342220">"Səssiz zəng edin."</string>
     <string name="description_target_answer" msgid="7205604197797472471">"Cavab"</string>
     <string name="description_target_send_sms" msgid="2098326025587950144">"SMS göndər"</string>
     <string name="description_target_decline" msgid="4789834364389731957">"Rədd et"</string>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 1d66c03..15a893b 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Профили за телефонни услуги"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Добавяне на профил за SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Конфигуриране на настройките на профила"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Обаждания през Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Обаждания през Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Без използване на услуга за обаждане през Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Без използване на помощник за обаждания"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Без"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Конфигуриране"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Вградена услуга за свързване"</string>
     <string name="voicemail" msgid="8693759337917898954">"Гласова поща"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Гласова поща (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Мрежови оператори"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Спешни излъчвания"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Свързване с услуги за данни при роуминг"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Свързване с услуги за данни при роуминг"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Изгубихте връзката за данни, защото сте излезли от домашната си мрежа при изключен роуминг."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Да се разреши ли преносът на данни при роуминг? Може да бъдат начислени високи такси."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Това може да доведе до високи такси."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Да се разреши ли роуминг на данни?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Опции за GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Опции на CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Използване на данни"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Задаване на режим TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Автоматичен нов опит"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Активиране на режим „Автоматичен нов опит“"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Промяната на режима на TTY не е разрешена по време на видеообаждане"</string>
     <string name="menu_add" msgid="1882023737425114762">"Добавяне на контакт"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Редактиране на контакт"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Изтриване на контакта"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Извършва се четене на данни от SIM картата…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Няма контакти в SIM картата ви."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Избиране на контакти за импортиране"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"За да импортирате контакти от SIM картата, първо изключете самолетния режим."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Изключете самолетния режим, за да импортирате контактите от SIM картата."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Активиране/деактивиране на PIN за SIM карта"</string>
     <string name="change_pin" msgid="9174186126330785343">"Промяна на PIN за SIM карта"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN код за SIM карта:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Затваряне"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Обратно обаждане"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Съобщение"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Първо изключете самолетния режим, за да може да осъществите обаждане."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Изключете самолетния режим, за да осъществите обаждане."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Изключете самолетния режим или се свържете с безжична мрежа, за да осъществите обаждане."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Няма регистрация в мрежата."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Няма достъп до клетъчната мрежа."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Не е налице клетъчна мрежа. Свържете се с безжична, за да осъществите обаждане."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"За да извършите обаждане, въведете валиден номер."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Не може да се извърши обаждане."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Стартира се последователността MMI…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Не могат да се правят конферентни обаждания."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Обаждането не може да се отхвърли."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Обаждането или съответно обажданията не могат да се освободят."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Свържете се с безжична мрежа, за да осъществите обаждане."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Спешно обаждане"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Радиото се включва…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Няма услуга. Извършва се нов опит…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Влизане в режим на обратно обаждане при спешност"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Режим на обратно обаждане при спешност"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Връзката с данни е деактивирана"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Няма връзка за данни в продължение на <xliff:g id="COUNT">%s</xliff:g> минута"</item>
-    <item quantity="other" msgid="3122217344579273583">"Няма връзка за данни в продължение на <xliff:g id="COUNT">%s</xliff:g> минути"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефонът ще бъде в режим на спешно обратно обаждане в продължение на <xliff:g id="COUNT">%s</xliff:g> минута. През това време не може да се използват приложения за връзка с данни. Искате ли да излезете сега?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефонът ще бъде в режим на спешно обратно обаждане в продължение на <xliff:g id="COUNT">%s</xliff:g> минути. През това време не може да се използват приложения за връзка с данни. Искате ли да излезете сега?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Избраното действие не е налично в режим на обратно спешно обаждане. Телефонът ще бъде в този режим в продължение на <xliff:g id="COUNT">%s</xliff:g> минута. Искате ли да излезете сега?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Избраното действие не е налично в режим на спешно обратно обаждане. Телефонът ще бъде в този режим в продължение на <xliff:g id="COUNT">%s</xliff:g> минути. Искате ли да излезете сега?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Няма връзка за данни в продължение на <xliff:g id="COUNT_1">%s</xliff:g> минути</item>
+      <item quantity="one">Няма връзка за данни в продължение на <xliff:g id="COUNT_0">%s</xliff:g> минута</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Телефонът ще бъде в режим за обратно обаждане при спешност в продължение на <xliff:g id="COUNT_1">%s</xliff:g> минути. В този режим не могат да се използват приложения, работещи с връзка за данни. Искате ли да излезете сега?</item>
+      <item quantity="one">Телефонът ще бъде в режим за обратно обаждане при спешност в продължение на <xliff:g id="COUNT_0">%s</xliff:g> минута. В този режим не могат да се използват приложения, работещи с връзка за данни. Искате ли да излезете сега?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Избраното действие не е налице в режима за обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на <xliff:g id="COUNT_1">%s</xliff:g> минути. Искате ли да излезете сега?</item>
+      <item quantity="one">Избраното действие не е налице в режима за обратно обаждане при спешност. Телефонът ще бъде в този режим в продължение на <xliff:g id="COUNT_0">%s</xliff:g> минута. Искате ли да излезете сега?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Избраното действие не е налично по време на спешно обаждане."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Излиза се от режим на спешно обратно обаждане"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Да"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Спешни обаждания"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Само спешни обаждания"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM карта, слот: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Достъпност"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Вход. обаждане през Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Обаждане през Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Докоснете отново за отваряне"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"При декодирането на съобщението възникна грешка."</string>
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
index 829ccbf..a403b2b 100644
--- a/res/values-bn-rBD/strings.xml
+++ b/res/values-bn-rBD/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ফোন অ্যাকাউন্টগুলি"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP অ্যাকাউন্ট যোগ করুন"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"অ্যাকাউন্ট সেটিংস কনফিগার করুন"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi কলিং"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi কলিং"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi কলিং ব্যবহার করবেন না"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"কল সহায়ক ব্যবহার করবেন না"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"একবারও না"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"কনফিগার করুন"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"বিল্ট-ইন সংযোগ পরিষেবা"</string>
     <string name="voicemail" msgid="8693759337917898954">"ভয়েসমেল"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ভয়েসমেল (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"নেটওয়ার্ক অপারেটর"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"জরুরী সম্প্রচার"</string>
@@ -111,7 +112,7 @@
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"বন্ধ আছে"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"আপনার অপারেটর আপনার ফোন ব্যস্ত থাকাকালীন কল ফরওয়ার্ডিংকে অক্ষম করা সমর্থন করে না৷"</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"যখন উত্তর দেয় না"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"যখন উত্তর করছে না তখনকার নম্বর"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"যখন নম্বর থেকে উত্তর আসছে না তখন"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> এ ফরওয়ার্ড করা হচ্ছে"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"বন্ধ আছে"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"আপনার অপারেটর আপনার ফোনে যখন উত্তর করা যাচ্ছে না তখন কল ফরওয়ার্ডিংকে অক্ষম করা সমর্থন করে না৷"</string>
@@ -200,11 +201,12 @@
     <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"ভয়েস এবং অন্যান্য যোগাযোগব্যবস্থা উন্নত করতে LTE পরিষেবা ব্যবহার করুন (প্রস্তাবিত)"</string>
     <string name="data_enabled" msgid="5972538663568715366">"ডেটা সক্ষম করা হয়েছে"</string>
     <string name="data_enable_summary" msgid="2382798156640007971">"ডেটা ব্যবহারের অনুমতি দিন"</string>
-    <string name="roaming" msgid="8871412572928323707">"ডেটা রোমিং"</string>
+    <string name="roaming" msgid="8871412572928323707">"রোমিং ডেটা"</string>
     <string name="roaming_enable" msgid="7331106985174381987">"রোমিংয়ে থাকাকালীন ডেটা পরিষেবাগুলির সাথে সংযোগ স্থাপন করুন"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"রোমিংয়ে থাকাকালীন ডেটা পরিষেবাগুলির সাথে সংযোগ স্থাপন করুন"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"আপনি ডেটা রোমিং বন্ধ করে আপনার হোম নেটওয়ার্কের বাইরে চলে আসায় আপনার ডেটা সংযোগ হারিয়ে ফেলেছেন৷"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"রোমিং-এ থাকাকালীন ডেটা ব্যবহারের অনুমতি দিতে চান? উল্লেখযোগ্য চার্জ প্রযোজ্য হতে পারে৷"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"আপনাকে উল্লেখযোগ্য পরিমাণে চার্জ করা হতে পারে৷"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ডেটা রোমিংয়ের অনুমতি দেবেন?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS বিকল্পগুলি"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA বিকল্পগুলি"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ডেটা ব্যবহার"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY মোড সেট করুন"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"স্বয়ংক্রিয় পুনরায় প্রচেষ্টা"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"স্বয়ংক্রিয়ভাবে পুনরায় চেষ্টা করার মোড সক্ষম করুন"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"একটি ভিডিও কল করার সময় TTY মোড পরিবর্তন করার অনুমতি দেওয়া হয় না"</string>
     <string name="menu_add" msgid="1882023737425114762">"পরিচিতি যোগ করুন"</string>
     <string name="menu_edit" msgid="7143003705504672374">"পরিচিতি সম্পাদনা করুন"</string>
     <string name="menu_delete" msgid="3977150783449642851">"পরিচিতি মুছুন"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"সিম কার্ড থেকে পড়া হচ্ছে…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"আপনার সিম কার্ডে কোনো পরিচিত নেই৷"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"আমদানি করার জন্য পরিচিতগুলি নির্বাচন করুন"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"সিম কার্ড থেকে পরিচিতিগুলি আমদানি করতে, প্রথমে বিমান মোড বন্ধ করুন৷"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM কার্ডটি থেকে পরিচিতিগুলি আমদানি করতে বিমান মোড বন্ধ করুন৷"</string>
     <string name="enable_pin" msgid="5422767284133234860">"সিম PIN সক্ষম/অক্ষম করুন"</string>
     <string name="change_pin" msgid="9174186126330785343">"সিম PIN পরিবর্তন করুন"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"সিম PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"কল নামিয়ে রাখুন"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"কল ব্যাক করুন"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"বার্তা"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"একটি কল করতে, প্রথমে বিমান মোড বন্ধ করুন৷"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"কল করতে বিমান মোড বন্ধ করুন৷"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"বিমান মোড বন্ধ করুন বা কল করতে কোনো ওয়্যারলেস নেটওয়ার্কে সংযোগ করুন৷"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"নেটওয়ার্কে নিবন্ধিত নয়৷"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"সেলুলার নেটওয়ার্ক উপলব্ধ নয়।"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"মোবাইল নেটওয়ার্ক উপলব্ধ নেই৷ একটি কল করতে কোনো ওয়্যারলেস নেটওয়ার্কে সংযোগ করুন৷"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"কোনো কল স্থাপন করতে, একটি বৈধ নম্বর লিখুন৷"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"কল করা যাবে না৷"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI ক্রম চালু হচ্ছে…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"কনফারেন্স কলগুলি করা যায়নি৷"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"কল প্রত্যাখ্যান কলা যাবে না৷"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"কল(গুলি) কাটা যাবে না৷"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"একটি কল করতে কোনো ওয়্যারলেস নেটওয়ার্কে সংযোগ করুন৷"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"জরুরি কল"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"রেডিও চালু করা হচ্ছে…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"কোন পরিষেবা নেই৷ আবার চেষ্টা করা হচ্ছে..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"জরুরি কলব্যাক মোডে প্রবেশ করা হয়েছে"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"জরুরি কলব্যাক মোড"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ডেটা সংযোগ অক্ষম করা হয়েছে"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> মিনিট পর্যন্ত কোনো ডেটা সংযোগ থাকবে না"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> মিনিট পর্যন্ত কোনো ডেটা সংযোগ থাকবে না"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ফোনটি <xliff:g id="COUNT">%s</xliff:g> মিনিট পর্যন্ত জরুরি কলব্যাক মোডে থাকবে৷ এই মোডে থাকাকালীন ডেটা সংযোগ ব্যবহার করে এমন কোনো অ্যাপ্লিকেশান ব্যবহার করা যাবে না৷ আপনি কি এখুনি এর থেকে বেরিয়ে যেতে চান?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ফোনটি <xliff:g id="COUNT">%s</xliff:g> মিনিট পর্যন্ত জরুরি কলব্যাক মোডে থাকবে৷ এই মোডে থাকাকালীন ডেটা সংযোগ ব্যবহার করে এমন কোনো অ্যাপ্লিকেশান ব্যবহার করা যাবে না৷ আপনি কি এখুনি এর থেকে বেরিয়ে যেতে চান?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"জরুরি কলব্যাক মোডে থাকাকালীন নির্বাচিত কার্যটি উপলব্ধ থাকবে না৷ ফোনটি <xliff:g id="COUNT">%s</xliff:g> মিনিট পর্যন্ত এই মোডে থাকবে৷ আপনি কি এখুনি এর থেকে বেরিয়ে যেতে চান?"</item>
-    <item quantity="other" msgid="6115622137771382224">"জরুরি কলব্যাক মোডে থাকাকালীন নির্বাচিত কার্যটি উপলব্ধ থাকবে না৷ ফোনটি <xliff:g id="COUNT">%s</xliff:g> মিনিট পর্যন্ত এই মোডে থাকবে৷ আপনি কি এখুনি এর থেকে বেরিয়ে যেতে চান?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> মিনিট পর্যন্ত কোনো ডেটা সংযোগ থাকবে না</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> মিনিট পর্যন্ত কোনো ডেটা সংযোগ থাকবে না</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য জরুরী কলব্যাক মোডে থাকবে৷ এই মোডে থাকাকালীন একটি ডেটা সংযোগ ব্যবহার করে কোনো অ্যাপ্লিকেশান ব্যবহার করা যাবে না৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
+      <item quantity="other">ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য জরুরী কলব্যাক মোডে থাকবে৷ এই মোডে থাকাকালীন একটি ডেটা সংযোগ ব্যবহার করে কোনো অ্যাপ্লিকেশান ব্যবহার করা যাবে না৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">জরুরী কলব্যাক মোডে থাকাকালীন নির্বাচিত অ্যাকশন উপলব্ধ থাকবে না৷ ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য এই মোডে থাকবে৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
+      <item quantity="other">জরুরী কলব্যাক মোডে থাকাকালীন নির্বাচিত অ্যাকশন উপলব্ধ থাকবে না৷ ফোনটি <xliff:g id="COUNT_1">%s</xliff:g> মিনিটের জন্য এই মোডে থাকবে৷ আপনি কি এখনই প্রস্থান করতে চান?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"কোনো জরুরি কলে থাকাকালীন নির্বাচিত ক্রিয়া উপলব্ধ নয়৷"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"জরুরি কলব্যাক মোড থেকে প্রস্থান করা হচ্ছে"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"হ্যাঁ"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"জরুরি কলগুলি"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"শুধুমাত্র জরুরী কলিং"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM কার্ড, স্লট: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"অ্যাক্সেসযোগ্যতা"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"আগত Wi-Fi কল"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi কল"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"খোলার জন্য আবার স্পর্শ করুন"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"বার্তাটি ডিকোড করার সময় একটি ত্রুটি ঘটেছে৷"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index ddb3d20..8f6eaea 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Comptes del telèfon"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Afegeix un compte SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configura les opcions del compte"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Trucades per Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Trucades per Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"No facis servir les trucades per Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"No facis servir l\'assistent de trucades"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Cap"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configura"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Servei de connexió incorporat"</string>
     <string name="voicemail" msgid="8693759337917898954">"Correu de veu"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Bústia de veu (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"CV:"</string>
     <string name="networks" msgid="8873030692174541976">"Operadors de xarxa"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Missatges d\'emergència"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Estableix connexió amb serveis de dades en itinerància"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Estableix connexió amb serveis de dades en itinerància"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Has perdut la connectivitat de dades, perquè has abandonat la xarxa domèstica i la itinerància de dades està desactivada."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Vols permetre l\'ús de dades en itinerància? És possible que hi hagi càrrecs importants."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"És possible que se\'t facturin càrrecs elevats."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Vols permetre la itinerància de dades?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opcions de GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opcions de CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Ús de dades"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Defineix el mode TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Reintent automàtic"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Activa el mode de reintent automàtic"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"No es pot canviar al mode de TTY durant una videotrucada"</string>
     <string name="menu_add" msgid="1882023737425114762">"Afegeix un contacte"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Edita el contacte"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Suprimeix el contacte"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"S\'està llegint de la targeta SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"No hi ha cap contacte a la targeta SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleccioneu contactes per importar-los"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Per importar contactes des de la targeta SIM, primer has de desactivar el mode d\'avió."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Per importar contactes de la targeta SIM, desactiva el mode d\'avió."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activa/Desactiva el PIN de la SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Canvia el PIN de la SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN de la SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Penja"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Torna la trucada"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Missatge"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Per fer una trucada, primer apagueu el mode d\'avió."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Per fer una trucada, desactiva el mode d\'avió."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Per fer una trucada, desactiva el mode d\'avió o connecta amb una xarxa sense fil."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"No registrat a la xarxa."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"La xarxa mòbil no està disponible."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"La xarxa mòbil no està disponible. Per fer una trucada, connecta amb una xarxa sense fil."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Per realitzar una trucada, introdueix un número vàlid."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"No es pot trucar."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"S\'està iniciant la seqüència MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"No es poden fer trucades de conferència."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"No es pot rebutjar la trucada."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"No es poden alliberar trucades."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Per fer una trucada, connecta amb una xarxa sense fil."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Trucada d\'emergència"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"S\'està activant el senyal mòbil..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"No hi ha servei. S\'està tornant a provar..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"S\'ha entrat al mode de crida de retorn d\'emergència"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Mode de crida de retorn d\'emergència"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Connexió de dades desactivada"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"No hi ha hagut connexió de dades durant <xliff:g id="COUNT">%s</xliff:g> minut"</item>
-    <item quantity="other" msgid="3122217344579273583">"No hi ha hagut connexió de dades durant <xliff:g id="COUNT">%s</xliff:g> minuts"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"El telèfon estarà en mode de devolució de trucades d\'emergència durant <xliff:g id="COUNT">%s</xliff:g> minut. Mentre estigui en aquest mode, no es podran utilitzar aplicacions que utilitzin una connexió de dades. En vols sortir ara?"</item>
-    <item quantity="other" msgid="8617116564023933114">"El telèfon estarà en mode de devolució de trucades d\'emergència durant <xliff:g id="COUNT">%s</xliff:g> minuts. Mentre estigui en aquest mode, no es podran utilitzar aplicacions que utilitzin una connexió de dades. En vols sortir ara?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> minuts. En vols sortir ara?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> minuts. En vols sortir ara?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">No hi ha hagut connexió de dades durant <xliff:g id="COUNT_1">%s</xliff:g> minuts</item>
+      <item quantity="one">No hi ha hagut connexió de dades durant <xliff:g id="COUNT_0">%s</xliff:g> minut</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">El telèfon estarà en mode de devolució de trucades d\'emergència durant <xliff:g id="COUNT_1">%s</xliff:g> minuts. Durant aquest temps, no es podrà utilitzar cap aplicació que faci servir una connexió de dades. Vols sortir ara?</item>
+      <item quantity="one">El telèfon estarà en mode de devolució de trucades d\'emergència durant <xliff:g id="COUNT_0">%s</xliff:g> minut. Durant aquest temps, no es podrà utilitzar cap aplicació que faci servir una connexió de dades. Vols sortir ara?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">L\'acció seleccionada no està disponible amb el mode de devolució de trucades d\'emergència. El telèfon tindrà aquest mode activat durant <xliff:g id="COUNT_1">%s</xliff:g> minuts. Vols sortir ara?</item>
+      <item quantity="one">L\'acció seleccionada no està disponible amb el mode de devolució de trucades d\'emergència. El telèfon tindrà aquest mode activat durant <xliff:g id="COUNT_0">%s</xliff:g> minut. Vols sortir ara?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"L\'acció seleccionada no està disponible en una trucada d\'emergència."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"S\'està sortint del mode de devolució de trucades d\'emergència"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Sí"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Trucades d\'emergència"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Només trucades d\'emergència"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Targeta SIM, ranura: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibilitat"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Trucada per Wi-Fi entrant"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Trucada per Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Toca-ho de nou per obrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"S\'ha produït un error en descodificar el missatge."</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index c0183d1..fd20da9 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonní účty"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Přidat účet SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurace nastavení účtu"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Volání Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Volání přes Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nepoužívat volání pomocí Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nepoužívat asistenta pro volání"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Žádný"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurovat"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Integrovaná služba připojení"</string>
     <string name="voicemail" msgid="8693759337917898954">"Hlasová schránka"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Hlasová schránka (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"HS:"</string>
     <string name="networks" msgid="8873030692174541976">"Síťoví operátoři"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Výstražné zprávy o výjimečné situaci"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Používat datové služby při roamingu"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Používat datové služby při roamingu"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Datové připojení bylo přerušeno, protože jste opustili domovskou síť a máte vypnutý datový roaming."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Povolit data při roamingu? Za službu mohou být účtovány vysoké poplatky."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Mohou vám být účtovány vysoké poplatky."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Povolit datový roaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Možnosti GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Možnosti CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Využití dat"</string>
@@ -329,18 +331,18 @@
     <string name="cdma_activate_device" msgid="3793805892364814518">"Aktivovat zařízení"</string>
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"Nastavit datovou službu"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"Nastavení operátora"</string>
-    <string name="fdn" msgid="7878832555095183202">"Povolená telefonní čísla"</string>
-    <string name="fdn_with_label" msgid="187084204115493366">"Povolená telefonní čísla (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn" msgid="7878832555095183202">"Povolená tel. čísla"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Povolená tel. čísla (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"Seznam povolených telefonních čísel"</string>
     <string name="fdn_list_with_label" msgid="7437232552210469217">"Seznam povolených telefonních čísel (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2156479741307463576">"Aktivace povolených telefonních čísel"</string>
-    <string name="fdn_enabled" msgid="5238109009915521240">"Funkce Povolená telefonní čísla je zapnuta"</string>
-    <string name="fdn_disabled" msgid="4700049736675368279">"Funkce Povolená telefonní čísla je vypnuta"</string>
-    <string name="enable_fdn" msgid="3740191529180493851">"Zapnout funkci Povolená telefonní čísla"</string>
-    <string name="disable_fdn" msgid="7944020890722540616">"Vypnout funkci Povolená telefonní čísla"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"Funkce Povolená tel. čísla je zapnuta"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"Funkce Povolená tel. čísla je vypnuta"</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"Zapnout funkci Povolená tel. čísla"</string>
+    <string name="disable_fdn" msgid="7944020890722540616">"Vypnout funkci Povolená tel. čísla"</string>
     <string name="change_pin2" msgid="2153563695382176676">"Změna kódu PIN2"</string>
-    <string name="enable_fdn_ok" msgid="7215588870329688132">"Vypnout funkci Povolená telefonní čísla"</string>
-    <string name="disable_fdn_ok" msgid="5727046928930740173">"Zapnout funkci Povolená telefonní čísla"</string>
+    <string name="enable_fdn_ok" msgid="7215588870329688132">"Vypnout funkci Povolená tel. čísla"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"Zapnout funkci Povolená tel. čísla"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"Umožňuje spravovat povolená telefonní čísla"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Umožňuje změnit kód PIN pro přístup k povoleným telefonním číslům"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Správa telefonního seznamu"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Nastavit režim TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automaticky zkusit znovu"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktivovat režim Automaticky zkusit znovu"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Během videohovoru změna režimu TTY není povolena"</string>
     <string name="menu_add" msgid="1882023737425114762">"Přidat kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Upravit kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Smazat kontakt"</string>
@@ -366,14 +369,14 @@
     <string name="delete_fdn_contact" msgid="6668958073074151717">"Smazat povolené telefonní číslo"</string>
     <string name="deleting_fdn_contact" msgid="5669163206349319969">"Mazání povoleného telefonního čísla..."</string>
     <string name="fdn_contact_deleted" msgid="7154162327112259569">"Povolené telefonní číslo bylo smazáno."</string>
-    <string name="pin2_invalid" msgid="5470854099230755944">"Funkce Povolená telefonní čísla nebyla aktualizována, protože jste zadali chybný kód PIN."</string>
-    <string name="fdn_invalid_number" msgid="1494755047900009147">"Funkce Povolená telefonní čísla nebyla aktualizována, protože číslo nesmí obsahovat více než 20 číslic."</string>
-    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"Povolená telefonní čísla (FDN) nebyla aktualizována. Kód PIN2 byl nesprávný nebo bylo telefonní číslo odmítnuto."</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"Funkce Povolená tel. čísla nebyla aktualizována, protože jste zadali chybný kód PIN."</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"Funkce Povolená tel. čísla nebyla aktualizována, protože číslo nesmí obsahovat více než 20 číslic."</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"Povolená tel. čísla (FDN) nebyla aktualizována. Kód PIN2 byl nesprávný nebo bylo telefonní číslo odmítnuto."</string>
     <string name="fdn_failed" msgid="540018079008319747">"Operace s čísly FDN se nezdařila."</string>
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Čtení ze SIM karty..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Na SIM kartě nejsou žádné kontakty."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Vybrat kontakty pro import"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Chcete-li importovat kontakty ze SIM karty, vypněte nejprve režim Letadlo."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Chcete-li importovat kontakty ze SIM karty, vypněte režim Letadlo."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Povolit nebo zakázat PIN SIM karty"</string>
     <string name="change_pin" msgid="9174186126330785343">"Změnit PIN SIM karty"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN SIM karty:"</string>
@@ -415,7 +418,7 @@
     <string name="card_title_incoming_call" msgid="7364539451234646909">"Příchozí hovor"</string>
     <string name="card_title_call_ended" msgid="5544730338889702298">"Hovor ukončen"</string>
     <string name="card_title_on_hold" msgid="821463117892339942">"Přidržený hovor"</string>
-    <string name="card_title_hanging_up" msgid="3999101620995182450">"Zavěšování"</string>
+    <string name="card_title_hanging_up" msgid="3999101620995182450">"Ukončování hovoru"</string>
     <string name="card_title_in_call" msgid="6346543933068225205">"Probíhá hovor"</string>
     <string name="notification_dialing" msgid="2107666444937350731">"Vytáčení"</string>
     <string name="notification_missedCallTitle" msgid="7554385905572364535">"Zmeškaný hovor"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Zavěsit"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Zavolat zpět"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Zpráva"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Chcete-li telefonovat, vypněte nejprve režim Letadlo."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Chcete-li provést hovor, vypněte režim Letadlo."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Chcete-li se připojit k bezdrátové síti a provést hovor, vypněte režim Letadlo."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Přihlášení k síti nebylo úspěšné."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilní síť je nedostupná."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilní síť není k dispozici. Chcete-li provést hovor, připojte se k bezdrátové síti."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Chcete-li uskutečnit hovor, zadejte platné telefonní číslo."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Hovor nelze uskutečnit."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Spouštění sekvence MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Hovory nelze spojit do konferenčního hovoru."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Hovor nelze odmítnout."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Hovor nelze ukončit."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Chcete-li provést hovor, připojte se k bezdrátové síti."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Tísňové volání"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Zapínání rádia..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Služba je nedostupná. Probíhá další pokus…"</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Byl aktivován režim tísňového zpětného volání"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Režim tísňového zpětného volání"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Datové spojení zakázáno"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Žádné datové připojení po dobu <xliff:g id="COUNT">%s</xliff:g> min"</item>
-    <item quantity="other" msgid="3122217344579273583">"Žádné datové připojení po dobu <xliff:g id="COUNT">%s</xliff:g> min"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon bude v režimu tísňového zpětného volání po dobu <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon bude v režimu tísňového zpětného volání po dobu <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Vybraná akce není v režimu tísňového zpětného volání dostupná. Telefon bude v tomto režimu po dobu <xliff:g id="COUNT">%s</xliff:g> minuty. Chcete aplikaci nyní ukončit?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Vybraná akce není v režimu tísňového zpětného volání dostupná. Telefon bude v tomto režimu po dobu <xliff:g id="COUNT">%s</xliff:g> minut. Chcete tento režim nyní ukončit?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="few"><xliff:g id="COUNT_1">%s</xliff:g> minuty nebude k dispozici datové připojení</item>
+      <item quantity="many"><xliff:g id="COUNT_1">%s</xliff:g> minuty nebude k dispozici datové připojení</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> minut nebude k dispozici datové připojení</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> minutu nebude k dispozici datové připojení</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="few">]Telefon bude <xliff:g id="COUNT_1">%s</xliff:g> minuty v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci nyní ukončit?</item>
+      <item quantity="many">]Telefon bude <xliff:g id="COUNT_1">%s</xliff:g> minuty v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci nyní ukončit?</item>
+      <item quantity="other">]Telefon bude <xliff:g id="COUNT_1">%s</xliff:g> minut v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci nyní ukončit?</item>
+      <item quantity="one">Telefon bude <xliff:g id="COUNT_0">%s</xliff:g> minutu v režimu zpětného tísňového volání. V tomto režimu nelze používat aplikace, které používají datové připojení. Chcete akci nyní ukončit?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="few">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcete akci nyní ukončit?</item>
+      <item quantity="many">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcete akci nyní ukončit?</item>
+      <item quantity="other">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_1">%s</xliff:g> minut. Chcete akci nyní ukončit?</item>
+      <item quantity="one">V režimu zpětného tísňového volání vybraná akce není k dispozici. Telefon v tomto režimu bude <xliff:g id="COUNT_0">%s</xliff:g> minutu. Chcete akci nyní ukončit?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Během tísňového volání není vybraná akce k dispozici."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Ukončení režimu tísňového zpětného volání"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ano"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Tísňová volání"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Pouze tísňová volání"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM karta, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Usnadnění"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Příchozí hovor přes Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Volání přes Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Otevřete opětovným klepnutím"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Při dekódování zprávy došlo k chybě."</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 1b8894f..72127b7 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonkonti"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Tilføj en SIP-konto"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurer kontoindstillinger"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi-opkald"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Opkald via Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Undlad at bruge Wi-Fi-opkald"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Undlad at bruge opkaldsassistent"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ingen"</string>
@@ -78,15 +78,16 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurer"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Indbygget forbindelsestjeneste"</string>
     <string name="voicemail" msgid="8693759337917898954">"Telefonsvarer"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Talebesked (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Netværksudbydere"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Nødudsendelser"</string>
     <string name="call_settings" msgid="6112441768261754562">"Indstillinger for opkald"</string>
     <string name="additional_gsm_call_settings" msgid="1391795981938800617">"Yderligere indstillinger"</string>
     <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"Yderligere indstillinger (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"Yderligere indstillinger for opkald er for kun GSM"</string>
+    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"Yderligere indstillinger for GSM-opkald"</string>
     <string name="additional_cdma_call_settings" msgid="8628958775721886909">"Yderligere CDMA-opkaldsindstillinger"</string>
-    <string name="sum_cdma_call_settings" msgid="284753265979035549">"Yderligere indstillinger for opkald er for kun CDMA"</string>
+    <string name="sum_cdma_call_settings" msgid="284753265979035549">"Yderligere indstillinger for CDMA-opkald"</string>
     <string name="labelNwService" msgid="4699970172021870983">"Indstillinger for netværkstjeneste"</string>
     <string name="labelCallerId" msgid="3888899447379069198">"Opkalds-id"</string>
     <string name="sum_loading_settings" msgid="1826692909391168620">"Indlæser indstillinger…"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Opret forbindelse til datatjenester under roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Opret forbindelse til datatjenester under roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Du har mistet dataforbindelsen, fordi du har forladt dit hjemmenetværk, og dataroaming er slået fra."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Vil du tillade dataforbrug under roaming? Dette kan medføre væsentlige gebyrer."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Du kan risikere at skulle betale høje gebyrer."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Vil du tillade dataroaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Indstillinger for GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Indstillinger for CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Databrug"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Angiv TTY-tilstand"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Prøv automatisk igen"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktivér automatisk gentagelsestilstand"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Det er ikke tilladt at ændre TTY-tilstanden under et videoopkald"</string>
     <string name="menu_add" msgid="1882023737425114762">"Tilføj kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Rediger kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Slet kontakt"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Læser fra SIM-kort ..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Der er ingen kontakter på dit SIM-kort."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Vælg kontakter, der skal importeres"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Du skal først slukke Flytilstand for at importere kontaktpersoner fra SIM-kortet."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Slå flytilstand fra for at importere kontaktpersoner fra SIM-kortet."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Aktiver/deaktiver pinkode til SIM-kort"</string>
     <string name="change_pin" msgid="9174186126330785343">"Skift pinkode til SIM-kort"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Pinkode til SIM-kort:"</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Læg på"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ring tilbage"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Besked"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Slå Flytilstand fra først for at foretage et opkald."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Slå flytilstand fra for at foretage et opkald."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Slå flytilstand fra, eller opret forbindelse til et trådløst netværk for at foretage et opkald."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ikke registreret på netværk."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilnetværket er ikke tilgængeligt."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilnetværk er ikke tilgængeligt. Opret forbindelse til et trådløst netværk for at foretage et opkald."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Indtast et gyldigt nummer for at foretage et opkald."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Kan ikke ringe op."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starter MMI-sekvens ..."</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Der kunne ikke oprettes mødeopkald."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Kan ikke afvise opkaldet."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Kan ikke frigive et eller flere opkald."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Opret forbindelse til et trådløst netværk for at foretage et opkald."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Nødopkald"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Tænder for radio ..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ingen tjeneste. Prøver igen..."</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Gik i nødtilbagekaldstilstand"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Nødtilbagekaldstilstand"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Dataforbindelsen er deaktiveret"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Ingen dataforbindelse i <xliff:g id="COUNT">%s</xliff:g> minut"</item>
-    <item quantity="other" msgid="3122217344579273583">"Ingen dataforbindelse i <xliff:g id="COUNT">%s</xliff:g> minutter"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefonen vil være i nødtilbagekaldstilstand i <xliff:g id="COUNT">%s</xliff:g> minut. Mens du er i denne tilstand kan ingen apps, der bruger en dataforbindelse, anvendes. Vil du afslutte nu?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefonen vil være i nødtilbagekaldstilstand i <xliff:g id="COUNT">%s</xliff:g> minutter. Mens du er i denne tilstand kan ingen applikationer, der bruger en dataforbindelse, anvendes. Vil du afslutte nu?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Den valgte handling er ikke tilgængelig i nødtilbagekaldstilstand. Telefonen vil være i denne tilstand i <xliff:g id="COUNT">%s</xliff:g> minut. Vil du afslutte nu?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Den valgte handling er ikke tilgængelig i nødtilbagekaldstilstand. Telefonen vil være i denne tilstand i <xliff:g id="COUNT">%s</xliff:g> minutter. Vil du afslutte nu?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Ingen dataforbindelse i <xliff:g id="COUNT_1">%s</xliff:g> minutter</item>
+      <item quantity="other">Ingen dataforbindelse i <xliff:g id="COUNT_1">%s</xliff:g> minutter</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Telefonen vil være i tilstanden Nødopkald i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Mens denne tilstand er aktiveret, kan du ikke bruge nogen applikationer, der kræver dataforbindelse. Vil du afslutte denne tilstand nu?</item>
+      <item quantity="other">Telefonen vil være i tilstanden Nødopkald i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Mens denne tilstand er aktiveret, kan du ikke bruge nogen applikationer, der kræver dataforbindelse. Vil du afslutte denne tilstand nu?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Den valgte handling er ikke tilgængelig i tilstanden Nødopkald. Telefonen vil være i denne tilstand i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Vil du afslutte denne tilstand nu?</item>
+      <item quantity="other">Den valgte handling er ikke tilgængelig i tilstanden Nødopkald. Telefonen vil være i denne tilstand i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Vil du afslutte denne tilstand nu?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Den valgte handling er ikke tilgængelig ved nødopkald"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Eksisterende nødtilbagekaldstilstand"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ja"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Nødopkald"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Kun nødopkald"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kortholder: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Hjælpefunktioner"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Indgående Wi-Fi-opkald"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi-opkald"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Tryk igen for at åbne"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Der opstod en fejl under afkodning af beskeden."</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index bb91d76..797e0ce 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonkonten"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-Konto hinzufügen"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Kontoeinstellungen konfigurieren"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"WLAN-Telefonie"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"WLAN-Telefonie"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Keine WLAN-Anrufe nutzen"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Keinen Anrufassistenten nutzen"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ohne"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurieren"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Integrierter Verbindungsdienst"</string>
     <string name="voicemail" msgid="8693759337917898954">"Mailbox"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Mailbox (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"MB:"</string>
     <string name="networks" msgid="8873030692174541976">"Mobilfunkanbieter"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Notfallbenachrichtigungen"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Bei Roaming mit Datendienst verbinden"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Bei Roaming mit Datendienst verbinden"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Die Datenverbindung wurde unterbrochen, weil Sie Ihr privates Netzwerk verlassen haben und Daten-Roaming nicht aktiviert ist."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Datennutzung bei Roaming zulassen? Es können hohe Gebühren anfallen."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Es können hohe Gebühren anfallen."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Daten-Roaming zulassen?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM-/UMTS-Optionen"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-Optionen"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Datenverbrauch"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY-Modus einstellen"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatische Wiederholung"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Modus für automatische Wiederholung aktivieren"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Die Änderung des TTY-Modus ist während eines Videoanrufs nicht zulässig."</string>
     <string name="menu_add" msgid="1882023737425114762">"Kontakt hinzufügen"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Kontakt bearbeiten"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Kontakt löschen"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM-Karte wird ausgelesen..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Keine Kontakte auf SIM-Karte"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Kontakte für Import auswählen"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Deaktivieren Sie zum Importieren der Kontakte von der SIM-Karte zunächst den Flugmodus."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Deaktivieren Sie den Flugmodus, um Kontakte von der SIM-Karte zu importieren."</string>
     <string name="enable_pin" msgid="5422767284133234860">"PIN-Abfrage für SIM-Karte aktivieren/deaktivieren"</string>
     <string name="change_pin" msgid="9174186126330785343">"PIN ändern"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN der SIM-Karte:"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Beenden"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Zurückrufen"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Nachricht"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Deaktivieren Sie zunächst den Flugmodus, um einen Anruf zu tätigen."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Deaktivieren Sie zum Telefonieren den Flugmodus."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Deaktivieren Sie zum Telefonieren den Flugmodus oder stellen Sie eine WLAN-Verbindung her."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nicht in Netzwerk registriert."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilfunknetz nicht verfügbar"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Es ist kein Mobilfunknetz verfügbar. Stellen Sie zum Telefonieren eine WLAN-Verbindung her."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Geben Sie eine gültige Nummer ein."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Anruf nicht möglich."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-Sequenz wird gestartet..."</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Keine Telefonkonferenz möglich."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Anruf kann nicht abgelehnt werden."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Anrufe können nicht freigegeben werden."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Stellen Sie zum Telefonieren eine WLAN-Verbindung her."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Notruf"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Mobilfunkverbindung wird aktiviert..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Kein Service. Erneuter Versuch..."</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Notfallrückrufmodus aktiviert"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Notfallrückrufmodus"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Datenverbindung deaktiviert"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> Minute lang keine Datenverbindung"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> Minuten lang keine Datenverbindung"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Das Telefon bleibt <xliff:g id="COUNT">%s</xliff:g> Minuten im Notfallrückrufmodus. In diesem Modus können keine Apps verwendet werden, die eine Datenverbindung erfordern. Möchten Sie den Vorgang jetzt beenden?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Das Telefon bleibt <xliff:g id="COUNT">%s</xliff:g> Minuten im Notfallrückrufmodus. In diesem Modus können keine Apps verwendet werden, die eine Datenverbindung erfordern. Möchten Sie den Vorgang jetzt beenden?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt <xliff:g id="COUNT">%s</xliff:g> Minuten in diesem Modus. Möchten Sie den Vorgang jetzt beenden?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Telefon bleibt <xliff:g id="COUNT">%s</xliff:g> Minuten in diesem Modus. Möchten Sie den Vorgang jetzt beenden?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> Minuten lang keine Datenverbindung</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> Minute lang keine Datenverbindung</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Das Smartphone wird <xliff:g id="COUNT_1">%s</xliff:g> Minuten lang in den Notfallrückrufmodus versetzt. In dieser Zeit können Apps mit Datenverbindung nicht genutzt werden. Möchten Sie den Vorgang jetzt abbrechen?</item>
+      <item quantity="one">Das Smartphone wird <xliff:g id="COUNT_0">%s</xliff:g> Minute lang in den Notfallrückrufmodus versetzt. In dieser Zeit können Apps mit Datenverbindung nicht genutzt werden. Möchten Sie den Vorgang jetzt abbrechen?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Smartphone ist <xliff:g id="COUNT_1">%s</xliff:g> Minuten lang in diesem Modus. Möchten Sie den Vorgang jetzt abbrechen?</item>
+      <item quantity="one">Die ausgewählte Aktion ist im Notfallrückrufmodus nicht verfügbar. Das Smartphone ist <xliff:g id="COUNT_0">%s</xliff:g> Minute lang in diesem Modus. Möchten Sie den Vorgang jetzt abbrechen?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Die ausgewählte Aktion ist während eines Notrufs nicht verfügbar."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Notfallrückrufmodus wird beendet..."</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ja"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Notrufe"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Nur Notrufe"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-Karte, Schacht: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Bedienungshilfen"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Eingehender WLAN-Anruf"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"WLAN-Anruf"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Zum Öffnen erneut berühren"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Beim Entschlüsseln der Nachricht ist ein Fehler aufgetreten."</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index ce4790e..9e1ad97 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Λογαριασμοί τηλεφώνου"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Προσθήκη λογαριασμού SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Διαμόρφωση ρυθμίσεων λογαριασμού"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Κλήση Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Κλήση Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Να μη χρησιμοποιηθεί η κλήση μέσω Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Να μη χρησιμοποιηθεί βοηθός κλήσης"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Κανένας"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Διαμόρφωση"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Ενσωματωμένη υπηρεσία σύνδεσης"</string>
     <string name="voicemail" msgid="8693759337917898954">"Αυτόματος τηλεφωνητής"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Αυτόματος τηλεφωνητής (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ΑΤ:"</string>
     <string name="networks" msgid="8873030692174541976">"Εταιρείες δικτύου"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Εκπομπές έκτακτης ανάγκης"</string>
@@ -97,7 +98,7 @@
     <string name="sum_cw_enabled" msgid="8083061901633671397">"Κατά τη διάρκεια μιας κλήσης, να ειδοποιούμαι για τις εισερχόμενες κλήσεις"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"Κατά τη διάρκεια μιας κλήσης, να ειδοποιούμαι για τις εισερχόμενες κλήσεις"</string>
     <string name="call_forwarding_settings" msgid="3378927671091537173">"Ρυθμίσεις προώθησης κλήσης"</string>
-    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Ρυθμίσεις προώθησης κλήσης (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Ρυθ. προώθ. κλήσης (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="2574386948026924737">"Προώθηση κλήσης"</string>
     <string name="labelCFU" msgid="8147177368148660600">"Προώθηση πάντα"</string>
     <string name="messageCFU" msgid="3560082430662923687">"Να γίνεται πάντα χρήση αυτού του αριθμού"</string>
@@ -122,14 +123,14 @@
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Η εταιρεία κινητής τηλεφωνίας δεν υποστηρίζει την απενεργοποίηση της προώθησης κλήσεων όταν το τηλέφωνό σας δεν έχει σήμα."</string>
     <string name="updating_title" msgid="6146755386174019046">"Ρυθμίσεις κλήσης"</string>
     <string name="call_settings_primary_user_only" msgid="5679923943740900965">"Οι ρυθμίσεις κλήσεων μπορούν να αλλάξουν μόνο από τον κύριο χρήστη."</string>
-    <string name="call_settings_with_label" msgid="89359812614544532">"Ρυθμίσεις κλήσεων (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"Ρυθ/σεις (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="7970259216988931777">"Σφάλμα ρυθμίσεων κλήσης"</string>
     <string name="reading_settings" msgid="1920291699287055284">"Ανάγνωση ρυθμίσεων…"</string>
     <string name="updating_settings" msgid="8171225533884883252">"Ενημέρωση ρυθμίσεων..."</string>
     <string name="reverting_settings" msgid="4752151682666912828">"Επαναφορά ρυθμίσεων…"</string>
     <string name="response_error" msgid="6674110501330139405">"Μη αναμενόμενη απάντηση από το δίκτυο."</string>
     <string name="exception_error" msgid="7027667130619518211">"Σφάλμα δικτύου ή κάρτας SIM."</string>
-    <string name="fdn_check_failure" msgid="18200614306525434">"Έχει ενεργοποιηθεί η ρύθμιση αριθμών κλήσης καθορισμένων αριθμών της εφαρμογής του τηλεφώνου σας. Γι αυτόν τον λόγο δεν λειτουργούν ορισμένες λειτουργίες που σχετίζονται με τις κλήσεις."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"Έχει ενεργοποιηθεί η προκαθορισμένων αριθμών κλήσης της εφαρμογής του τηλεφώνου σας. Γι αυτόν τον λόγο δεν λειτουργούν ορισμένες λειτουργίες που σχετίζονται με τις κλήσεις."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"Πριν προβάλετε αυτές τις ρυθμίσεις, ενεργοποιήστε τον πομπό."</string>
     <string name="close_dialog" msgid="2365884406356986917">"OK"</string>
     <string name="enable" msgid="7248657275000173526">"Ενεργοποίηση"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Σύνδεση στις υπηρεσίες δεδομένων κατά την περιαγωγή"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Χάσατε τη σύνδεση δεδομένων επειδή φύγατε από το οικείο δίκτυο έχοντας την περιαγωγή δεδομένων απενεργοποιημένη."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Να επιτρέπεται η χρήση δεδομένων κατά την περιαγωγή; Ενδέχεται να ισχύουν υψηλές χρεώσεις."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Ενδέχεται να επιβαρυνθείτε με σημαντικές χρεώσεις."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Να επιτρέπεται η περιαγωγή δεδομένων;"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Επιλογές GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Επιλογές CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Χρήση δεδομένων"</string>
@@ -329,19 +331,19 @@
     <string name="cdma_activate_device" msgid="3793805892364814518">"Ενεργοποίηση συσκευής"</string>
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"Ρύθμιση υπηρεσίας δεδομένων"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"Ρυθμ. εταιρ. κιν. τηλεφ."</string>
-    <string name="fdn" msgid="7878832555095183202">"Αριθμοί κλήσης καθορισμένων αριθμών"</string>
-    <string name="fdn_with_label" msgid="187084204115493366">"Προκαθορισμένοι αριθμοί κλήσης (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn" msgid="7878832555095183202">"Προκ/νοι αριθμοί κλήσης"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Προκ/νοι αριθμοί κλήσης (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"Λίστα FDN"</string>
     <string name="fdn_list_with_label" msgid="7437232552210469217">"Λίστα προκαθορισμένων αριθμών κλήσης (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2156479741307463576">"Ενεργοποίηση FDN"</string>
-    <string name="fdn_enabled" msgid="5238109009915521240">"Οι αριθμοί κλήσης καθορισμένων αριθμών είναι ενεργοποιημένοι"</string>
-    <string name="fdn_disabled" msgid="4700049736675368279">"Οι αριθμοί κλήσης καθορισμένων αριθμών είναι απενεργοποιημένοι"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"Οι αριθμοί προκαθορισμένων κλήσεων είναι ενεργοποιημένοι"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"Οι αριθμοί προκαθορισμένων κλήσεων είναι απενεργοποιημένοι"</string>
     <string name="enable_fdn" msgid="3740191529180493851">"Ενεργοποίηση FDN"</string>
     <string name="disable_fdn" msgid="7944020890722540616">"Απενεργοποίηση του FDN"</string>
     <string name="change_pin2" msgid="2153563695382176676">"Αλλαγή του αριθμού PIN2"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"Απενεργοποίηση του FDN"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"Ενεργοποίηση FDN"</string>
-    <string name="sum_fdn" msgid="1959399454900272878">"Διαχείριση αριθμών κλήσης καθορισμένων αριθμών"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"Διαχείριση προκαθορισμένων αριθμών κλήσης"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Αλλαγή αριθμού PIN για πρόσβαση FDN"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Διαχείριση λίστας αριθμών τηλεφώνου"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Απόρρητο φωνής"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Ορισμός λειτουργίας TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Αυτόματη επανάληψη"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Ενεργοποίηση λειτουργίας αυτόματης επανάληψης"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Δεν επιτρέπεται αλλαγή της λειτουργίας TTY κατά τη διάρκεια μιας βιντεοκλήσης"</string>
     <string name="menu_add" msgid="1882023737425114762">"Προσθήκη επαφής"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Επεξεργασία επαφής"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Διαγραφή επαφής"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Ανάγνωση από κάρτα SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Δεν υπάρχουν επαφές στην κάρτα SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Επιλέξτε επαφές για εισαγωγή"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Για την εισαγωγή επαφών από την κάρτα SIM, απενεργοποιήστε πρώτα τη λειτουργία πτήσης."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Απενεργοποιήστε τη λειτουργία πτήσης για να εισαγάγετε επαφές από την κάρτα SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Ενεργοποίηση/απενεργοποίηση αριθμού PIN της κάρτας SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Αλλαγή αριθμού PIN της κάρτας SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Αριθμός PIN της κάρτας SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Τερματισμός κλήσης"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Επανάκληση"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Μήνυμα"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Για να πραγματοποιήσετε μια κλήση, απενεργοποιήστε πρώτα τη λειτουργία πτήσης."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Απενεργοποιήστε τη λειτουργία κλήσης για να πραγματοποιήσετε μια κλήση."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Απενεργοποιήστε τη λειτουργία πτήσης ή συνδεθείτε σε ένα ασύρματο δίκτυο για να πραγματοποιήσετε μια κλήση."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Δεν έχετε εγγραφεί στο δίκτυο."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Το δίκτυο κινητής τηλεφωνίας δεν είναι διαθέσιμο. Συνδεθείτε σε ένα ασύρματο δίκτυο για να πραγματοποιήσετε μια κλήση."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Για να πραγματοποιήσετε κλήση, εισαγάγετε έναν έγκυρο αριθμό."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Δεν είναι δυνατή η κλήση."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Έναρξη ακολουθίας MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Αδύνατη η πραγματοποίηση κλήσεων συνδιάσκεψης."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Δεν είναι δυνατή η απόρριψη της κλήσης."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Δεν είναι δυνατή η πραγματοποίηση κλήσεων."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Συνδεθείτε σε ασύρματο δίκτυο για να πραγματοποιήσετε μια κλήση."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Κλήσεις επείγουσας ανάγκης"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ενεργοποίηση πομπού..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Δεν υπάρχει υπηρεσία. Νέα προσπάθεια…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Είσοδος σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Απενεργοποιήθηκε η σύνδεση δεδομένων"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Δεν θα υπάρχει σύνδεση δεδομένων για <xliff:g id="COUNT">%s</xliff:g> λεπτό"</item>
-    <item quantity="other" msgid="3122217344579273583">"Δεν θα υπάρχει σύνδεση δεδομένων για <xliff:g id="COUNT">%s</xliff:g> λεπτά"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Το τηλέφωνο θα βρίσκεται στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για <xliff:g id="COUNT">%s</xliff:g> λεπτό. Όσο βρίσκεται σε αυτήν τη λειτουργία, δεν θα μπορούν να χρησιμοποιηθούν εφαρμογές με σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;"</item>
-    <item quantity="other" msgid="8617116564023933114">"Το τηλέφωνο βρίσκεται στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης για <xliff:g id="COUNT">%s</xliff:g> λεπτά. Όσο βρίσκεται σε αυτήν τη λειτουργία, δεν θα μπορούν να χρησιμοποιηθούν εφαρμογές με σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη σε λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα βρίσκεται σε αυτήν τη λειτουργία για <xliff:g id="COUNT">%s</xliff:g> λεπτό. Θέλετε να εξέλθετε τώρα;"</item>
-    <item quantity="other" msgid="6115622137771382224">"Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη στη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης. Το τηλέφωνο θα βρίσκεται σε αυτήν τη λειτουργία για <xliff:g id="COUNT">%s</xliff:g> λεπτά. Θέλετε να εξέλθετε τώρα;"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Δεν θα υπάρχει σύνδεση δεδομένων για <xliff:g id="COUNT_1">%s</xliff:g> λεπτά</item>
+      <item quantity="one">Δεν θα υπάρχει σύνδεση δεδομένων για <xliff:g id="COUNT_0">%s</xliff:g> λεπτό</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Το τηλέφωνο θα βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\" για <xliff:g id="COUNT_1">%s</xliff:g> λεπτά. Σε αυτήν την κατάσταση, δεν είναι δυνατή η χρήση εφαρμογών που χρησιμοποιούν σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;</item>
+      <item quantity="one">Το τηλέφωνο θα βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\" για <xliff:g id="COUNT_0">%s</xliff:g> λεπτό. Σε αυτήν την κατάσταση, δεν είναι δυνατή η χρήση εφαρμογών που χρησιμοποιούν σύνδεση δεδομένων. Θέλετε να εξέλθετε τώρα;</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη όταν η συσκευή βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\". Το τηλέφωνο θα βρίσκεται σε αυτήν την κατάσταση για <xliff:g id="COUNT_1">%s</xliff:g> λεπτά. Θέλετε να εξέλθετε τώρα;</item>
+      <item quantity="one">Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη όταν η συσκευή βρίσκεται σε κατάσταση \"Επείγουσας επιστροφής κλήσης\". Το τηλέφωνο θα βρίσκεται σε αυτήν την κατάσταση για <xliff:g id="COUNT_0">%s</xliff:g> λεπτό. Θέλετε να εξέλθετε τώρα;</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Η επιλεγμένη ενέργεια δεν είναι διαθέσιμη κατά τη διάρκεια κλήσης επείγουσας ανάγκης."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Έξοδος από τη λειτουργία επιστροφής κλήσης έκτακτης ανάγκης"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ναι"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Κλήσεις έκτακτης ανάγκης"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Μόνο κλήσεις έκτακτης ανάγκης"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Κάρτα SIM, υποδοχή: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Προσβασιμότητα"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Εισερχ. κλήση μέσω Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Κλήση μέσω Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Αγγίξτε ξανά για άνοιγμα"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Παρουσιάστηκε κάποιο σφάλμα κατά την αποκωδικοποίηση του μηνύματος."</string>
 </resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
new file mode 100644
index 0000000..807c757
--- /dev/null
+++ b/res/values-en-rAU/arrays.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+     Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="preferred_network_mode_choices_world_mode">
+    <item msgid="3391522821603584785">"Global"</item>
+    <item msgid="6753774959494729275">"LTE/CDMA"</item>
+    <item msgid="8658695584186942227">"LTE/GSM/UMTS"</item>
+  </string-array>
+  <string-array name="preferred_network_mode_values_world_mode">
+    <item msgid="8390941159766263625">"10"</item>
+    <item msgid="6103348346295810336">"8"</item>
+    <item msgid="3494519853214024879">"9"</item>
+  </string-array>
+</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..24dc3ba
--- /dev/null
+++ b/res/values-en-rAU/strings.xml
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="phoneAppLabel" product="tablet" msgid="1107073389495104784">"Mobile Data"</string>
+    <string name="phoneAppLabel" product="default" msgid="906161039445636857">"Phone"</string>
+    <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"Emergency Dialler"</string>
+    <string name="phoneIconLabel" msgid="2331230813161304895">"Phone"</string>
+    <string name="fdnListLabel" msgid="8630418672279521003">"FDN list"</string>
+    <string name="unknown" msgid="6878797917991465859">"Unknown"</string>
+    <string name="private_num" msgid="6713286113000232309">"Private number"</string>
+    <string name="payphone" msgid="4793877574636445118">"Payphone"</string>
+    <string name="onHold" msgid="9035493194749959955">"On hold"</string>
+    <string name="mmiStarted" msgid="6347869857061147003">"MMI code started"</string>
+    <string name="ussdRunning" msgid="485588686340541690">"USSD code running…"</string>
+    <string name="mmiCancelled" msgid="2771923949751842276">"MMI code cancelled"</string>
+    <string name="cancel" msgid="5044513931633602634">"Cancel"</string>
+    <string name="enter_input" msgid="1810529547726803893">"USSD message must be between <xliff:g id="MIN_LEN">%d</xliff:g> and <xliff:g id="MAX_LEN">%d</xliff:g> characters. Please try again."</string>
+    <string name="manageConferenceLabel" msgid="4691922394301969053">"Manage conference call"</string>
+    <string name="ok" msgid="3811371167865772377">"OK"</string>
+    <string name="audio_mode_speaker" msgid="27649582100085266">"Speaker"</string>
+    <string name="audio_mode_earpiece" msgid="4156527186373869107">"Handset earpiece"</string>
+    <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Wired headset"</string>
+    <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+    <string name="wait_prompt_str" msgid="7601815427707856238">"Send the following tones?\n"</string>
+    <string name="pause_prompt_str" msgid="1789964702154314806">"Sending tones\n"</string>
+    <string name="send_button" msgid="4106860097497818751">"Send"</string>
+    <string name="pause_prompt_yes" msgid="3564467212025151797">"Yes"</string>
+    <string name="pause_prompt_no" msgid="6686238803236884877">"No"</string>
+    <string name="wild_prompt_str" msgid="5543521676355533577">"Replace wild character with"</string>
+    <string name="no_vm_number" msgid="4164780423805688336">"Missing voicemail number"</string>
+    <string name="no_vm_number_msg" msgid="1300729501030053828">"No voicemail number is stored on the SIM card."</string>
+    <string name="add_vm_number_str" msgid="4676479471644687453">"Add number"</string>
+    <string name="puk_unlocked" msgid="2284912838477558454">"Your SIM card has been unblocked. Your phone is unlocking…"</string>
+    <string name="label_ndp" msgid="780479633159517250">"SIM network unlock PIN"</string>
+    <string name="sim_ndp_unlock_text" msgid="683628237760543009">"Unlock"</string>
+    <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"Dismiss"</string>
+    <string name="requesting_unlock" msgid="6412629401033249351">"Requesting network unlock…"</string>
+    <string name="unlock_failed" msgid="6490531697031504225">"Network unlock request unsuccessful."</string>
+    <string name="unlock_success" msgid="6770085622238180152">"Network unlock successful."</string>
+    <string name="mobile_network_settings_not_available" msgid="3831911315358856062">"Mobile network settings are not available for this user"</string>
+    <string name="labelGSMMore" msgid="5930842194056092106">"GSM call settings"</string>
+    <string name="labelCDMAMore" msgid="1630676740428229339">"CDMA call settings"</string>
+    <string name="apn_settings" msgid="9043423184895642077">"Access point names"</string>
+    <string name="settings_label" msgid="3876743539816984008">"Network settings"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"Calling accounts"</string>
+    <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"Make calls with"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"Make SIP calls with"</string>
+    <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"Ask first"</string>
+    <string name="phone_accounts_settings_header" msgid="4141710640883261094">"Settings"</string>
+    <string name="phone_accounts_choose_accounts" msgid="5232948804226424002">"Choose accounts"</string>
+    <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Phone accounts"</string>
+    <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Add SIP account"</string>
+    <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configure account settings"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi Calling"</string>
+    <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Do not use Wi-Fi calling"</string>
+    <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Do not use call assistant"</string>
+    <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"None"</string>
+    <string name="wifi_calling_call_assistant" msgid="229102032881680320">"Call assistant"</string>
+    <string name="wifi_calling_use_call_assistant" msgid="8460024827012666199">"Use call assistant"</string>
+    <string name="wifi_calling_select_call_assistant" msgid="9296558058772293">"Choose call assistant"</string>
+    <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"Manage the networks used for calls with"</string>
+    <string name="wifi_calling_use_call_assistant_summary" msgid="6599987137133339698">"Let apps or services manage networks used for calls"</string>
+    <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configure"</string>
+    <string name="connection_service_default_label" msgid="1498481943805913754">"Built-in connection service"</string>
+    <string name="voicemail" msgid="8693759337917898954">"Voicemail"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
+    <string name="networks" msgid="8873030692174541976">"Network operators"</string>
+    <string name="cell_broadcast_settings" msgid="8740238216690502563">"Emergency broadcasts"</string>
+    <string name="call_settings" msgid="6112441768261754562">"Call settings"</string>
+    <string name="additional_gsm_call_settings" msgid="1391795981938800617">"Additional settings"</string>
+    <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"Additional settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"Additional GSM-only call settings"</string>
+    <string name="additional_cdma_call_settings" msgid="8628958775721886909">"Additional CDMA call settings"</string>
+    <string name="sum_cdma_call_settings" msgid="284753265979035549">"Additional CDMA-only call settings"</string>
+    <string name="labelNwService" msgid="4699970172021870983">"Network service settings"</string>
+    <string name="labelCallerId" msgid="3888899447379069198">"Caller ID"</string>
+    <string name="sum_loading_settings" msgid="1826692909391168620">"Loading settings…"</string>
+    <string name="sum_hide_caller_id" msgid="1071407020290873782">"Number hidden in outgoing calls"</string>
+    <string name="sum_show_caller_id" msgid="6768534125447290401">"Number displayed in outgoing calls"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"Use default operator settings to display my number in outgoing calls"</string>
+    <string name="labelCW" msgid="6120513814915920200">"Call waiting"</string>
+    <string name="sum_cw_enabled" msgid="8083061901633671397">"During a call, notify me of incoming calls"</string>
+    <string name="sum_cw_disabled" msgid="3648693907300104575">"During a call, notify me of incoming calls"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"Call-forwarding settings"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Call forwarding settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="labelCF" msgid="2574386948026924737">"Call forwarding"</string>
+    <string name="labelCFU" msgid="8147177368148660600">"Always forward"</string>
+    <string name="messageCFU" msgid="3560082430662923687">"Always use this number"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"Forwarding all calls"</string>
+    <string name="sum_cfu_enabled" msgid="2450052502198827927">"Forwarding all calls to <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"Number is unavailable"</string>
+    <string name="sum_cfu_disabled" msgid="8384177689501334080">"Off"</string>
+    <string name="labelCFB" msgid="6139853033106283172">"When busy"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"Number when busy"</string>
+    <string name="sum_cfb_enabled" msgid="5984198104833116690">"Forwarding to <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfb_disabled" msgid="4913145177320506827">"Off"</string>
+    <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Your operator doesn\'t support disabling call forwarding when your phone is busy."</string>
+    <string name="labelCFNRy" msgid="1736067178393744351">"When unanswered"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Number when unanswered"</string>
+    <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Forwarding to <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Off"</string>
+    <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Your operator doesn\'t support disabling call forwarding when your phone doesn\'t answer."</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"When unreachable"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Number when unreachable"</string>
+    <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Forwarding to <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Disabled"</string>
+    <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Your operator doesn\'t support disabling call forwarding when your phone is unreachable."</string>
+    <string name="updating_title" msgid="6146755386174019046">"Call settings"</string>
+    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"Call settings can only be changed by the primary user."</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"Call settings (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="error_updating_title" msgid="7970259216988931777">"Call settings error"</string>
+    <string name="reading_settings" msgid="1920291699287055284">"Reading settings…"</string>
+    <string name="updating_settings" msgid="8171225533884883252">"Updating settings…"</string>
+    <string name="reverting_settings" msgid="4752151682666912828">"Reverting settings…"</string>
+    <string name="response_error" msgid="6674110501330139405">"Unexpected response from network."</string>
+    <string name="exception_error" msgid="7027667130619518211">"Network or SIM card error."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"Your Phone app\'s fixed dialling numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
+    <string name="radio_off_error" msgid="2304459933248513376">"Please turn on the radio before viewing these settings."</string>
+    <string name="close_dialog" msgid="2365884406356986917">"OK"</string>
+    <string name="enable" msgid="7248657275000173526">"Turn on"</string>
+    <string name="disable" msgid="4678348128118573672">"Turn off"</string>
+    <string name="change_num" msgid="239476305819844391">"Update"</string>
+  <string-array name="clir_display_values">
+    <item msgid="5560134294467334594">"Network default"</item>
+    <item msgid="7876195870037833661">"Hide number"</item>
+    <item msgid="1108394741608734023">"Show number"</item>
+  </string-array>
+    <string name="vm_changed" msgid="380744030726254139">"Voicemail number changed."</string>
+    <string name="vm_change_failed" msgid="3352934863246208918">"Couldn\'t change the voicemail number.\nContact your operator if this problem persists."</string>
+    <string name="fw_change_failed" msgid="5298103228470214665">"Couldn\'t change the forwarding number.\nContact your operator if this problem persists."</string>
+    <string name="fw_get_in_vm_failed" msgid="8862896836093833973">"Couldn\'t retrieve and save current forwarding number settings.\nSwitch to the new provider anyway?"</string>
+    <string name="no_change" msgid="3186040086622435212">"No changes were made."</string>
+    <string name="sum_voicemail_choose_provider" msgid="59911196126278922">"Choose voicemail service"</string>
+    <string name="voicemail_default" msgid="2001233554889016880">"Your operator"</string>
+    <string name="mobile_networks" msgid="2843854043339307375">"Mobile network settings"</string>
+    <string name="label_available" msgid="1181658289009300430">"Available networks"</string>
+    <string name="load_networks_progress" msgid="5230707536168902952">"Searching…"</string>
+    <string name="empty_networks_list" msgid="4249426905018815316">"No networks found."</string>
+    <string name="search_networks" msgid="1601136049300882441">"Search networks"</string>
+    <string name="network_query_error" msgid="6828516148953325006">"Error while searching for networks."</string>
+    <string name="register_on_network" msgid="9055203954040805084">"Registering on <xliff:g id="NETWORK">%s</xliff:g>…"</string>
+    <string name="not_allowed" msgid="5613353860205691579">"Your SIM card doesn\'t allow a connection to this network."</string>
+    <string name="connect_later" msgid="2308119155752343975">"Can\'t connect to this network at the moment. Try again later."</string>
+    <string name="registration_done" msgid="495135664535876612">"Registered on network."</string>
+    <string name="sum_carrier_select" msgid="3494252551249882718">"Choose a network operator"</string>
+    <string name="sum_search_networks" msgid="2921092249873272715">"Search for all available networks"</string>
+    <string name="select_automatically" msgid="5628402124471810174">"Choose automatically"</string>
+    <string name="sum_select_automatically" msgid="5614890115123292400">"Automatically choose preferred network"</string>
+    <string name="register_automatically" msgid="6017849844573519637">"Automatic registration..."</string>
+    <string name="preferred_network_mode_title" msgid="2336624679902659306">"Preferred network type"</string>
+    <string name="preferred_network_mode_summary" msgid="1434820673166126609">"Change the network operating mode"</string>
+    <string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Preferred network type"</string>
+    <string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Preferred network mode: WCDMA preferred"</string>
+    <string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Preferred network mode: GSM only"</string>
+    <string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Preferred network mode: WCDMA only"</string>
+    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="3161255745326408587">"Preferred network mode: GSM/WCDMA"</string>
+    <string name="preferred_network_mode_cdma_summary" msgid="3175690187294334241">"Preferred network mode: CDMA"</string>
+    <string name="preferred_network_mode_cdma_evdo_summary" msgid="8332063064712726618">"Preferred network mode: CDMA/EvDo"</string>
+    <string name="preferred_network_mode_cdma_only_summary" msgid="1309770926198634150">"Preferred network mode: CDMA only"</string>
+    <string name="preferred_network_mode_evdo_only_summary" msgid="8472220691721269155">"Preferred network mode: EvDo only"</string>
+    <string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary" msgid="4726682079415227330">"Preferred network mode: CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_lte_summary" msgid="574752287596469136">"Preferred network mode: LTE"</string>
+    <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="8455358514068283935">"Preferred network mode: GSM/WCDMA/LTE"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="228702246343742853">"Preferred network mode: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_global_summary" msgid="1633134285545730364">"Preferred network mode: Global"</string>
+    <string name="preferred_network_mode_lte_wcdma_summary" msgid="9180775701594742750">"Preferred network mode: LTE/WCDMA"</string>
+    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="633315028976225026">"Preferred network mode: LTE/GSM/UMTS"</string>
+    <string name="preferred_network_mode_lte_cdma_summary" msgid="3722647806454528426">"Preferred network mode: LTE/CDMA"</string>
+  <string-array name="preferred_network_mode_choices">
+    <item msgid="7886739962255042385">"LTE/WCDMA"</item>
+    <item msgid="577652050447385699">"LTE"</item>
+    <item msgid="6813597571293773656">"Global"</item>
+    <item msgid="127064712132619032">"GSM/WCDMA/LTE"</item>
+    <item msgid="1126767511633425977">"CDMA + LTE/EvDo"</item>
+    <item msgid="6389676313771670660">"CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="545430093607698090">"EvDo only"</item>
+    <item msgid="1508557726283094448">"CDMA w/o EvDo"</item>
+    <item msgid="4341433122263841224">"CDMA/EvDo auto"</item>
+    <item msgid="5958053792390386668">"GSM/WCDMA auto"</item>
+    <item msgid="7913148405605373434">"WCDMA only"</item>
+    <item msgid="1524224863879435516">"GSM only"</item>
+    <item msgid="3817924849415716259">"GSM/WCDMA preferred"</item>
+  </string-array>
+    <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"Enhanced 4G LTE Mode"</string>
+    <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"Use LTE services to improve voice and other communications (recommended)"</string>
+    <string name="data_enabled" msgid="5972538663568715366">"Data enabled"</string>
+    <string name="data_enable_summary" msgid="2382798156640007971">"Allow data usage"</string>
+    <string name="roaming" msgid="8871412572928323707">"Data roaming"</string>
+    <string name="roaming_enable" msgid="7331106985174381987">"Connect to data services when roaming"</string>
+    <string name="roaming_disable" msgid="1843417228755568110">"Connect to data services when roaming"</string>
+    <string name="roaming_reenable_message" msgid="8913735676127858115">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"You may incur significant charges."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Allow data roaming?"</string>
+    <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS Options"</string>
+    <string name="cdma_options" msgid="4016822858172249884">"CDMA Options"</string>
+    <string name="throttle_data_usage" msgid="3715677828160555808">"Data usage"</string>
+    <string name="throttle_current_usage" msgid="8762280193043815361">"Data used in current period"</string>
+    <string name="throttle_time_frame" msgid="1915198770363734685">"Data usage period"</string>
+    <string name="throttle_rate" msgid="4710388992676803508">"Data rate policy"</string>
+    <string name="throttle_help" msgid="243651091785169900">"Learn more"</string>
+    <string name="throttle_status_subtext" msgid="1657318943142085170">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) of <xliff:g id="USED_2">%3$s</xliff:g> period maximum\nNext period starts in <xliff:g id="USED_3">%4$d</xliff:g> days (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
+    <string name="throttle_data_usage_subtext" msgid="6029276011123694701">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) of <xliff:g id="USED_2">%3$s</xliff:g> period maximum"</string>
+    <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"<xliff:g id="USED_0">%1$s</xliff:g> maximum exceeded\nData rate reduced to <xliff:g id="USED_1">%2$d</xliff:g> Kb/s"</string>
+    <string name="throttle_time_frame_subtext" msgid="7732763021560399960">"<xliff:g id="USED_0">%1$d</xliff:g>٪ of cycle elapsed\nNext period starts in <xliff:g id="USED_1">%2$d</xliff:g> days (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
+    <string name="throttle_rate_subtext" msgid="2149102656120726855">"Data rate reduced to <xliff:g id="USED">%1$d</xliff:g> Kb/s if data usage limit is exceeded"</string>
+    <string name="throttle_help_subtext" msgid="3633091498168446044">"More information about your operator\'s mobile network data use policy"</string>
+    <string name="cell_broadcast_sms" msgid="5584192824053625842">"Mobile Broadcast SMS"</string>
+    <string name="enable_disable_cell_bc_sms" msgid="4851147873691392255">"Mobile Broadcast SMS"</string>
+    <string name="cell_bc_sms_enable" msgid="6441688565738921084">"Mobile Broadcast SMS enabled"</string>
+    <string name="cell_bc_sms_disable" msgid="3398365088309408749">"Mobile Broadcast SMS disabled"</string>
+    <string name="cb_sms_settings" msgid="651715019785107312">"Mobile Broadcast SMS settings"</string>
+    <string name="enable_disable_emergency_broadcast" msgid="2157014609041245335">"Emergency Broadcast"</string>
+    <string name="emergency_broadcast_enable" msgid="2645980025414010211">"Emergency Broadcast enabled"</string>
+    <string name="emergency_broadcast_disable" msgid="3665199821267569426">"Emergency Broadcast disabled"</string>
+    <string name="enable_disable_administrative" msgid="6501582322182059412">"Administrative"</string>
+    <string name="administrative_enable" msgid="1750086122962032235">"Administrative enabled"</string>
+    <string name="administrative_disable" msgid="8433273857248698539">"Administrative disabled"</string>
+    <string name="enable_disable_maintenance" msgid="1819693083025106678">"Maintenance"</string>
+    <string name="maintenance_enable" msgid="8566636458770971189">"Maintenance enabled"</string>
+    <string name="maintenance_disable" msgid="7340189100885066077">"Maintenance disabled"</string>
+    <string name="general_news_settings" msgid="4968779723948432978">"General News"</string>
+    <string name="bf_news_settings" msgid="3935593091894685267">"Business and Financial News"</string>
+    <string name="sports_news_settings" msgid="7649399631270052835">"Sports News"</string>
+    <string name="entertainment_news_settings" msgid="5051153952959405035">"Entertainment News"</string>
+    <string name="enable_disable_local" msgid="7890281063123416120">"Local"</string>
+    <string name="local_enable" msgid="6370463247609136359">"Local news enabled"</string>
+    <string name="local_disable" msgid="4405691986943795798">"Local news disabled"</string>
+    <string name="enable_disable_regional" msgid="4905652414535565872">"Regional"</string>
+    <string name="regional_enable" msgid="4434680415437834759">"Regional news enabled"</string>
+    <string name="regional_disable" msgid="5359325527213850077">"Regional news disabled"</string>
+    <string name="enable_disable_national" msgid="236278090206880734">"National"</string>
+    <string name="national_enable" msgid="1172443648912246952">"National news enabled"</string>
+    <string name="national_disable" msgid="326018148178601166">"National news disabled"</string>
+    <string name="enable_disable_international" msgid="7535348799604565592">"International"</string>
+    <string name="international_enable" msgid="5855356769925044927">"International news enabled"</string>
+    <string name="international_disable" msgid="2850648591041088931">"International news disabled"</string>
+    <string name="list_language_title" msgid="2841683501919760043">"Language"</string>
+    <string name="list_language_summary" msgid="8109546531071241601">"Select the news language"</string>
+  <string-array name="list_language_entries">
+    <item msgid="6137851079727305485">"English"</item>
+    <item msgid="1151988412809572526">"French"</item>
+    <item msgid="577840534704312665">"Spanish"</item>
+    <item msgid="8385712091143148180">"Japanese"</item>
+    <item msgid="1858401628368130638">"Korean"</item>
+    <item msgid="1933212028684529632">"Chinese"</item>
+    <item msgid="1908428006803639064">"Hebrew"</item>
+  </string-array>
+  <string-array name="list_language_values">
+    <item msgid="1804908636436467150">"1"</item>
+    <item msgid="289708030346890334">"2"</item>
+    <item msgid="1121469729692402684">"3"</item>
+    <item msgid="2614093115912897722">"4"</item>
+    <item msgid="2411164639857960614">"5"</item>
+    <item msgid="5884448729274543324">"6"</item>
+    <item msgid="5511864807618312598">"7"</item>
+  </string-array>
+    <string name="list_language_dtitle" msgid="5442908726538951934">"Languages"</string>
+    <string name="enable_disable_local_weather" msgid="986967454867219114">"Local Weather"</string>
+    <string name="local_weather_enable" msgid="6199315114382448922">"Local Weather enabled"</string>
+    <string name="local_weather_disable" msgid="2510158089142626480">"Local Weather disabled"</string>
+    <string name="enable_disable_atr" msgid="8339572391278872343">"Area Traffic Reports"</string>
+    <string name="atr_enable" msgid="5541757457789181799">"Area Traffic Reports enabled"</string>
+    <string name="atr_disable" msgid="7085558154727596455">"Area Traffic Reports disabled"</string>
+    <string name="enable_disable_lafs" msgid="668189073721277199">"Local Airport Flight Schedules"</string>
+    <string name="lafs_enable" msgid="2791978667205137052">"Local Airport Flight Schedules enabled"</string>
+    <string name="lafs_disable" msgid="2391212397725495350">"Local Airport Flight Schedules disabled"</string>
+    <string name="enable_disable_restaurants" msgid="6240381945336814024">"Restaurants"</string>
+    <string name="restaurants_enable" msgid="5137657479469118847">"Restaurants enabled"</string>
+    <string name="restaurants_disable" msgid="3678480270938424092">"Restaurants disabled"</string>
+    <string name="enable_disable_lodgings" msgid="1822029172658551202">"Lodgings"</string>
+    <string name="lodgings_enable" msgid="3230042508992850322">"Lodgings enabled"</string>
+    <string name="lodgings_disable" msgid="3387879742320682391">"Lodgings disabled"</string>
+    <string name="enable_disable_retail_directory" msgid="1357809784475660303">"Retail Directory"</string>
+    <string name="retail_directory_enable" msgid="3280626290436111496">"Retail Directory enabled"</string>
+    <string name="retail_directory_disable" msgid="6479739816662879027">"Retail Directory disabled"</string>
+    <string name="enable_disable_advertisements" msgid="5999495926176182128">"Advertisements"</string>
+    <string name="advertisements_enable" msgid="2050305021264683786">"Advertisements enabled"</string>
+    <string name="advertisements_disable" msgid="8350985908788707935">"Advertisements disabled"</string>
+    <string name="enable_disable_stock_quotes" msgid="6397810445293533603">"Share Quotes"</string>
+    <string name="stock_quotes_enable" msgid="4384802470887170543">"Share Quotes enabled"</string>
+    <string name="stock_quotes_disable" msgid="4781450084565594998">"Share Quotes disabled"</string>
+    <string name="enable_disable_eo" msgid="4863043263443942494">"Employment Opportunities"</string>
+    <string name="eo_enable" msgid="8623559062015685813">"Employment Opportunities enabled"</string>
+    <string name="eo_disable" msgid="3863812478090907609">"Employment Opportunities disabled"</string>
+    <string name="enable_disable_mhh" msgid="908214593528968522">"Medical, Health and Hospital"</string>
+    <string name="mhh_enable" msgid="5544500632306446815">"Medical, Health and Hospital enabled"</string>
+    <string name="mhh_disable" msgid="8998210550117117437">"Medical, Health and Hospital disabled"</string>
+    <string name="enable_disable_technology_news" msgid="3517184627114999149">"Technology News"</string>
+    <string name="technology_news_enable" msgid="7995209394210455181">"Technology News enabled"</string>
+    <string name="technology_news_disable" msgid="5483490380561851946">"Technology News disabled"</string>
+    <string name="enable_disable_multi_category" msgid="626771003122899280">"Multi-category"</string>
+    <string name="multi_category_enable" msgid="1179299804641721768">"Multi-category enabled"</string>
+    <string name="multi_category_disable" msgid="880104702904139505">"Multi-category disabled"</string>
+    <string name="network_lte" msgid="7702681952521375754">"LTE (recommended)"</string>
+    <string name="network_4G" msgid="2723512640529983138">"4G (recommended)"</string>
+    <string name="network_global" msgid="1323190488685355309">"Global"</string>
+    <string name="cdma_system_select_title" msgid="5757657769327732833">"System select"</string>
+    <string name="cdma_system_select_summary" msgid="60460043745797517">"Change the CDMA roaming mode"</string>
+    <string name="cdma_system_select_dialogtitle" msgid="6083355415165359075">"System select"</string>
+  <string-array name="cdma_system_select_choices">
+    <item msgid="176474317493999285">"Home only"</item>
+    <item msgid="1205664026446156265">"Automatic"</item>
+  </string-array>
+    <string name="cdma_subscription_title" msgid="1162564010076763284">"CDMA subscription"</string>
+    <string name="cdma_subscription_summary" msgid="2530890766115781140">"Change between RUIM/SIM and NV"</string>
+    <string name="cdma_subscription_dialogtitle" msgid="2699527950523333110">"subscription"</string>
+  <string-array name="cdma_subscription_choices">
+    <item msgid="2258014151300708431">"RUIM/SIM"</item>
+    <item msgid="5127722015571873880">"NV"</item>
+  </string-array>
+  <string-array name="cdma_subscription_values">
+    <item msgid="7494167883478914080">"0"</item>
+    <item msgid="6043847456049107742">"1"</item>
+  </string-array>
+    <string name="cdma_activate_device" msgid="3793805892364814518">"Activate device"</string>
+    <string name="cdma_lte_data_service" msgid="4255018217292548962">"Set up data service"</string>
+    <string name="carrier_settings_title" msgid="9028166176523012300">"Provider settings"</string>
+    <string name="fdn" msgid="7878832555095183202">"Fixed dialling numbers"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Fixed dialling numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="manage_fdn_list" msgid="8777755791892122369">"FDN list"</string>
+    <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN list (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2156479741307463576">"FDN activation"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"Fixed dialling numbers are enabled"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"Fixed dialling numbers are disabled"</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"Enable FDN"</string>
+    <string name="disable_fdn" msgid="7944020890722540616">"Disable FDN"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"Change PIN2"</string>
+    <string name="enable_fdn_ok" msgid="7215588870329688132">"Disable FDN"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"Enable FDN"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"Manage fixed dialling numbers"</string>
+    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Change PIN for FDN access"</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Manage phone number list"</string>
+    <string name="voice_privacy" msgid="3776841382844614716">"Voice privacy"</string>
+    <string name="voice_privacy_summary" msgid="3159383389833516214">"Enable enhanced privacy mode"</string>
+    <string name="tty_mode_option_title" msgid="9033098925144434669">"TTY mode"</string>
+    <string name="tty_mode_option_summary" msgid="1073835131534808732">"Set TTY mode"</string>
+    <string name="auto_retry_mode_title" msgid="4073265511427813322">"Auto-retry"</string>
+    <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Enable Auto-retry mode"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY Mode change is not allowed during a video call"</string>
+    <string name="menu_add" msgid="1882023737425114762">"Add contact"</string>
+    <string name="menu_edit" msgid="7143003705504672374">"Edit contact"</string>
+    <string name="menu_delete" msgid="3977150783449642851">"Delete contact"</string>
+    <string name="get_pin2" msgid="8204677063922225311">"Type PIN2"</string>
+    <string name="name" msgid="7329028332786872378">"Name"</string>
+    <string name="number" msgid="7905950798349903858">"Number"</string>
+    <string name="save" msgid="4094274636321939086">"Save"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"Add fixed dialling number"</string>
+    <string name="adding_fdn_contact" msgid="7627379633721940991">"Adding fixed dialling number…"</string>
+    <string name="fdn_contact_added" msgid="7458335758501736665">"Fixed dialling number added."</string>
+    <string name="edit_fdn_contact" msgid="7976936035587081480">"Edit fixed dialling number"</string>
+    <string name="updating_fdn_contact" msgid="8370929876849803600">"Updating fixed dialling number…"</string>
+    <string name="fdn_contact_updated" msgid="5497828782609005017">"Fixed dialling number updated."</string>
+    <string name="delete_fdn_contact" msgid="6668958073074151717">"Delete fixed dialling number"</string>
+    <string name="deleting_fdn_contact" msgid="5669163206349319969">"Deleting fixed dialling number…"</string>
+    <string name="fdn_contact_deleted" msgid="7154162327112259569">"Fixed dialling number deleted."</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"FDN wasn\'t updated because you typed an incorrect PIN."</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"FDN wasn\'t updated because the number can\'t exceed 20 digits."</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN wasn\'t updated. The PIN2 was incorrect or the phone number was rejected."</string>
+    <string name="fdn_failed" msgid="540018079008319747">"FDN operation failed."</string>
+    <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Reading from SIM card…"</string>
+    <string name="simContacts_empty" msgid="5270660846489561932">"No contacts on your SIM card."</string>
+    <string name="simContacts_title" msgid="1861472842524839921">"Select contacts to import"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Turn off aeroplane mode to import contacts from the SIM card."</string>
+    <string name="enable_pin" msgid="5422767284133234860">"Enable/disable SIM PIN"</string>
+    <string name="change_pin" msgid="9174186126330785343">"Change SIM PIN"</string>
+    <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
+    <string name="oldPinLabel" msgid="5287773661246368314">"Old PIN"</string>
+    <string name="newPinLabel" msgid="207488227285336897">"New PIN"</string>
+    <string name="confirmPinLabel" msgid="257597715098070206">"Confirm new PIN"</string>
+    <string name="badPin" msgid="8955102849303984935">"The old PIN that you typed isn\'t correct. Try again."</string>
+    <string name="mismatchPin" msgid="5923253370683071889">"The PINs that you typed don\'t match. Try again."</string>
+    <string name="invalidPin" msgid="5981171102258684792">"Type a PIN that is 4 to 8 numbers."</string>
+    <string name="disable_sim_pin" msgid="3419351358300716472">"Clear SIM PIN"</string>
+    <string name="enable_sim_pin" msgid="4845145659651484248">"Set SIM PIN"</string>
+    <string name="enable_in_progress" msgid="3417917024688497010">"Setting PIN…"</string>
+    <string name="enable_pin_ok" msgid="2918545971413270063">"PIN set"</string>
+    <string name="disable_pin_ok" msgid="2109571368635883688">"PIN cleared"</string>
+    <string name="pin_failed" msgid="5644377896213584760">"PIN incorrect"</string>
+    <string name="pin_changed" msgid="4455736268023261662">"PIN updated"</string>
+    <string name="puk_requested" msgid="5921393215789090200">"Password incorrect. PIN now blocked. PUK requested."</string>
+    <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"Old PIN2"</string>
+    <string name="newPin2Label" msgid="4573956902204349054">"New PIN2"</string>
+    <string name="confirmPin2Label" msgid="8100319484454787708">"Confirm new PIN2"</string>
+    <string name="badPuk2" msgid="7910064009531541708">"PUK2 incorrect. Try again."</string>
+    <string name="badPin2" msgid="6646896629970023109">"Old PIN2 incorrect. Try again."</string>
+    <string name="mismatchPin2" msgid="4177967478551851117">"PIN2s don\'t match. Try again."</string>
+    <string name="invalidPin2" msgid="1757045131429105595">"Enter a PIN2 that is 4 to 8 numbers."</string>
+    <string name="invalidPuk2" msgid="7059081153334815973">"Enter a PUK2 that is 8 numbers."</string>
+    <string name="pin2_changed" msgid="3724522579945610956">"PIN2 updated"</string>
+    <string name="label_puk2_code" msgid="4688069961795341948">"Enter PUK2 code"</string>
+    <string name="fdn_enable_puk2_requested" msgid="4991074891459554705">"Password incorrect. PIN2 now Blocked. To try again, change PIN 2."</string>
+    <string name="puk2_requested" msgid="5831015200030161434">"Password incorrect. SIM now locked. Enter PUK2."</string>
+    <string name="puk2_blocked" msgid="3150263853077280049">"PUK2 is permanently blocked."</string>
+    <string name="pin2_attempts" msgid="720736232885011507">\n"You have <xliff:g id="NUMBER">%d</xliff:g> remaining attempts."</string>
+    <string name="pin2_unblocked" msgid="7791600368153469078">"PIN2 no longer blocked"</string>
+    <string name="doneButton" msgid="2859593360997984240">"Done"</string>
+    <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Voicemail number"</string>
+    <string name="card_title_dialing" msgid="5769417478498348054">"Dialling"</string>
+    <string name="card_title_redialing" msgid="8253487008234167266">"Redialling"</string>
+    <string name="card_title_conf_call" msgid="1162980346189744501">"Conference call"</string>
+    <string name="card_title_incoming_call" msgid="7364539451234646909">"Incoming call"</string>
+    <string name="card_title_call_ended" msgid="5544730338889702298">"Call ended"</string>
+    <string name="card_title_on_hold" msgid="821463117892339942">"On hold"</string>
+    <string name="card_title_hanging_up" msgid="3999101620995182450">"Hanging up"</string>
+    <string name="card_title_in_call" msgid="6346543933068225205">"In call"</string>
+    <string name="notification_dialing" msgid="2107666444937350731">"Dialling"</string>
+    <string name="notification_missedCallTitle" msgid="7554385905572364535">"Missed call"</string>
+    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Missed calls"</string>
+    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> missed calls"</string>
+    <string name="notification_missedCallTicker" msgid="504686252427747209">"Missed call from <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+    <string name="notification_ongoing_call" msgid="7068688957273482989">"On-going call"</string>
+    <string name="notification_on_hold" msgid="3480694969511790465">"On hold"</string>
+    <string name="notification_incoming_call" msgid="2820429205043529642">"Incoming call"</string>
+    <string name="notification_voicemail_title" msgid="8933468752045550523">"New voicemail"</string>
+    <string name="notification_voicemail_title_count" msgid="4366360747660929916">"New voicemail (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+    <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Dial <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+    <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Voicemail number unknown"</string>
+    <string name="notification_network_selection_title" msgid="4224455487793492772">"No service"</string>
+    <string name="notification_network_selection_text" msgid="2607085729661923269">"Selected network (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) unavailable"</string>
+    <string name="notification_action_end_call" msgid="6069460915123531620">"Hang up"</string>
+    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Call back"</string>
+    <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Turn off aeroplane mode to make a call."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Turn off aeroplane mode or connect to a wireless network to make a call."</string>
+    <string name="incall_error_emergency_only" msgid="4678640422710818317">"Not registered on network."</string>
+    <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobile network not available."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobile network is not available. Connect to a wireless network to make a call."</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"To place a call, enter a valid number."</string>
+    <string name="incall_error_call_failed" msgid="6302746943230078197">"Can\'t call."</string>
+    <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starting MMI sequence…"</string>
+    <string name="incall_error_supp_service_unknown" msgid="655570339115407698">"Service not supported"</string>
+    <string name="incall_error_supp_service_switch" msgid="5237002176899962862">"Can\'t switch calls."</string>
+    <string name="incall_error_supp_service_separate" msgid="7224393405134545246">"Can\'t separate call."</string>
+    <string name="incall_error_supp_service_transfer" msgid="7235952238189391438">"Can\'t transfer."</string>
+    <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Unable to conference calls."</string>
+    <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Can\'t reject call."</string>
+    <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Can\'t release call(s)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Connect to a wireless network to make a call."</string>
+    <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency call"</string>
+    <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Turning on radio…"</string>
+    <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"No service. Trying again…"</string>
+    <string name="dial_emergency_error" msgid="1509085166367420355">"Can\'t call. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> is not an emergency number."</string>
+    <string name="dial_emergency_empty_error" msgid="9130194953830414638">"Can\'t call. Dial an emergency number."</string>
+    <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Use keyboard to dial"</string>
+    <string name="onscreenHoldText" msgid="2285258239691145872">"Hold"</string>
+    <string name="onscreenEndCallText" msgid="4403855834875398585">"End"</string>
+    <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Dial pad"</string>
+    <string name="onscreenMuteText" msgid="5011369181754261374">"Mute"</string>
+    <string name="onscreenAddCallText" msgid="5140385634712287403">"Add call"</string>
+    <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Merge calls"</string>
+    <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Swap"</string>
+    <string name="onscreenManageCallsText" msgid="5473231160123254154">"Manage calls"</string>
+    <string name="onscreenManageConferenceText" msgid="6485935856534311346">"Manage conference"</string>
+    <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+    <string name="onscreenVideoCallText" msgid="4800924186056115442">"Video call"</string>
+    <string name="importSimEntry" msgid="6614358325359736031">"Import"</string>
+    <string name="importAllSimEntries" msgid="1503181169636198673">"Import all"</string>
+    <string name="importingSimContacts" msgid="7374056215462575769">"Importing SIM contacts"</string>
+    <string name="importToFDNfromContacts" msgid="2130620207013368580">"Import from contacts"</string>
+    <string name="hac_mode_title" msgid="8740268574688743289">"Hearing aids"</string>
+    <string name="hac_mode_summary" msgid="6833851160514929341">"Turn on hearing-aid compatibility"</string>
+  <string-array name="tty_mode_entries">
+    <item msgid="512950011423868021">"TTY Off"</item>
+    <item msgid="3971695875449640648">"TTY Full"</item>
+    <item msgid="1937509904407445684">"TTY HCO"</item>
+    <item msgid="5644925873488772224">"TTY VCO"</item>
+  </string-array>
+    <string name="dtmf_tones_title" msgid="5163153771291340803">"DTMF tones"</string>
+    <string name="dtmf_tones_summary" msgid="3351820372864020331">"Set the length of DTMF tones"</string>
+  <string-array name="dtmf_tone_entries">
+    <item msgid="899650777817315681">"Normal"</item>
+    <item msgid="2883365539347850535">"Long"</item>
+  </string-array>
+    <string name="network_info_message" msgid="7738596060242881930">"Network message"</string>
+    <string name="network_error_message" msgid="3394780436230411413">"Error message"</string>
+    <string name="ota_title_activate" msgid="8616918561356194398">"Activate your phone"</string>
+    <string name="ota_touch_activate" msgid="6553212803262586244">"A special call needs to be made to activate your phone service. \n\nAfter pressing “Activate”, listen to the instructions provided to activate your phone."</string>
+    <string name="ota_hfa_activation_title" msgid="2234246934160473981">"Activating..."</string>
+    <string name="ota_hfa_activation_dialog_message" msgid="8092479227918463415">"The phone is activating your mobile data service.\n\nThis can take up to 5 minutes."</string>
+    <string name="ota_skip_activation_dialog_title" msgid="2943366608272261306">"Skip activation?"</string>
+    <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"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."</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="3458532775091563208">"Skip"</string>
+    <string name="ota_activate" msgid="1368528132525626264">"Activate"</string>
+    <string name="ota_title_activate_success" msgid="6570240212263372046">"Phone is activated."</string>
+    <string name="ota_title_problem_with_activation" msgid="7095824491970084367">"Problem with activation"</string>
+    <string name="ota_listen" msgid="162923839877584937">"Follow the spoken instructions until you hear that activation is complete."</string>
+    <string name="ota_speaker" msgid="6904589278542719647">"Speaker"</string>
+    <string name="ota_progress" msgid="460876637828044519">"Programming your phone…"</string>
+    <string name="ota_failure" msgid="7713756181204620397">"Couldn\'t programme your phone"</string>
+    <string name="ota_successful" msgid="1880780692887077407">"Your phone is now activated. It may take up to 15 minutes for service to start."</string>
+    <string name="ota_unsuccessful" msgid="8072141612635635357">"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."</string>
+    <string name="ota_spc_failure" msgid="3909983542575030796">"EXCESS SPC FAILURES"</string>
+    <string name="ota_call_end" msgid="4537279738134612388">"Back"</string>
+    <string name="ota_try_again" msgid="7685477206465902290">"Try again"</string>
+    <string name="ota_next" msgid="3904945374358235910">"Next"</string>
+    <string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
+    <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Entered Emergency Callback Mode"</string>
+    <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Emergency Callback Mode"</string>
+    <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Data connection disabled"</string>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">No data connection for <xliff:g id="COUNT_1">%s</xliff:g> minutes</item>
+      <item quantity="one">No data connection for <xliff:g id="COUNT_0">%s</xliff:g> minute</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?</item>
+      <item quantity="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. Do you want to exit now?</item>
+      <item quantity="one">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. Do you want to exit now?</item>
+    </plurals>
+    <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"The action selected isn\'t available during an emergency call."</string>
+    <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Exiting Emergency Callback mode"</string>
+    <string name="alert_dialog_yes" msgid="6674268047820703974">"Yes"</string>
+    <string name="alert_dialog_no" msgid="1476091437797628703">"No"</string>
+    <string name="alert_dialog_dismiss" msgid="2491494287075907171">"Dismiss"</string>
+    <string name="voicemail_provider" msgid="5135942703327136909">"Service"</string>
+    <string name="voicemail_settings" msgid="72448049107749316">"Setup"</string>
+    <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;Not set&gt;"</string>
+    <string name="other_settings" msgid="3672912580359716394">"Other call settings"</string>
+    <string name="calling_via_template" msgid="4839419581866928142">"Calling via <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="contactPhoto" msgid="4713193418046639466">"contact photo"</string>
+    <string name="goPrivate" msgid="865837794424530980">"go private"</string>
+    <string name="selectContact" msgid="781975788478987237">"select contact"</string>
+    <string name="not_voice_capable" msgid="2739898841461577811">"Voice calling not supported"</string>
+    <string name="description_dial_button" msgid="7459705245418435351">"dial"</string>
+    <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Vibrate"</string>
+    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Vibrate"</string>
+    <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Sound"</string>
+    <string name="dial_pad_autocomplete" msgid="7683489952557536398">"Dialpad auto-complete"</string>
+    <string name="preference_category_ringtone" msgid="5197960752529332721">"Ringtone &amp; Vibrate"</string>
+    <string name="pstn_connection_service_label" msgid="1743245930577325900">"Built-in SIM cards"</string>
+    <string name="enable_video_calling_title" msgid="7237253660669000899">"Turn on video calling"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"To turn on video calling, you need to enable Enhanced 4G LTE Mode in network settings."</string>
+    <string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"Network settings"</string>
+    <string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"Close"</string>
+    <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Emergency calls"</string>
+    <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Emergency calling only"</string>
+    <string name="sim_description_default" msgid="4778679519938775515">"SIM card, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibility"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Incoming Wi-Fi call"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi call"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Touch again to open"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"There was an error while decoding the message."</string>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 894aac9..24dc3ba 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Phone accounts"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Add SIP account"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configure account settings"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi calling"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi Calling"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Do not use Wi-Fi calling"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Do not use call assistant"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"None"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configure"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Built-in connection service"</string>
     <string name="voicemail" msgid="8693759337917898954">"Voicemail"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Network operators"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Emergency broadcasts"</string>
@@ -129,7 +130,7 @@
     <string name="reverting_settings" msgid="4752151682666912828">"Reverting settings…"</string>
     <string name="response_error" msgid="6674110501330139405">"Unexpected response from network."</string>
     <string name="exception_error" msgid="7027667130619518211">"Network or SIM card error."</string>
-    <string name="fdn_check_failure" msgid="18200614306525434">"Your Phone app\'s Fixed Dialing Numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"Your Phone app\'s fixed dialling numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"Please turn on the radio before viewing these settings."</string>
     <string name="close_dialog" msgid="2365884406356986917">"OK"</string>
     <string name="enable" msgid="7248657275000173526">"Turn on"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Connect to data services when roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Allow data usage when roaming? Significant charges may apply."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"You may incur significant charges."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Allow data roaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS Options"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA Options"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Data usage"</string>
@@ -329,19 +331,19 @@
     <string name="cdma_activate_device" msgid="3793805892364814518">"Activate device"</string>
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"Set up data service"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"Provider settings"</string>
-    <string name="fdn" msgid="7878832555095183202">"Fixed Dialling Numbers"</string>
-    <string name="fdn_with_label" msgid="187084204115493366">"Fixed Dialing Numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn" msgid="7878832555095183202">"Fixed dialling numbers"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Fixed dialling numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"FDN list"</string>
     <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN list (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2156479741307463576">"FDN activation"</string>
-    <string name="fdn_enabled" msgid="5238109009915521240">"Fixed Dialling Numbers are enabled"</string>
-    <string name="fdn_disabled" msgid="4700049736675368279">"Fixed Dialling Numbers are disabled"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"Fixed dialling numbers are enabled"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"Fixed dialling numbers are disabled"</string>
     <string name="enable_fdn" msgid="3740191529180493851">"Enable FDN"</string>
     <string name="disable_fdn" msgid="7944020890722540616">"Disable FDN"</string>
     <string name="change_pin2" msgid="2153563695382176676">"Change PIN2"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"Disable FDN"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"Enable FDN"</string>
-    <string name="sum_fdn" msgid="1959399454900272878">"Manage Fixed Dialling Numbers"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"Manage fixed dialling numbers"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Change PIN for FDN access"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Manage phone number list"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Voice privacy"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Set TTY mode"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Auto-retry"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Enable Auto-retry mode"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY Mode change is not allowed during a video call"</string>
     <string name="menu_add" msgid="1882023737425114762">"Add contact"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Edit contact"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Delete contact"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Reading from SIM card…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"No contacts on your SIM card."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Select contacts to import"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"To import contacts from the SIM card, first turn off Aeroplane mode."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Turn off aeroplane mode to import contacts from the SIM card."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Enable/disable SIM PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"Change SIM PIN"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Hang up"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Call back"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"To place a call, first turn off Aeroplane mode."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Turn off aeroplane mode to make a call."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Turn off aeroplane mode or connect to a wireless network to make a call."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Not registered on network."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobile network not available."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobile network is not available. Connect to a wireless network to make a call."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"To place a call, enter a valid number."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Can\'t call."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starting MMI sequence…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Unable to conference calls."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Can\'t reject call."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Can\'t release call(s)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Connect to a wireless network to make a call."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency call"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Turning on radio…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"No service. Trying again…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Entered Emergency Callback Mode"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Data connection disabled"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"No data connection for <xliff:g id="COUNT">%s</xliff:g> minute"</item>
-    <item quantity="other" msgid="3122217344579273583">"No data connection for <xliff:g id="COUNT">%s</xliff:g> minutes"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"The phone will be in Emergency Callback mode for <xliff:g id="COUNT">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?"</item>
-    <item quantity="other" msgid="8617116564023933114">"The phone will be in Emergency Callback mode for <xliff:g id="COUNT">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT">%s</xliff:g> minute. Do you want to exit now?"</item>
-    <item quantity="other" msgid="6115622137771382224">"The action selected isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT">%s</xliff:g> minutes. Do you want to exit now?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">No data connection for <xliff:g id="COUNT_1">%s</xliff:g> minutes</item>
+      <item quantity="one">No data connection for <xliff:g id="COUNT_0">%s</xliff:g> minute</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?</item>
+      <item quantity="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. Do you want to exit now?</item>
+      <item quantity="one">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. Do you want to exit now?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"The action selected isn\'t available during an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Yes"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Emergency calls"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Emergency calling only"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM card, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibility"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Incoming Wi-Fi call"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi call"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Touch again to open"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"There was an error while decoding the message."</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 894aac9..24dc3ba 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Phone accounts"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Add SIP account"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configure account settings"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi calling"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi Calling"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Do not use Wi-Fi calling"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Do not use call assistant"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"None"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configure"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Built-in connection service"</string>
     <string name="voicemail" msgid="8693759337917898954">"Voicemail"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Network operators"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Emergency broadcasts"</string>
@@ -129,7 +130,7 @@
     <string name="reverting_settings" msgid="4752151682666912828">"Reverting settings…"</string>
     <string name="response_error" msgid="6674110501330139405">"Unexpected response from network."</string>
     <string name="exception_error" msgid="7027667130619518211">"Network or SIM card error."</string>
-    <string name="fdn_check_failure" msgid="18200614306525434">"Your Phone app\'s Fixed Dialing Numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"Your Phone app\'s fixed dialling numbers setting is turned on. As a result, some call-related features aren\'t working."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"Please turn on the radio before viewing these settings."</string>
     <string name="close_dialog" msgid="2365884406356986917">"OK"</string>
     <string name="enable" msgid="7248657275000173526">"Turn on"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Connect to data services when roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Connect to data services when roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"You have lost data connectivity because you left your home network with data roaming turned off."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Allow data usage when roaming? Significant charges may apply."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"You may incur significant charges."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Allow data roaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS Options"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA Options"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Data usage"</string>
@@ -329,19 +331,19 @@
     <string name="cdma_activate_device" msgid="3793805892364814518">"Activate device"</string>
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"Set up data service"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"Provider settings"</string>
-    <string name="fdn" msgid="7878832555095183202">"Fixed Dialling Numbers"</string>
-    <string name="fdn_with_label" msgid="187084204115493366">"Fixed Dialing Numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn" msgid="7878832555095183202">"Fixed dialling numbers"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Fixed dialling numbers (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"FDN list"</string>
     <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN list (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2156479741307463576">"FDN activation"</string>
-    <string name="fdn_enabled" msgid="5238109009915521240">"Fixed Dialling Numbers are enabled"</string>
-    <string name="fdn_disabled" msgid="4700049736675368279">"Fixed Dialling Numbers are disabled"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"Fixed dialling numbers are enabled"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"Fixed dialling numbers are disabled"</string>
     <string name="enable_fdn" msgid="3740191529180493851">"Enable FDN"</string>
     <string name="disable_fdn" msgid="7944020890722540616">"Disable FDN"</string>
     <string name="change_pin2" msgid="2153563695382176676">"Change PIN2"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"Disable FDN"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"Enable FDN"</string>
-    <string name="sum_fdn" msgid="1959399454900272878">"Manage Fixed Dialling Numbers"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"Manage fixed dialling numbers"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Change PIN for FDN access"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Manage phone number list"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Voice privacy"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Set TTY mode"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Auto-retry"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Enable Auto-retry mode"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY Mode change is not allowed during a video call"</string>
     <string name="menu_add" msgid="1882023737425114762">"Add contact"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Edit contact"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Delete contact"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Reading from SIM card…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"No contacts on your SIM card."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Select contacts to import"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"To import contacts from the SIM card, first turn off Aeroplane mode."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Turn off aeroplane mode to import contacts from the SIM card."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Enable/disable SIM PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"Change SIM PIN"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Hang up"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Call back"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"To place a call, first turn off Aeroplane mode."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Turn off aeroplane mode to make a call."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Turn off aeroplane mode or connect to a wireless network to make a call."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Not registered on network."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobile network not available."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobile network is not available. Connect to a wireless network to make a call."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"To place a call, enter a valid number."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Can\'t call."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Starting MMI sequence…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Unable to conference calls."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Can\'t reject call."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Can\'t release call(s)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Connect to a wireless network to make a call."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency call"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Turning on radio…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"No service. Trying again…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Entered Emergency Callback Mode"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Data connection disabled"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"No data connection for <xliff:g id="COUNT">%s</xliff:g> minute"</item>
-    <item quantity="other" msgid="3122217344579273583">"No data connection for <xliff:g id="COUNT">%s</xliff:g> minutes"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"The phone will be in Emergency Callback mode for <xliff:g id="COUNT">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?"</item>
-    <item quantity="other" msgid="8617116564023933114">"The phone will be in Emergency Callback mode for <xliff:g id="COUNT">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT">%s</xliff:g> minute. Do you want to exit now?"</item>
-    <item quantity="other" msgid="6115622137771382224">"The action selected isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT">%s</xliff:g> minutes. Do you want to exit now?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">No data connection for <xliff:g id="COUNT_1">%s</xliff:g> minutes</item>
+      <item quantity="one">No data connection for <xliff:g id="COUNT_0">%s</xliff:g> minute</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. While in this mode no applications using a data connection can be used. Do you want to exit now?</item>
+      <item quantity="one">The phone will be in Emergency Callback mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. While in this mode no apps using a data connection can be used. Do you want to exit now?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_1">%s</xliff:g> minutes. Do you want to exit now?</item>
+      <item quantity="one">The selected action isn\'t available while in the Emergency Callback mode. The phone will be in this mode for <xliff:g id="COUNT_0">%s</xliff:g> minute. Do you want to exit now?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"The action selected isn\'t available during an emergency call."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Exiting Emergency Callback mode"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Yes"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Emergency calls"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Emergency calling only"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM card, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibility"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Incoming Wi-Fi call"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi call"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Touch again to open"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"There was an error while decoding the message."</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e954611..3845ce6 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Cuentas telefónicas"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Agregar cuenta SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Cómo configurar la cuenta"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Llamadas por redes Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Llamada por Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"No utilizar llamadas por Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"No utilizar asistente de llamadas"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ninguno"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurar"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Servicio de conexión integrado"</string>
     <string name="voicemail" msgid="8693759337917898954">"Correo de voz"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Buzón de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Correo de voz:"</string>
     <string name="networks" msgid="8873030692174541976">"Operadores de red"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Transmisiones de emergencia"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Conectar a servicios de datos en roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Conectar a servicios de datos en roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Perdiste la conectividad de datos porque se desactivó la itinerancia de datos de tu red doméstica."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"¿Permitir el uso de datos en roaming? Pueden aplicarse cargos significativos."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Puede ocasionar gastos importantes."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"¿Deseas permitir el roaming de datos?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opciones de GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opciones de CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Utilización de datos"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Establecer modo de TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Reintento automático"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Activar el modo de reintento automático"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"No se permite cambiar el modo TTY durante una videollamada."</string>
     <string name="menu_add" msgid="1882023737425114762">"Agregar contacto"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Editar contacto"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Eliminar contacto"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Leyendo la tarjeta SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"No hay contactos en tu tarjeta SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleccionar contactos para importar"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar contactos de la tarjeta SIM, desactiva primero el modo avión."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Desactivar el modo de avión para importar contactos de la tarjeta SIM"</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activar/desactivar PIN de tarjeta SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Cambiar PIN de tarjeta SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN de tarjeta SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Devolver llamada"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaje"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Desactivar modo de avión para hacer una llamada"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Desactivar el modo de avión o conectarse a una red inalámbrica para hacer una llamada"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"No registrado en la red."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Red móvil no disponible"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"La red móvil no está disponible. Conéctate a una red inalámbrica para realizar una llamada."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Para realizar una llamada, ingresa un número válido."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"No se puede realizar la llamada."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciar la secuencia de MMI"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"No es posible realizar llamadas en conferencia."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"No se puede rechazar la llamada."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"No se puede liberar llamadas."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Conectarse a una red inalámbrica para hacer una llamada"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Llamada de emergencia"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Encendiendo radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"No hay servicio. Vuelve a intentarlo."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Modo de devolución de llamada de emergencia ingresado"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de devolución de llamada de emergencia"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"La conexión de datos se ha desactivado"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Sin conexión de datos por <xliff:g id="COUNT">%s</xliff:g> minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Sin conexión de datos por <xliff:g id="COUNT">%s</xliff:g> minutos"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"El teléfono permanecerá en el modo de llamada de retorno de emergencia <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-    <item quantity="other" msgid="8617116564023933114">"El teléfono permanecerá en el modo de llamada de retorno de emergencia <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> minuto. ¿Deseas salir ahora?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> minutos. ¿Deseas salir ahora?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Sin conexión de datos por <xliff:g id="COUNT_1">%s</xliff:g> minutos</item>
+      <item quantity="one">Sin conexión de datos por <xliff:g id="COUNT_0">%s</xliff:g> minuto</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">El teléfono estará en el modo de llamada de emergencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Mientras esté en este modo, no se podrá utilizar ninguna aplicación que utilice una conexión de datos. ¿Quieres salir ahora?</item>
+      <item quantity="one">El teléfono estará en el modo de llamada de emergencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Mientras esté en este modo, no se podrá utilizar ninguna aplicación que utilice una conexión de datos. ¿Quieres salir ahora?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">La acción seleccionada no está disponible en el modo de llamada de emergencia. El teléfono estará en este modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. ¿Quieres salir ahora?</item>
+      <item quantity="one">La acción seleccionada no está disponible en el modo de llamada de emergencia. El teléfono estará en este modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. ¿Quieres salir ahora?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"La acción seleccionada no está disponible durante una llamada de emergencia."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Saliendo del modo de llamada de retorno de emergencia"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Sí"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Llamadas de emergencia"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Solo llamada de emergencia"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Tarjeta SIM, ranura: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accesibilidad"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Llamada Wi-Fi entrante"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Llamada por Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Vuelve a tocar para realizar la acción."</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Se produjo un error al decodificar el mensaje."</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index dc88232..a1ad0e7 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Cuentas de teléfono"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Añadir cuenta SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurar ajustes de cuenta"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Llamada por Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Llamadas Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"No usar llamadas Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"No usar asistente de llamadas"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nunca"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurar"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Servicio de conexión integrado"</string>
     <string name="voicemail" msgid="8693759337917898954">"Buzón de voz"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Buzón de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Buzón de voz:"</string>
     <string name="networks" msgid="8873030692174541976">"Operadores de red"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Difusiones de emergencia"</string>
@@ -92,11 +93,11 @@
     <string name="sum_loading_settings" msgid="1826692909391168620">"Cargando ajustes…"</string>
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"Número oculto en llamadas salientes"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"Número mostrado en llamadas salientes"</string>
-    <string name="sum_default_caller_id" msgid="1954518825510901365">"Utilizar la configuración de operador predeterminada para mostrar mi número en las llamadas salientes"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"Utilizar la configuración predeterminada del operador para mostrar mi número en las llamadas salientes"</string>
     <string name="labelCW" msgid="6120513814915920200">"Llamada en espera"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"Notificarme de llamadas entrantes durante una llamada"</string>
-    <string name="sum_cw_disabled" msgid="3648693907300104575">"Notificarme de las llamadas entrantes durante las llamadas"</string>
-    <string name="call_forwarding_settings" msgid="3378927671091537173">"Ajustes de desvío de llamada"</string>
+    <string name="sum_cw_disabled" msgid="3648693907300104575">"Notificar si hay una llamada entrante durante una llamada"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"Ajustes de desvío de llamadas"</string>
     <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Ajustes de reenvío de llamadas (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="2574386948026924737">"Desvío de llamada"</string>
     <string name="labelCFU" msgid="8147177368148660600">"Desviar siempre"</string>
@@ -111,18 +112,18 @@
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"Desactivado"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Tu operador no permite inhabilitar el desvío de llamadas si el teléfono está ocupado."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"Cuando no responda"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"Número cuando no se responde la llamada"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Número cuando no se responda la llamada"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Desviando a <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Desactivado"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Tu operador no permite inhabilitar el desvío de llamadas si el teléfono no responde."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Cuando no esté disponible"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Número cuando no se puede establecer la llamada"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Número cuando no se pueda establecer la llamada"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Desviando a <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Inhabilitado"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Tu operador no permite inhabilitar el desvío de llamadas si no se puede establecer la llamada."</string>
     <string name="updating_title" msgid="6146755386174019046">"Ajustes de llamadas"</string>
-    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"El usuario principal es el único que puede cambiar los ajustes de llamada."</string>
-    <string name="call_settings_with_label" msgid="89359812614544532">"Ajustes de llamada (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"El usuario principal es el único que puede cambiar los ajustes de llamadas."</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"Ajustes de llamadas (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="7970259216988931777">"Error de configuración de llamada"</string>
     <string name="reading_settings" msgid="1920291699287055284">"Leyendo configuración..."</string>
     <string name="updating_settings" msgid="8171225533884883252">"Actualizando configuración..."</string>
@@ -157,14 +158,14 @@
     <string name="not_allowed" msgid="5613353860205691579">"La tarjeta SIM no permite establecer conexión con esta red."</string>
     <string name="connect_later" msgid="2308119155752343975">"No se puede conectar a la red en este momento. Inténtalo de nuevo más tarde."</string>
     <string name="registration_done" msgid="495135664535876612">"Conexión con la red establecida"</string>
-    <string name="sum_carrier_select" msgid="3494252551249882718">"Seleccionar un operador de red"</string>
+    <string name="sum_carrier_select" msgid="3494252551249882718">"Selecciona un operador de red"</string>
     <string name="sum_search_networks" msgid="2921092249873272715">"Buscar todas las redes disponibles"</string>
     <string name="select_automatically" msgid="5628402124471810174">"Seleccionar automáticamente"</string>
     <string name="sum_select_automatically" msgid="5614890115123292400">"Seleccionar red preferida automáticamente"</string>
     <string name="register_automatically" msgid="6017849844573519637">"Registro automático..."</string>
-    <string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de red preferido"</string>
+    <string name="preferred_network_mode_title" msgid="2336624679902659306">"Tipo de red preferida"</string>
     <string name="preferred_network_mode_summary" msgid="1434820673166126609">"Cambiar el modo operativo de la red"</string>
-    <string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de red preferido"</string>
+    <string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Tipo de red preferida"</string>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modo de red preferido: WCDMA preferido"</string>
     <string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modo de red preferido: solo GSM"</string>
     <string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modo de red preferido: solo WCDMA"</string>
@@ -201,10 +202,11 @@
     <string name="data_enabled" msgid="5972538663568715366">"Habilitar datos"</string>
     <string name="data_enable_summary" msgid="2382798156640007971">"Permitir uso de datos"</string>
     <string name="roaming" msgid="8871412572928323707">"Itinerancia de datos"</string>
-    <string name="roaming_enable" msgid="7331106985174381987">"Establecer conexión con servicios de datos en itinerancia"</string>
-    <string name="roaming_disable" msgid="1843417228755568110">"Establecer conexión con servicios de datos en itinerancia"</string>
+    <string name="roaming_enable" msgid="7331106985174381987">"Conectarse a servicios de datos en itinerancia"</string>
+    <string name="roaming_disable" msgid="1843417228755568110">"Conectarse a servicios de datos en itinerancia"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Has perdido la conectividad de datos porque has dejado desactivada la itinerancia de datos de tu red doméstica."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"¿Permitir el uso de datos en itinerancia? Se pueden aplicar cargos importantes."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"El coste de este servicio puede ser significativo."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"¿Permitir itinerancia de datos?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opciones GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opciones de CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Uso de datos"</string>
@@ -346,7 +348,7 @@
     <string name="enable_fdn_ok" msgid="7215588870329688132">"Inhabilitar FDN"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"Habilitar FDN"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"Administrar números de marcación fija"</string>
-    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Cambiar PIN para acceso de FDN"</string>
+    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Cambiar PIN para el acceso de FDN"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Administrar lista de números de teléfono"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Privacidad de voz"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"Habilitar modo de privacidad mejorado"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Establecer modo TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Reintento automático"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Habilitar modo de reintento automático"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"No se puede cambiar el modo TTY durante una videollamada"</string>
     <string name="menu_add" msgid="1882023737425114762">"Añadir contacto"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Editar contacto"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Eliminar contacto"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Leyendo desde tarjeta SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"No hay ningún contacto en la tarjeta SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleccionar contactos para importar"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar contactos de la tarjeta SIM, desactiva el modo avión."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Desactiva el modo avión para importar contactos de la tarjeta SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Habilitar/inhabilitar PIN de tarjeta SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Cambiar PIN de tarjeta SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN de tarjeta SIM:"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Llamar"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaje"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Para realizar una llamada, primero debes desactivar el modo avión."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Desactiva el modo avión parra hacer llamadas."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Desactiva el modo avión o conéctate a una red inalámbrica para hacer llamadas."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"No se ha podido conectar a la red"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"La red móvil no está disponible."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"La red móvil no está disponible. Conéctate a una red inalámbrica para hacer llamadas."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Para realizar una llamada, introduce un número válido."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"No se puede establecer la llamada."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciando secuencia MMI..."</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"No se ha podido realizar la conferencia telefónica."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"No se puede rechazar la llamada."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"No se pueden hacer llamadas."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Conéctate a una red inalámbrica para hacer llamadas."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Llamada de emergencia"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activando señal móvil…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Sin servicio. Reintentado…"</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Se ha activado el modo de devolución de llamada de emergencia."</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de devolución de llamada de emergencia"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Conexión de datos inhabilitada"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Ninguna conexión de datos durante <xliff:g id="COUNT">%s</xliff:g> minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Ninguna conexión de datos durante <xliff:g id="COUNT">%s</xliff:g> minutos"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"El teléfono permanecerá en el modo de devolución de llamada de emergencia durante <xliff:g id="COUNT">%s</xliff:g> minuto. Durante este tiempo, no se podrán usar las aplicaciones que utilicen una conexión de datos. ¿Quieres salir ahora?"</item>
-    <item quantity="other" msgid="8617116564023933114">"El teléfono permanecerá en el modo de devolución de llamada durante <xliff:g id="COUNT">%s</xliff:g> minutos. Durante este tiempo, no se podrán usar las aplicaciones que utilicen una conexión de datos. ¿Quieres salir ahora?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> minutos. ¿Quieres salir ahora?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> minutos. ¿Quieres salir ahora?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Ninguna conexión de datos durante <xliff:g id="COUNT_1">%s</xliff:g> minutos</item>
+      <item quantity="one">Ninguna conexión de datos durante <xliff:g id="COUNT_0">%s</xliff:g> minuto</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Se activará el modo de devolución de llamada de emergencia en el teléfono durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. En este modo, no se puede utilizar ninguna aplicación que emplee una conexión de datos. ¿Quieres salir?</item>
+      <item quantity="one">Se activará el modo de devolución de llamada de emergencia en el teléfono durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. En este modo, no se puede utilizar ninguna aplicación que emplee una conexión de datos. ¿Quieres salir?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. Se activará este modo en el teléfono durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. ¿Quieres salir?</item>
+      <item quantity="one">La acción seleccionada no está disponible en el modo de devolución de llamada de emergencia. Se activará este modo en el teléfono durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. ¿Quieres salir?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"La acción seleccionada no está disponible durante una llamada de emergencia."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Saliendo del modo de devolución de llamada de emergencia"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Sí"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Llamadas de emergencia"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Solo llamadas de emergencia"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Tarjeta SIM, ranura: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accesibilidad"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Llamada Wi-Fi entrante"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Llamada Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Vuelve a tocar para abrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Se ha producido un error al decodificar el mensaje."</string>
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 0e4dc54..1fd4d68 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefoni kontod"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-konto lisamine"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konto seadete seadistamine"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"WiFi-kõned"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"WiFi-kõned"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ärge kasutage WiFi-kõnesid"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ärge kasutage kõneabi"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Puudub"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Seadistamine"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Sisseehitatud ühendusteenus"</string>
     <string name="voicemail" msgid="8693759337917898954">"Kõnepost"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Kõnepost (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"KP:"</string>
     <string name="networks" msgid="8873030692174541976">"Võrguoperaatorid"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Hädaolukorra ülekanded"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Ühenda rändluse ajal andmesideteenustega"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Ühenda rändluse ajal andmesideteenustega"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Andmesideühendus katkes, kuna lahkusite koduvõrgust ja andmesiderändlus oli välja lülitatud."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Kas lubada rändluse ajal andmete kasutamine? Rakenduda võivad märkimisväärsed tasud."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Lisanduda võivad suured tasud."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Kas lubada andmeside rändlus?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM-i/UMTS-i valikud"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA valikud"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Andmete kasutus"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Määra TTY-režiim"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automaatkatse"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Luba automaatkatse režiim"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY-režiimi muutmine pole videokõne ajal lubatud"</string>
     <string name="menu_add" msgid="1882023737425114762">"Lisa kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Muuda kontakti"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Kustuta kontakt"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM-kaardilt lugemine ..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Teie SIM-kaardil pole ühtegi kontakti."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Valige imporditavad kontaktid"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Kontaktide importimiseks SIM-kaardilt lülitage esmalt välja lennukirežiim."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Kontaktide importimiseks SIM-kaardilt lülitage lennukirežiim välja."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM-i PIN-koodi lubamine/keelamine"</string>
     <string name="change_pin" msgid="9174186126330785343">"Muuda SIM-kaardi PIN-koodi"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM-i PIN-kood"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Lõpeta kõne"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Helista tagasi"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Sõnum"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Helistamiseks lülitage lennurežiim välja."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Helistamiseks lülitage lennukirežiim välja."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Helistamiseks lülitage lennukirežiim välja või looge ühendus traadita võrguga."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ei ole võrku registreeritud."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobiilsidevõrk pole saadaval."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobiilivõrk pole saadaval. Helistamiseks looge ühendus traadita võrguga."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Helistamiseks sisestage kehtiv number."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Ei saa helistada."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-jada alustamine ..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Konverentskõnesid ei saa teha."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Kõnet ei saa tagasi lükata."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Kõnet (kõnesid) ei saa vabastada."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Helistamiseks looge ühendus traadita võrguga."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Hädaabikõne"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Raadioside sisselülitamine ..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Teenus puudub. Uuesti proovimine ..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Sisenetud hädaolukorra tagasihelistusrežiimi"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Hädaolukorra tagasihelistusrežiim"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Andmeühendus keelatud"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Andmeühendus puudub <xliff:g id="COUNT">%s</xliff:g> minutiks"</item>
-    <item quantity="other" msgid="3122217344579273583">"Andmeühendus puudub <xliff:g id="COUNT">%s</xliff:g> minutiks"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon on hädaolukorra tagasihelistusrežiimis <xliff:g id="COUNT">%s</xliff:g> minut. Selles režiimis ei saa kasutada ühtegi andmesideühendusel põhinevat rakendust. Kas soovite kohe väljuda?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon on hädaolukorra tagasihelistusrežiimis <xliff:g id="COUNT">%s</xliff:g> minutit. Selles režiimis ei saa kasutada ühtegi andmesideühendust kasutavat rakendust. Kas soovite kohe väljuda?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Valitud toiming ei ole hädaolukorra tagasihelistusrežiimis saadaval. Telefon on selles režiimis <xliff:g id="COUNT">%s</xliff:g> minut. Kas soovite kohe väljuda?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Valitud toiming pole hädaolukorra tagasihelistusrežiimis kättesaadav. Telefon on selles režiimis <xliff:g id="COUNT">%s</xliff:g> minut. Kas soovite kohe väljuda?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Andmesideühendus puudub <xliff:g id="COUNT_1">%s</xliff:g> minutit</item>
+      <item quantity="one">Andmesideühendus puudub <xliff:g id="COUNT_0">%s</xliff:g> minuti</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefon on <xliff:g id="COUNT_1">%s</xliff:g> minutit hädaabikõne tagasihelistamise režiimis. Selles režiimis olles ei saa kasutada ühtegi rakendust, mis kasutab andmesideühendust. Kas soovite kohe väljuda?</item>
+      <item quantity="one">Telefon on <xliff:g id="COUNT_0">%s</xliff:g> minuti hädaabikõne tagasihelistamise režiimis. Selles režiimis olles ei saa kasutada ühtegi rakendust, mis kasutab andmesideühendust. Kas soovite kohe väljuda?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Valitud toiming pole hädaabikõne tagasihelistamise režiimis saadaval. Telefon on selles režiimis <xliff:g id="COUNT_1">%s</xliff:g> minutit. Kas soovite kohe väljuda?</item>
+      <item quantity="one">Valitud toiming pole hädaabikõne tagasihelistamise režiimis saadaval. Telefon on selles režiimis <xliff:g id="COUNT_0">%s</xliff:g> minuti. Kas soovite kohe väljuda?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Valitud toiming ei ole hädaabikõne ajal saadaval."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Väljumine hädaolukorra tagasihelistusrežiimist"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Jah"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Hädaabikõned"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Ainult hädaabikõned"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kaart, pilu: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Juurdepääsetavus"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Sissetulev WiFi-kõne"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"WiFi-kõne"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Avamiseks puudutage uuesti"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Sõnumi dekodeerimisel ilmnes viga."</string>
 </resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
index db5654c..286d055 100644
--- a/res/values-eu-rES/strings.xml
+++ b/res/values-eu-rES/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonoko kontuak"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Gehitu SIP kontua"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguratu kontuaren ezarpenak"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi bidezko deiak"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi bidezko deiak"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ez erabili Wi-Fi bidezko deiak"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ez erabili deiak egiteko laguntzailea"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Bat ere ez"</string>
@@ -76,8 +76,9 @@
     <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"Kudeatu txartel honekin egindako deietarako erabili beharreko sareak:"</string>
     <string name="wifi_calling_use_call_assistant_summary" msgid="6599987137133339698">"Utzi aplikazioei edo zerbitzuei deiak egiteko erabili beharreko sareak kudeatzen"</string>
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfiguratu"</string>
-    <string name="connection_service_default_label" msgid="1498481943805913754">"Konektatzeko zerbitzu bateratua"</string>
+    <string name="connection_service_default_label" msgid="1498481943805913754">"Konektatzeko zerbitzu integratua"</string>
     <string name="voicemail" msgid="8693759337917898954">"Erantzungailua"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Erantzungailua (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Erantzungailua:"</string>
     <string name="networks" msgid="8873030692174541976">"Sare-operadoreak"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Larrialdietako igorpenak"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Konektatu datu-zerbitzuetara ibiltaritzan"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Konektatu datu-zerbitzuetara ibiltaritzan"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Datu-konexioa galdu duzu ibiltaritza desaktibatuta izanda etxeko saretik irten zarelako."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Ibiltaritzan zaudenean datuak erabiltzea baimendu nahi duzu? Agian gastu handiak izango dituzu."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Baliteke kostu handiak ordaindu behar izatea."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Ibiltaritzako datuak baimendu nahi dituzu?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS aukerak"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA aukerak"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Datuen erabilera"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Ezarri TTY modua"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Saiatu berriro automatikoki"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Gaitu automatikoki berriro saiatzeko modua"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Ezin da aldatu TTY modua bideo-deiak abian direnean"</string>
     <string name="menu_add" msgid="1882023737425114762">"Gehitu kontaktua"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Editatu kontaktua"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Ezabatu kontaktua"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM txarteletik irakurtzen…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Ez duzu kontakturik SIM txartelean."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Aukeratu inportatu beharreko kontaktuak"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM txarteleko kontaktuak inportatzeko, Hegaldi modua desaktibatu behar duzu."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM txarteleko kontaktuak inportatzeko, desaktibatu hegaldi modua."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Gaitu/Desgaitu SIM txartelaren PIN kodea"</string>
     <string name="change_pin" msgid="9174186126330785343">"Aldatu SIM txartelaren PIN kodea"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM txartelaren PIN kodea:"</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Amaitu deia"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Erantzun deiari"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mezua"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Dei bat egiteko, Hegaldi modua desaktibatu behar duzu."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Deia egiteko, desaktibatu hegaldi modua."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Deia egiteko, desaktibatu hegaldi modua edo konektatu haririk gabeko sare batera."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ez dago sarean erregistratuta."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Sare mugikorra ez dago erabilgarri."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Sare mugikorra ez dago erabilgarri. Deia egiteko, konektatu haririk gabeko sare batera."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Deitzeko, idatzi balio duen zenbaki bat."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Ezin da deitu."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI sekuentzia hasten…"</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Ezin da konferentzia-deirik egin."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Ezin da deia baztertu."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Ezin dira deiak bereizi."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Deia egiteko, konektatu haririk gabeko sare batera."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Larrialdi-deia"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Irratia pizten…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ez dago zerbitzurik. Berriro saiatzen…"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Larrialdi-deiak soilik jasotzeko modua aktibatu da"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Larrialdi-deiak soilik jasotzeko modua"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Datu-konexioa desgaituta"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Ez da datu-konexiorik egin <xliff:g id="COUNT">%s</xliff:g> minutuan"</item>
-    <item quantity="other" msgid="3122217344579273583">"Ez da datu-konexiorik egin <xliff:g id="COUNT">%s</xliff:g> minutuan"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefonoa Larrialdi-deiak soilik jasotzeko moduan egongo da <xliff:g id="COUNT">%s</xliff:g> minutuz. Modu horretan dagoen bitartean, ezingo duzu datu-konexioa behar duen aplikaziorik erabili. Irten nahi duzu?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefonoa Larrialdi-deiak soilik jasotzeko moduan egongo da <xliff:g id="COUNT">%s</xliff:g> minutuz. Modu horretan dagoen bitartean, ezingo duzu datu-konexioa behar duen aplikaziorik erabili. Irten nahi duzu?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Hautatutako ekintza ez dago Larrialdi-deiak soilik jasotzeko moduan erabilgarri. Telefonoa <xliff:g id="COUNT">%s</xliff:g> minutuz egongo da modu horretan. Irten nahi duzu?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Hautatutako ekintza ez dago Larrialdi-deiak soilik jasotzeko moduan erabilgarri. Telefonoa <xliff:g id="COUNT">%s</xliff:g> minutuz egongo da modu horretan. Irten nahi duzu?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Ez da datu-konexiorik egin <xliff:g id="COUNT_1">%s</xliff:g> minututan</item>
+      <item quantity="one">Ez da datu-konexiorik egin <xliff:g id="COUNT_0">%s</xliff:g> minutuan</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefonoa larrialdi-deiak soilik jasotzeko moduan egongo da <xliff:g id="COUNT_1">%s</xliff:g> minutuz. Modu horretan dagoen bitartean, ezingo duzu datu-konexioa behar duen aplikaziorik erabili. Irten nahi duzu?</item>
+      <item quantity="one">Telefonoa larrialdi-deiak soilik jasotzeko moduan egongo da <xliff:g id="COUNT_0">%s</xliff:g> minutuz. Modu horretan dagoen bitartean, ezingo duzu datu-konexioa behar duen aplikaziorik erabili. Irten nahi duzu?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Hautatutako ekintza ez dago larrialdi-deiak soilik jasotzeko moduan erabilgarri. Telefonoa <xliff:g id="COUNT_1">%s</xliff:g> minutuz egongo da modu horretan. Irten nahi duzu?</item>
+      <item quantity="one">Hautatutako ekintza ez dago larrialdi-deiak soilik jasotzeko moduan erabilgarri. Telefonoa <xliff:g id="COUNT_0">%s</xliff:g> minutuz egongo da modu horretan. Irten nahi duzu?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Hautatutako ekintza ez dago erabilgarri larrialdi-deia egiten ari den bitartean."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Larrialdi-deiak soilik jasotzeko modutik irteten"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Bai"</string>
@@ -546,7 +552,7 @@
     <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Soinua"</string>
     <string name="dial_pad_autocomplete" msgid="7683489952557536398">"Markagailua osatzea"</string>
     <string name="preference_category_ringtone" msgid="5197960752529332721">"Tonua eta dardara"</string>
-    <string name="pstn_connection_service_label" msgid="1743245930577325900">"SIM txartel barneratuak"</string>
+    <string name="pstn_connection_service_label" msgid="1743245930577325900">"SIM txartel integratuak"</string>
     <string name="enable_video_calling_title" msgid="7237253660669000899">"Aktibatu bideo-deiak"</string>
     <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"Bideo-deiak aktibatzeko, 4G LTE modu hobetua aktibatu behar duzu \"Sarearen ezarpenak\" atalean."</string>
     <string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"Sareko ezarpenak"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Larrialdi-deiak"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Larrialdi-deiak soilik"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM txartela, <xliff:g id="SLOT_ID">%s</xliff:g> erretena"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Erabilerraztasuna"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Sarrerako Wi-Fi deia"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi deia"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Irekitzeko, ukitu berriro"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Errore bat gertatu mezua deskodetzean."</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5f20b9d..d75efd0 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"حساب‌های تلفن"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"‏افزودن حساب SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"پیکربندی تنظیمات حساب"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"‏تماس از طریق Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"‏تماس از طریق Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"‏از تماس از طریق Wi-Fi استفاده نشود"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"از دستیار تماس استفاده نشود"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"هیچ‌کدام"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"پیکربندی"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"سرویس اتصال داخلی"</string>
     <string name="voicemail" msgid="8693759337917898954">"پست صوتی"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"پست صوتی (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"اپراتورهای شبکه"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"پخش هشدارهای اضطراری"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"اتصال به سرویس‌های داده هنگام رومینگ"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"اتصال به سرویس‌های داده هنگام رومینگ"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"اتصال داده خود را از دست داده‌اید، زیرا از شبکه اصلی خود خارج شدید و رومینگ داده خاموش است،"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"استفاده از داده هنگام رومینگ اجازه داده شود؟ ممکن است هزینه‌های قابل توجهی اعمال شوند."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"شاید هزینه زیادی برای شما داشته باشد."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"رومینگ داده مجاز است؟"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"‏گزینه‌های GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"‏گزینه‌های CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"مصرف داده"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"‏تنظیم حالت TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"سعی مجدد خودکار"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"فعال کردن حالت سعی مجدد خودکار"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"‏تغییر حالت TTY در طول تماس ویدیویی مجاز نیست"</string>
     <string name="menu_add" msgid="1882023737425114762">"افزودن مخاطب"</string>
     <string name="menu_edit" msgid="7143003705504672374">"ویرایش مخاطب"</string>
     <string name="menu_delete" msgid="3977150783449642851">"حذف مخاطب"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"در حال خواندن سیم کارت..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"مخاطبی در سیم کارت شما موجود نیست."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"انتخاب مخاطبین برای ورود"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"برای وارد کردن مخاطبین از سیم کارت، ابتدا حالت هواپیما را خاموش کنید."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"برای وارد کردن مخاطبین از سیم کارت، حالت هواپیما را خاموش کنید."</string>
     <string name="enable_pin" msgid="5422767284133234860">"فعال کردن/غیر فعال کردن پین سیم"</string>
     <string name="change_pin" msgid="9174186126330785343">"تغییر پین سیم"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"پین سیم:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"قطع تماس"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"پاسخ تماس"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"پیام"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"برای برقراری یک تماس، ابتدا حالت هواپیما را خاموش کنید."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"برای برقراری تماس، حالت پرواز را خاموش کنید."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"برای برقرای تماس، حالت پرواز را خاموش کنید یا به شبکه بی‌سیم وصل شوید."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"در شبکه ثبت نشده است."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"شبکه تلفن همراه در دسترس نیست."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"شبکه همراه در دسترس نیست. برای برقراری تماس به یک شبکه بی‌سیم وصل شوید."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"برای برقراری تماس، یک شماره معتبر وارد کنید."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"نمی‌توانید تماس بگیرید."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"‏شروع ترتیب MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"تماس‌های کنفرانسی امکان‌پذیر نیست."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"نمی‌توانید تماس را رد کنید."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"نمی‌توانید تماس(ها) را آزاد کنید."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"برای برقراری تماس، به یک شبکه بی‌سیم وصل شوید"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"تماس اضطراری"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"در حال روشن کردن رادیو..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"سرویسی در دسترس نیست. دوباره امتحان کنید..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"حالت پاسخ تماس اضطراری وارد شده"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"حال پاسخ تماس اضطراری"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"اتصال داده غیر فعال شد"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"اتصال داده‌ای به مدت <xliff:g id="COUNT">%s</xliff:g> دقیقه موجود نیست"</item>
-    <item quantity="other" msgid="3122217344579273583">"اتصال داده‌ای به مدت <xliff:g id="COUNT">%s</xliff:g> دقیقه موجود نیست"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"تلفن به مدت <xliff:g id="COUNT">%s</xliff:g> دقیقه در حالت پاسخ به تماس‌های اضطراری خواهد بود. در این حالت برنامه‌هایی که از اتصال داده استفاده می‌کنند قابل استفاده نیستند. آیا می‌خواهید اکنون خارج شوید؟"</item>
-    <item quantity="other" msgid="8617116564023933114">"تلفلن به مدت <xliff:g id="COUNT">%s</xliff:g> دقیقه در حالت پاسخ به تماس‌های اضطراری خواهد بود. در این حالت برنامه‌هایی که از اتصال داده استفاده می‌کنند قابل استفاده نیستند. آیا می‌خواهید اکنون خارج شوید؟"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"عملکرد انتخاب شده در حالت پاسخ به تماس اضطراری در دسترس نیست. تلفن مدت <xliff:g id="COUNT">%s</xliff:g> دقیقه در این حالت است. آیا می‌خواهید اکنون خارج شوید؟"</item>
-    <item quantity="other" msgid="6115622137771382224">"عمل انتخاب شده در حالت پاسخ به تماس اضطراری در دسترس نیست. تلفن مدت <xliff:g id="COUNT">%s</xliff:g> دقیقه در این حالت باقی می‌ماند. آیا می‌خواهید اکنون خارج شوید؟"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">هیچ اتصال داده‌ای برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه موجود نیست</item>
+      <item quantity="other">هیچ اتصال داده‌ای برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه موجود نیست</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در حالت تماس اضطراری خواهد بود. در این حالت برنامه‌ای که از اتصال داده استفاده می‌کند، نمی‌تواند استفاده شود. می‌خواهید اکنون خارج شوید؟</item>
+      <item quantity="other">تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در حالت تماس اضطراری خواهد بود. در این حالت برنامه‌ای که از اتصال داده استفاده می‌کند، نمی‌تواند استفاده شود. می‌خواهید اکنون خارج شوید؟</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">اقدام انتخاب شده در حالت تماس اضطراری در دسترس نیست. این تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در این حالت خواهد بود. می‌خواهید اکنون خارج شوید؟</item>
+      <item quantity="other">اقدام انتخاب شده در حالت تماس اضطراری در دسترس نیست. این تلفن برای <xliff:g id="COUNT_1">%s</xliff:g> دقیقه در این حالت خواهد بود. می‌خواهید اکنون خارج شوید؟</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"در حین یک تماس اضطراری، عملکرد انتخابی در دسترس نیست."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"خروج از حالت پاسخ تماس اضطراری"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"بله"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"تماس‌های اضطراری"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"فقط تماس‌های اضطراری"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"سیم‌کارت، شکاف: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"دسترس‌پذیری"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"‏تماس Wi-Fi ورودی"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"‏تماس Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"لمس دوباره برای باز کردن"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"هنگام رمزگشایی پیام، خطایی روی داد."</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 099ebbb..0528c70 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Puhelintilit"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Lisää SIP-tili"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Tiliasetusten määrittäminen"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi-puhelut"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-puhelut"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Älä käytä puheluihin Wi-Fiä"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Älä käytä puheluapuria"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ei mitään"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Asetukset"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Oletusyhteyspalvelu"</string>
     <string name="voicemail" msgid="8693759337917898954">"Vastaaja"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Puhelinvastaaja (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Vast.:"</string>
     <string name="networks" msgid="8873030692174541976">"Verkko-operaattorit"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Hätätilalähetykset"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Yhdistä verkkoon roaming-tilassa"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Yhdistä verkkoon roaming-tilassa"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Menetit verkkoyhteyden, koska poistuit kotiverkkosi alueelta eikä tiedonsiirron roaming-tila ole käytössä."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Sallitaanko mobiilidatan käyttö roaming-tilassa? Tästä saattaa aiheutua merkittäviä maksuja."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Siitä voi aiheutua huomattavia kuluja."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Sallitaanko tiedonsiirto roaming-tilassa?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS-asetukset"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-asetukset"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Datan käyttö"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Aseta TTY-tila"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automaattinen uudelleenyritys"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Ota Automaattinen uudelleenyritys -tila käyttöön"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY-tilan muutoksia ei sallita videopuhelun aikana."</string>
     <string name="menu_add" msgid="1882023737425114762">"Lisää yhteystieto"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Muokkaa yhteystietoa"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Poista yhteystieto"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Luetaan SIM-korttia…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM-kortilla ei ole yhteystietoja."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Valitse tuotavat yhteystiedot"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Poista lentokonetila käytöstä, niin voit tuoda yhteystietoja SIM-kortilta."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Poista lentokonetila käytöstä, jos haluat tuoda yhteystietoja SIM-kortilta."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Ota SIM-kortin PIN-koodi käyttöön / poista koodi käytöstä"</string>
     <string name="change_pin" msgid="9174186126330785343">"Vaihda SIM-kortin PIN-koodi"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM-kortin PIN-koodi:"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Katkaise puhelu"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Soita takaisin"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Viesti"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Poista lentokonetila käytöstä ennen puhelun soittamista."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Poista lentokonetila käytöstä, jos haluat soittaa puhelun."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Poista lentokonetila käytöstä tai yhdistä langattomaan verkkoon, jos haluat soittaa puhelun."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ei rekisteröity verkkoon."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Matkapuhelinverkko ei ole käytettävissä."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Matkapuhelinverkko ei ole käytettävissä. Yhdistä langattomaan verkkoon, jos haluat soittaa puhelun."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Soita antamalla kelvollinen numero."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Puhelua ei voi soittaa."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Aloitetaan MMI-koodisekvenssiä..."</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Puhelujen yhdistäminen epäonnistui."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Puhelua ei voi hylätä."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Puheluja ei voi vapauttaa."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Yhdistä langattomaan verkkoon, jos haluat soittaa puhelun."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Hätäpuhelu"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Käynnistetään radiota…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ei yhteyttä. Yritetään uudelleen…"</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Käytössä hätäpuhelujen takaisinsoittotila"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Hätäpuhelujen takaisinsoittotila"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Verkkoyhteys pois käytöstä"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Ei verkkoyhteyttä <xliff:g id="COUNT">%s</xliff:g> minuuttiin"</item>
-    <item quantity="other" msgid="3122217344579273583">"Ei verkkoyhteyttä <xliff:g id="COUNT">%s</xliff:g> minuuttiin"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Puhelin on hätäpuhelujen takaisinsoittotilassa <xliff:g id="COUNT">%s</xliff:g> minuutin ajan. Tässä tilassa datayhteyttä hyödyntäviä sovelluksia ei voi käyttää. Haluatko lopettaa nyt?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Puhelin on hätäpuhelujen takaisinsoittotilassa <xliff:g id="COUNT">%s</xliff:g> minuutin ajan. Tässä tilassa datayhteyttä hyödyntäviä sovelluksia ei voi käyttää. Haluatko lopettaa nyt?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelu pysyy tässä tilassa <xliff:g id="COUNT">%s</xliff:g> minuutin ajan. Haluatko poistua nyt?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Valittu toiminto ei ole käytettävissä hätäpuhelujen takaisinsoittotilassa. Puhelu pysyy tässä tilassa <xliff:g id="COUNT">%s</xliff:g> minuutin ajan. Haluatko poistua nyt?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Ei verkkoyhteyttä <xliff:g id="COUNT_1">%s</xliff:g> minuuttiin</item>
+      <item quantity="one">Ei verkkoyhteyttä <xliff:g id="COUNT_0">%s</xliff:g> minuuttiin</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Puhelin siirtyy hätäpuhelujen takaisinsoittotilaan <xliff:g id="COUNT_1">%s</xliff:g> minuutin ajaksi. Et voi käyttää verkkoyhteyttä hyödyntäviä sovelluksia tänä aikana. Haluatko poistua nyt?</item>
+      <item quantity="one">Puhelin siirtyy hätäpuhelujen takaisinsoittotilaan <xliff:g id="COUNT_0">%s</xliff:g> minuutin ajaksi. Et voi käyttää verkkoyhteyttä hyödyntäviä sovelluksia tänä aikana. Haluatko poistua nyt?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Valittua toimintoa ei voi käyttää, kun puhelin on hätäpuhelujen takaisinsoittotilassa. Puhelin on takaisinsoittotilassa <xliff:g id="COUNT_1">%s</xliff:g> minuutin ajan. Haluatko poistua nyt?</item>
+      <item quantity="one">Valittua toimintoa ei voi käyttää, kun puhelin on hätäpuhelujen takaisinsoittotilassa. Puhelin on takaisinsoittotilassa <xliff:g id="COUNT_0">%s</xliff:g> minuutin ajan. Haluatko poistua nyt?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Valittu toiminto ei ole käytettävissä hätäpuhelun aikana"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Poistutaan hätäpuhelujen takaisinsoittotilasta"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Kyllä"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Hätäpuhelut"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Vain hätäpuhelut"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kortti, paikka: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Esteettömyys"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Saapuva Wi-Fi-puhelu"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi-puhelu"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Avaa koskettamalla uudelleen."</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Virhe purettaessa viestiä."</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 824a48f..6277a25 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Comptes du téléphone"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ajouter un compte SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurer les paramètres du compte"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Appels Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Appels Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne pas utiliser les appels par Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne pas utiliser l\'assistant d\'appel"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Aucun"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurer"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Service de connexion intégré"</string>
     <string name="voicemail" msgid="8693759337917898954">"Messagerie vocale"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Messagerie vocale (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"MV :"</string>
     <string name="networks" msgid="8873030692174541976">"Opérateur de réseau"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Diffusions d\'urgence"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Vous avez été déconnecté, car vous avez quitté le réseau domestique et l\'itinérance des données est désactivée."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Autoriser l\'utilisation des données en itinérance? Des frais importants peuvent s\'appliquer."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Des frais importants peuvent s\'appliquer."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Autoriser les données en itinérance?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Options GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Options CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Utilisation des données"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Définir le mode TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Réessayer automatiquement"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Activer le mode Réessayer automatiquement"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Le changement de mode ATS n\'est pas autorisé pendant les appels vidéo"</string>
     <string name="menu_add" msgid="1882023737425114762">"Ajouter un contact"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Modifier un contact"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Supprimer le contact"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lecture de la carte SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Aucun contact n\'a été trouvé sur votre carte SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Sélection des contacts à importer"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Pour importer des contacts depuis la carte SIM, désactivez tout d\'abord le mode Avion."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Désactivez le mode Avion pour importer des contacts de la carte SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activer/désactiver le NIP de la carte SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Modifier le NIP de la carte SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"NIP de la carte SIM :"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Raccrocher"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Rappeler"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Veuillez désactiver le mode Avion avant de passer un appel."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Désactivez le mode Avion pour faire un appel."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Désactivez le mode Avion ou connectez-vous à un réseau Wi-Fi pour faire un appel."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Non enregistré sur le réseau"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Réseau cellulaire non disponible."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Le réseau cellulaire n\'est pas accessible. Connectez-vous à un réseau Wi-Fi pour faire un appel."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Pour faire un appel, entrez un numéro valide."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Impossible d\'appeler."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Lancement de la séquence IHM..."</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Impossible d\'effectuer des conférences téléphoniques."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Impossible de refuser l\'appel."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Impossible de libérer l\'appel ou les appels."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Connectez-vous à un réseau Wi-Fi pour faire un appel."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Appel d\'urgence"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activation du signal radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Aucun service. Nouvel essai en cours..."</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Mode de rappel d\'urgence activé"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Mode de rappel d\'urgence"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Connexion des données désactivée"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Aucune connexion à Internet pendant <xliff:g id="COUNT">%s</xliff:g> minute"</item>
-    <item quantity="other" msgid="3122217344579273583">"Aucune connexion de données pendant <xliff:g id="COUNT">%s</xliff:g> minutes"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Le mode de rappel d\'urgence sera actif sur le téléphone pendant <xliff:g id="COUNT">%s</xliff:g> minute. Tant que ce mode est actif, vous ne pouvez utiliser aucune des applications nécessitant une connexion Internet. Voulez-vous quitter maintenant?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Le mode de rappel d\'urgence sera actif sur le téléphone pendant <xliff:g id="COUNT">%s</xliff:g> minutes. Tant que ce mode est actif, vous ne pouvez utiliser aucune des applications nécessitant une connexion Internet. Voulez-vous quitter maintenant?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> minute. Voulez-vous quitter maintenant?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> minutes. Voulez-vous quitter maintenant?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Aucune connexion de données pendant <xliff:g id="COUNT_1">%s</xliff:g> minute</item>
+      <item quantity="other">Aucune connexion de données pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minute.  Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant?</item>
+      <item quantity="other"> Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes. Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Voulez-vous quitter l\'écran maintenant?</item>
+      <item quantity="other">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes. Voulez-vous quitter l\'écran maintenant?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"L\'action sélectionnée n\'est pas disponible pendant un appel d\'urgence."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Sortie du mode de rappel d\'urgence…"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Oui"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Appels d\'urgence"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Appels d\'urgence seulement"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Carte SIM, fente : <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibilité"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Appel Wi-Fi entrant"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Appel Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Touchez à nouveau pour ouvrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Une erreur s\'est produite lors du décodage du message."</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 3df2b3e..d41f5a0 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Comptes téléphone"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ajouter un compte SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurer les paramètres du compte"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Appels Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Appels Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne pas utiliser les appels Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne pas utiliser l\'assistant d\'appel"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Aucun"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurer"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Service de connexion intégré"</string>
     <string name="voicemail" msgid="8693759337917898954">"Messagerie vocale"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Messagerie vocale (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"MV :"</string>
     <string name="networks" msgid="8873030692174541976">"Opérateurs de réseau"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Messages d\'urgence"</string>
@@ -147,7 +148,7 @@
     <string name="no_change" msgid="3186040086622435212">"Aucune modification n\'a été apportée."</string>
     <string name="sum_voicemail_choose_provider" msgid="59911196126278922">"Choisissez un service de messagerie vocale."</string>
     <string name="voicemail_default" msgid="2001233554889016880">"Votre opérateur"</string>
-    <string name="mobile_networks" msgid="2843854043339307375">"Paramètres des réseaux mobiles"</string>
+    <string name="mobile_networks" msgid="2843854043339307375">"Paramètres du réseau mobile"</string>
     <string name="label_available" msgid="1181658289009300430">"Réseaux disponibles"</string>
     <string name="load_networks_progress" msgid="5230707536168902952">"Recherche..."</string>
     <string name="empty_networks_list" msgid="4249426905018815316">"Aucun réseau trouvé."</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Se connecter aux services de données lors de l\'itinérance"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Vous avez été déconnecté, car vous avez quitté le réseau domestique et l\'itinérance des données est désactivée."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Autoriser la consommation de données en itinérance ? Des frais importants peuvent s\'appliquer."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Des frais importants peuvent s\'appliquer."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Autoriser l\'itinérance des données ?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Options GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Options CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Consommation des données"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Définir le mode TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Réessayer automatiquement"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Activer le mode Réessayer automatiquement"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Le changement de mode TTY n\'est pas autorisé durant un appel vidéo."</string>
     <string name="menu_add" msgid="1882023737425114762">"Ajouter un contact"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Modifier le contact"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Supprimer le contact"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lecture de la carte SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Aucun contact n\'a été trouvé sur votre carte SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Sélection des contacts à importer"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Pour importer des contacts depuis la carte SIM, désactivez tout d\'abord le mode Avion."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Désactivez le mode Avion pour importer des contacts depuis la carte SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activer/désactiver le code PIN de la carte SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Modifier le code PIN de la carte SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Code PIN de la carte SIM :"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Raccrocher"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Rappeler"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Message"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Veuillez d\'abord désactiver le mode Avion, afin d\'effectuer un appel."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Désactivez le mode Avion pour passer un appel."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Désactivez le mode Avion ou connectez-vous à un réseau sans fil pour passer un appel."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Non enregistré sur le réseau."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Réseau mobile non disponible."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Le réseau mobile n\'est pas disponible. Connectez-vous à un réseau sans fil pour passer un appel."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Pour émettre un appel, veuillez saisir un numéro valide."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Impossible d\'émettre l\'appel."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Lancement de la séquence IHM..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Impossible d\'effectuer des conférences téléphoniques."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Impossible de refuser l\'appel."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Impossible de lancer les appels."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Connectez-vous à un réseau sans fil pour passer un appel."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Appel d\'urgence"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activation du signal radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Aucun service disponible. Nouvelle tentative en cours…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Mode de rappel d\'urgence activé"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Mode de rappel d\'urgence"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Connexion des données désactivée"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Aucune connexion de données pendant <xliff:g id="COUNT">%s</xliff:g> minute"</item>
-    <item quantity="other" msgid="3122217344579273583">"Aucune connexion de données pendant <xliff:g id="COUNT">%s</xliff:g> minutes"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Le mode de rappel d\'urgence sera actif sur le téléphone pendant <xliff:g id="COUNT">%s</xliff:g> minute. Tant que ce mode est actif, vous ne pouvez utiliser aucune des applications nécessitant une connexion Internet. Voulez-vous quitter maintenant ?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Le mode de rappel d\'urgence sera actif sur le téléphone pendant <xliff:g id="COUNT">%s</xliff:g> minutes. Tant que ce mode est actif, vous ne pouvez utiliser aucune des applications nécessitant une connexion Internet. Voulez-vous quitter maintenant ?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> minute. Voulez-vous quitter maintenant ?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> minutes. Voulez-vous quitter maintenant ?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Aucune connexion à Internet pendant <xliff:g id="COUNT_1">%s</xliff:g> minute</item>
+      <item quantity="other">Aucune connexion à Internet pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant ?</item>
+      <item quantity="other">Le téléphone sera en mode de rappel d\'urgence pendant <xliff:g id="COUNT_1">%s</xliff:g> minutes. Lorsque ce mode est activé, vous ne pouvez pas utiliser d\'applications nécessitant une connexion à Internet. Voulez-vous quitter l\'écran maintenant ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Voulez-vous quitter l\'écran maintenant ?</item>
+      <item quantity="other">L\'action sélectionnée n\'est pas disponible lorsque le mode de rappel d\'urgence est activé. Ce mode restera activé sur ce téléphone pendant <xliff:g id="COUNT_1">%s</xliff:g> minute. Voulez-vous quitter l\'écran maintenant ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"L\'action sélectionnée n\'est pas disponible pendant un appel d\'urgence."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Sortie du mode de rappel d\'urgence…"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Oui"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Appels d\'urgence"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Appels d\'urgence seulement"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Carte SIM, emplacement : <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibilité"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Appel Wi-Fi entrant"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Appel Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Appuyer à nouveau pour ouvrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Une erreur s\'est produite lors du décodage du message."</string>
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
index 30e19c6..6c01a79 100644
--- a/res/values-gl-rES/strings.xml
+++ b/res/values-gl-rES/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Contas do teléfono"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Engadir conta SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Determinar configuración da conta"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Chamadas por wifi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Chamadas por wifi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Non utilizar as chamadas wifi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Non utilizar o asistente de chamadas"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ningún"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurar"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Servizo de conexión integrado"</string>
     <string name="voicemail" msgid="8693759337917898954">"Correo de voz"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Correo de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"CV:"</string>
     <string name="networks" msgid="8873030692174541976">"Operadores de rede"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Emisións de emerxencia"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Conecta cos servizos de datos durante a itinerancia"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Conecta cos servizos de datos durante a itinerancia"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Perdiches a conectividade de datos debido a que abandonaches a túa rede doméstica coa itinerancia de datos desactivada."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Queres permitir o uso e datos en itinerancia? Poden aplicarse cargos significantes."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"É posible que se apliquen custos elevados."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Permitir a itinerancia de datos?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opcións de GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opcións de CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Uso de datos"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Definir modo TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Reintento automático"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Activar o modo de reintento automático"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Non se permite cambiar o modo TTY durante as videochamadas"</string>
     <string name="menu_add" msgid="1882023737425114762">"Engadir contacto"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Editar contacto"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Eliminar contacto"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lendo da tarxeta SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Non hai contactos na tarxeta SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleccionar contactos para importar"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar contactos da tarxeta SIM, primeiro desactiva o modo avión."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Desactiva o modo avión para importar contactos da tarxeta SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activar/desactivar o PIN da SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Cambiar PIN da SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN da SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Colgar"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Devolver chamada"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaxe"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Para facer unha chamada, primeiro desactiva o modo avión."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Desactiva o modo avión para facer unha chamada."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Desactiva o modo avión ou conéctate a unha rede sen fíos para facer unha chamada."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Sen rexistro na rede"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rece móbil non dispoñible."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"A rede móbil non está dispoñible. Conéctate a unha rede sen fíos para facer unha chamada."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Para realizar unha chamada, introduce un número válido."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Non se pode chamar."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciando secuencia MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Non se poden efectuar conferencias."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Non se pode rexeitar a chamada."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Non se poden desconectar as chamadas."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Conéctate a unha rede sen fíos para facer unha chamada."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emerxencia"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Activando radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Sen servizo. Tentando de novo…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Accedeuse ao modo de devolución de chamadas de emerxencia"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de devolución de chamadas de emerxencia"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Conexión de datos desactivada"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Non houbo conexión de datos durante <xliff:g id="COUNT">%s</xliff:g> minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Non houbo conexión de datos durante <xliff:g id="COUNT">%s</xliff:g> minutos"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"O teléfono estará en modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT">%s</xliff:g> minuto. Mentres está neste modo, non se poden utilizar aplicacións que usen conexión de datos. Queres saír agora?"</item>
-    <item quantity="other" msgid="8617116564023933114">"O teléfono estará en modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT">%s</xliff:g> minutos. Mentres está neste modo, non se poden utilizar aplicacións que usen conexión de datos. Queres saír agora?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"A acción seleccionada non está dispoñible durante o modo de devolución de chamada de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT">%s</xliff:g> minuto. Queres saír agora?"</item>
-    <item quantity="other" msgid="6115622137771382224">"A acción seleccionada non está dispoñible durante o modo de devolución de chamada de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT">%s</xliff:g> minutos. Queres saír agora?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Non houbo conexión de datos durante <xliff:g id="COUNT_1">%s</xliff:g> minutos</item>
+      <item quantity="one">Non houbo conexión de datos durante <xliff:g id="COUNT_0">%s</xliff:g> minuto</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">O teléfono estará no modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
+      <item quantity="one">O teléfono estará no modo de devolución de chamada de emerxencia durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Mentres se atope neste modo, non se poderá usar ningunha aplicación que utilice unha conexión de datos. Queres saír agora?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Queres saír agora?</item>
+      <item quantity="one">A acción seleccionada non está dispoñible durante o modo de devolución de chamadas de emerxencia. O teléfono estará neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Queres saír agora?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"A acción seleccionada non está dispoñible durante as chamadas de emerxencia."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Saíndo do modo de devolución de chamadas de emerxencia"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Si"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Chamadas de emerxencia"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Só chamadas de emerxencia"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Tarxeta SIM, rañura: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accesibilidade"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Chamada wifi entrante"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Chamada wifi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Toca outra vez para abrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Produciuse un erro durante a descodificación da mensaxe."</string>
 </resources>
diff --git a/res/values-gu-rIN/arrays.xml b/res/values-gu-rIN/arrays.xml
new file mode 100644
index 0000000..b6c7c38
--- /dev/null
+++ b/res/values-gu-rIN/arrays.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+     Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="preferred_network_mode_choices_world_mode">
+    <item msgid="3391522821603584785">"વૈશ્વિક"</item>
+    <item msgid="6753774959494729275">"LTE / CDMA"</item>
+    <item msgid="8658695584186942227">"LTE / GSM / UMTS"</item>
+  </string-array>
+  <string-array name="preferred_network_mode_values_world_mode">
+    <item msgid="8390941159766263625">"10"</item>
+    <item msgid="6103348346295810336">"8"</item>
+    <item msgid="3494519853214024879">"9"</item>
+  </string-array>
+</resources>
diff --git a/res/values-gu-rIN/strings.xml b/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..34933c9
--- /dev/null
+++ b/res/values-gu-rIN/strings.xml
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="phoneAppLabel" product="tablet" msgid="1107073389495104784">"સેલ્યુલર ડેટા"</string>
+    <string name="phoneAppLabel" product="default" msgid="906161039445636857">"ફોન"</string>
+    <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"કટોકટીનું ડાયલર"</string>
+    <string name="phoneIconLabel" msgid="2331230813161304895">"ફોન"</string>
+    <string name="fdnListLabel" msgid="8630418672279521003">"FDN સૂચિ"</string>
+    <string name="unknown" msgid="6878797917991465859">"અજાણ્યું"</string>
+    <string name="private_num" msgid="6713286113000232309">"ખાનગી નંબર"</string>
+    <string name="payphone" msgid="4793877574636445118">"પેફોન"</string>
+    <string name="onHold" msgid="9035493194749959955">"હોલ્ડ પર"</string>
+    <string name="mmiStarted" msgid="6347869857061147003">"MMI કોડ પ્રારંભ કર્યો"</string>
+    <string name="ussdRunning" msgid="485588686340541690">"USSD કોડ ચાલે છે…"</string>
+    <string name="mmiCancelled" msgid="2771923949751842276">"MMI કોડ રદ કર્યો"</string>
+    <string name="cancel" msgid="5044513931633602634">"રદ કરો"</string>
+    <string name="enter_input" msgid="1810529547726803893">"USSD સંદેશ <xliff:g id="MIN_LEN">%d</xliff:g> અને <xliff:g id="MAX_LEN">%d</xliff:g> વર્ણ વચ્ચેનો હોવો આવશ્યક છે. કૃપા કરીને ફરી પ્રયાસ કરો."</string>
+    <string name="manageConferenceLabel" msgid="4691922394301969053">"કોન્ફરન્સ કૉલ સંચાલિત કરો"</string>
+    <string name="ok" msgid="3811371167865772377">"ઑકે"</string>
+    <string name="audio_mode_speaker" msgid="27649582100085266">"સ્પીકર્સ"</string>
+    <string name="audio_mode_earpiece" msgid="4156527186373869107">"હેન્ડસેટ ઇઅરપીસ"</string>
+    <string name="audio_mode_wired_headset" msgid="1465350758489175975">"વાયર્ડ હેડસેટ"</string>
+    <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+    <string name="wait_prompt_str" msgid="7601815427707856238">"નીચે આપેલ ટોન્સ મોકલીએ?\n"</string>
+    <string name="pause_prompt_str" msgid="1789964702154314806">"ટોન્સ મોકલી રહ્યાં છે\n"</string>
+    <string name="send_button" msgid="4106860097497818751">"મોકલો"</string>
+    <string name="pause_prompt_yes" msgid="3564467212025151797">"હા"</string>
+    <string name="pause_prompt_no" msgid="6686238803236884877">"નહીં"</string>
+    <string name="wild_prompt_str" msgid="5543521676355533577">"પહોળા વર્ણને આની સાથે બદલો"</string>
+    <string name="no_vm_number" msgid="4164780423805688336">"વૉઇસમેઇલ નંબર ખૂટે છે"</string>
+    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM કાર્ડ પર કોઈ વૉઇસમેઇલ નંબર સંગ્રહિત નથી."</string>
+    <string name="add_vm_number_str" msgid="4676479471644687453">"નંબર ઉમેરો"</string>
+    <string name="puk_unlocked" msgid="2284912838477558454">"તમારા SIM કાર્ડને અનાવરોધિત કરવામાં આવ્યું છે. તમારા ફોનને અનલૉક કરી રહ્યાં છે…"</string>
+    <string name="label_ndp" msgid="780479633159517250">"SIM નેટવર્ક અનલૉક PIN"</string>
+    <string name="sim_ndp_unlock_text" msgid="683628237760543009">"અનલૉક કરો"</string>
+    <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"છોડી દો"</string>
+    <string name="requesting_unlock" msgid="6412629401033249351">"નેટવર્ક અનલૉકની વિનંતી કરી રહ્યાં છે…"</string>
+    <string name="unlock_failed" msgid="6490531697031504225">"નેટવર્ક અનલૉક વિનંતી અસફળ."</string>
+    <string name="unlock_success" msgid="6770085622238180152">"નેટવર્ક અનલૉક સફળ."</string>
+    <string name="mobile_network_settings_not_available" msgid="3831911315358856062">"સેલ્યુલર નેટવર્ક સેટિંગ્સ આ વપરાશકર્તા માટે ઉપલબ્ધ નથી"</string>
+    <string name="labelGSMMore" msgid="5930842194056092106">"GSM કૉલ સેટિંગ્સ"</string>
+    <string name="labelCDMAMore" msgid="1630676740428229339">"CDMA કૉલ સેટિંગ્સ"</string>
+    <string name="apn_settings" msgid="9043423184895642077">"ઍક્સેસ પોઇન્ટનું નામ"</string>
+    <string name="settings_label" msgid="3876743539816984008">"નેટવર્ક સેટિંગ્સ"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"કૉલિંગ એકાઉન્ટ્સ"</string>
+    <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"આના વડે કૉલ કરો"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"આના વડે SIP કૉલ્સ કરો"</string>
+    <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"પહેલાં પૂછો"</string>
+    <string name="phone_accounts_settings_header" msgid="4141710640883261094">"સેટિંગ્સ"</string>
+    <string name="phone_accounts_choose_accounts" msgid="5232948804226424002">"એકાઉન્ટ્સ પસંદ કરો"</string>
+    <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ફોન એકાઉન્ટ્સ"</string>
+    <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP એકાઉન્ટ ઉમેરો"</string>
+    <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"એકાઉન્ટ સેટિંગ્સ ગોઠવો"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi કૉલિંગ"</string>
+    <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi કૉલિંગનો ઉપયોગ કરશો નહીં"</string>
+    <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"કૉલ સહાયકનો ઉપયોગ કરશો નહીં"</string>
+    <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"કોઈ નહીં"</string>
+    <string name="wifi_calling_call_assistant" msgid="229102032881680320">"કૉલ સહાયક"</string>
+    <string name="wifi_calling_use_call_assistant" msgid="8460024827012666199">"કૉલ સહાયકનો ઉપયોગ કરો"</string>
+    <string name="wifi_calling_select_call_assistant" msgid="9296558058772293">"કૉલ સહાયક પસંદ કરો"</string>
+    <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"આની કૉલ્સ માટે ઉપયોગમાં લેવાયેલ નેટવર્ક્સને સંચાલિત કરો"</string>
+    <string name="wifi_calling_use_call_assistant_summary" msgid="6599987137133339698">"એપ્લિકેશન્સ અથવા સેવાઓને કૉલ્સ માટે ઉપયોગમાં લેવાયેલ નેટવર્ક્સને સંચાલિત કરવા દો"</string>
+    <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"ગોઠવો"</string>
+    <string name="connection_service_default_label" msgid="1498481943805913754">"બિલ્ટ-ઇન કનેક્શન સેવા"</string>
+    <string name="voicemail" msgid="8693759337917898954">"વૉઇસમેઇલ"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"વૉઇસમેઇલ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
+    <string name="networks" msgid="8873030692174541976">"નેટવર્ક ઓપરેટર્સ"</string>
+    <string name="cell_broadcast_settings" msgid="8740238216690502563">"કટોકટીના બ્રોડકાસ્ટ્સ"</string>
+    <string name="call_settings" msgid="6112441768261754562">"કૉલ સેટિંગ્સ"</string>
+    <string name="additional_gsm_call_settings" msgid="1391795981938800617">"વધારાની સેટિંગ્સ"</string>
+    <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"વધારાની સેટિંગ્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"ફક્ત વધારાની GSM કૉલ સેટિંગ્સ"</string>
+    <string name="additional_cdma_call_settings" msgid="8628958775721886909">"વધારાની CDMA કૉલ સેટિંગ્સ"</string>
+    <string name="sum_cdma_call_settings" msgid="284753265979035549">"ફક્ત વધારાની CDMA કૉલ સેટિંગ્સ"</string>
+    <string name="labelNwService" msgid="4699970172021870983">"નેટવર્ક સેવા સેટિંગ્સ"</string>
+    <string name="labelCallerId" msgid="3888899447379069198">"કૉલર ID"</string>
+    <string name="sum_loading_settings" msgid="1826692909391168620">"સેટિંગ્સ લોડ કરી રહ્યાં છે..."</string>
+    <string name="sum_hide_caller_id" msgid="1071407020290873782">"આઉટગોઇંગ કૉલ્સમાં નંબર છુપાવેલ છે"</string>
+    <string name="sum_show_caller_id" msgid="6768534125447290401">"આઉટગોઇંગ કૉલ્સમાં નંબર પ્રદર્શિત થાય છે"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"આઉટગોઇંગ કૉલ્સમાં મારો નંબર પ્રદર્શિત કરવા માટે ડિફોલ્ટ ઓપરેટર સેટિંગ્સનો ઉપયોગ કરો"</string>
+    <string name="labelCW" msgid="6120513814915920200">"કૉલ પ્રતીક્ષા"</string>
+    <string name="sum_cw_enabled" msgid="8083061901633671397">"કૉલ દરમ્યાન, મને આવનારા કૉલ્સની સૂચના આપો"</string>
+    <string name="sum_cw_disabled" msgid="3648693907300104575">"કૉલ દરમ્યાન, મને આવનારા કૉલ્સની સૂચના આપો"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"કૉલ ફોરવર્ડિંગ સેટિંગ્સ"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"કૉલ ફોરવર્ડિંગ સેટિંગ્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="labelCF" msgid="2574386948026924737">"કૉલ ફોરવર્ડિંગ"</string>
+    <string name="labelCFU" msgid="8147177368148660600">"હંમેશા ફોરવર્ડ કરો"</string>
+    <string name="messageCFU" msgid="3560082430662923687">"હંમેશાં આ નંબરનો ઉપયોગ કરો"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"બધા કૉલ્સને ફોરવર્ડ કરી રહ્યાં છે"</string>
+    <string name="sum_cfu_enabled" msgid="2450052502198827927">"બધા કૉલ્સને <xliff:g id="PHONENUMBER">{0}</xliff:g> પર ફોરવર્ડ કરી રહ્યાં છે"</string>
+    <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"નંબર અનુપલબ્ધ છે"</string>
+    <string name="sum_cfu_disabled" msgid="8384177689501334080">"બંધ"</string>
+    <string name="labelCFB" msgid="6139853033106283172">"જ્યારે વ્યસ્ત હોય ત્યારે"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"જ્યારે વ્યસ્ત હોય તે સમય માટેનો નંબર"</string>
+    <string name="sum_cfb_enabled" msgid="5984198104833116690">"<xliff:g id="PHONENUMBER">{0}</xliff:g> પર ફોરવર્ડ કરી રહ્યાં છે"</string>
+    <string name="sum_cfb_disabled" msgid="4913145177320506827">"બંધ"</string>
+    <string name="disable_cfb_forbidden" msgid="3506984333877998061">"જ્યારે તમારો ફોન વ્યસ્ત હોય ત્યારે તમારા ઓપરેટર કૉલ ફોરવર્ડિંગને અક્ષમ કરવાને સમર્થન આપતા નથી."</string>
+    <string name="labelCFNRy" msgid="1736067178393744351">"જ્યારે જવાબ આપેલ ન હોય ત્યારે"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"જ્યારે જવાબ ન આપેલ હોય તે સમય માટેનો નંબર"</string>
+    <string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> પર ફોરવર્ડ કરી રહ્યાં છે"</string>
+    <string name="sum_cfnry_disabled" msgid="3884684060443538097">"બંધ"</string>
+    <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"જ્યારે તમારો ફોન જવાબ નહીં આપે ત્યારે તમારા ઓપરેટર કૉલ ફોરવર્ડિંગને અક્ષમ કરવાને સમર્થન આપતા નથી."</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"જ્યારે પહોંચયોગ્ય ન હોય ત્યારે"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"જ્યારે પહોંચયોગ્ય ન હોય તે સમય માટેનો નંબર"</string>
+    <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"<xliff:g id="PHONENUMBER">{0}</xliff:g> પર ફોરવર્ડ કરી રહ્યાં છે"</string>
+    <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"અક્ષમ કરેલું"</string>
+    <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"જ્યારે તમારો ફોન પહોંચયોગ્ય ન હોય ત્યારે તમારા કેરિઅર કૉલ ફોરવર્ડિંગને અક્ષમ કરવાને સમર્થન આપતા નથી."</string>
+    <string name="updating_title" msgid="6146755386174019046">"કૉલ સેટિંગ્સ"</string>
+    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"કૉલ સેટિંગ્સને ફક્ત પ્રાથમિક વપરાશકર્તા દ્વારા જ બદલી શકાય છે."</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"કૉલ સેટિંગ્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="error_updating_title" msgid="7970259216988931777">"કૉલ સેટિંગ્સની ભૂલ"</string>
+    <string name="reading_settings" msgid="1920291699287055284">"સેટિંગ્સ વાંચી રહ્યાં છે…"</string>
+    <string name="updating_settings" msgid="8171225533884883252">"સેટિંગ્સ અપડેટ કરી રહ્યાં છે..."</string>
+    <string name="reverting_settings" msgid="4752151682666912828">"સેટિંગ્સ પાછી ફરાવી રહ્યાં છે…"</string>
+    <string name="response_error" msgid="6674110501330139405">"નેટવર્ક તરફથી અનપેક્ષિત પ્રતિસાદ."</string>
+    <string name="exception_error" msgid="7027667130619518211">"નેટવર્ક અથવા SIM કાર્ડ ભૂલ."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"તમારી ફોન એપ્લિકેશનની ફિક્સ્ડ ડાયલિંગ નંબર્સ સેટિંગ ચાલુ છે. પરિણામ રૂપે, કેટલીક કૉલ સંબંધિત સુવિધાઓ કાર્ય કરતી નથી."</string>
+    <string name="radio_off_error" msgid="2304459933248513376">"આ સેટિંગ્સ જોતા પહેલાં રેડિઓ ચાલુ કરો."</string>
+    <string name="close_dialog" msgid="2365884406356986917">"ઑકે"</string>
+    <string name="enable" msgid="7248657275000173526">"ચાલુ કરો"</string>
+    <string name="disable" msgid="4678348128118573672">"બંધ કરો"</string>
+    <string name="change_num" msgid="239476305819844391">"અપડેટ"</string>
+  <string-array name="clir_display_values">
+    <item msgid="5560134294467334594">"નેટવર્ક ડિફોલ્ટ"</item>
+    <item msgid="7876195870037833661">"નંબર છુપાવો"</item>
+    <item msgid="1108394741608734023">"નંબર દર્શાવો"</item>
+  </string-array>
+    <string name="vm_changed" msgid="380744030726254139">"વૉઇસમેઇલ નંબર બદલ્યો."</string>
+    <string name="vm_change_failed" msgid="3352934863246208918">"વૉઇસમેઇલ નંબર બદલી શકાયો નથી.\nજો આ સમસ્યા ચાલુ રહે છે, તો તમારા કેરિઅરનો સંપર્ક કરો."</string>
+    <string name="fw_change_failed" msgid="5298103228470214665">"ફોરવર્ડિંગ નંબર બદલી શકાયો નથી.\nજો આ સમસ્યા ચાલુ રહે છે, તો તમારા કેરિઅરનો સંપર્ક કરો."</string>
+    <string name="fw_get_in_vm_failed" msgid="8862896836093833973">"વર્તમાન ફોરવર્ડિંગ નંબર સેટિંગ્સને પુનઃપ્રાપ્ત કરી અને સાચવી શકાઇ નથી.\nકોઈપણ રીતે નવા પ્રદાતા પર સ્વિચ કરીએ?"</string>
+    <string name="no_change" msgid="3186040086622435212">"કોઇ બદલાવો થયાં ન હતાં."</string>
+    <string name="sum_voicemail_choose_provider" msgid="59911196126278922">"વૉઇસમેઇલ સેવા પસંદ કરો"</string>
+    <string name="voicemail_default" msgid="2001233554889016880">"તમારો કેરિઅર"</string>
+    <string name="mobile_networks" msgid="2843854043339307375">"સેલ્યુલર નેટવર્ક સેટિંગ્સ"</string>
+    <string name="label_available" msgid="1181658289009300430">"ઉપલબ્ધ નેટવર્ક્સ"</string>
+    <string name="load_networks_progress" msgid="5230707536168902952">"શોધી રહ્યું છે..."</string>
+    <string name="empty_networks_list" msgid="4249426905018815316">"કોઈ નેટવર્ક મળ્યું નથી."</string>
+    <string name="search_networks" msgid="1601136049300882441">"નેટવર્ક્સ શોધો"</string>
+    <string name="network_query_error" msgid="6828516148953325006">"નેટવર્ક્સ શોધતી વખતે ભૂલ આવી."</string>
+    <string name="register_on_network" msgid="9055203954040805084">"<xliff:g id="NETWORK">%s</xliff:g> પર નોંધણી કરી રહ્યાં છે…"</string>
+    <string name="not_allowed" msgid="5613353860205691579">"તમારું SIM કાર્ડ આ નેટવર્કથી કનેક્શનને મંજૂરી આપતું નથી."</string>
+    <string name="connect_later" msgid="2308119155752343975">"હમણાં આ નેટવર્કથી કનેક્ટ કરી શકાતું નથી. પછીથી ફરી પ્રયાસ કરો."</string>
+    <string name="registration_done" msgid="495135664535876612">"નેટવર્ક પર નોંધણી કરી."</string>
+    <string name="sum_carrier_select" msgid="3494252551249882718">"એક નેટવર્ક ઓપરેટર પસંદ કરો"</string>
+    <string name="sum_search_networks" msgid="2921092249873272715">"બધા ઉપલબ્ધ નેટવર્ક્સ માટે શોધો"</string>
+    <string name="select_automatically" msgid="5628402124471810174">"આપમેળે પસંદ કરો"</string>
+    <string name="sum_select_automatically" msgid="5614890115123292400">"પસંદગીનું નેટવર્ક આપમેળે શોધો"</string>
+    <string name="register_automatically" msgid="6017849844573519637">"સ્વયંચાલિત નોંધણી…"</string>
+    <string name="preferred_network_mode_title" msgid="2336624679902659306">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
+    <string name="preferred_network_mode_summary" msgid="1434820673166126609">"નેટવર્ક ઓપરેટિંગ મોડ બદલો"</string>
+    <string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
+    <string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"પસંદગીનો નેટવર્ક મોડ: WCDMA પસંદ કરેલ છે"</string>
+    <string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"પસંદગીનો નેટવર્ક મોડ: ફક્ત GSM"</string>
+    <string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"પસંદગીનો નેટવર્ક મોડ: ફક્ત WCDMA"</string>
+    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="3161255745326408587">"પસંદગીનો નેટવર્ક મોડ: GSM / WCDMA"</string>
+    <string name="preferred_network_mode_cdma_summary" msgid="3175690187294334241">"પસંદગીનો નેટવર્ક મોડ: CDMA"</string>
+    <string name="preferred_network_mode_cdma_evdo_summary" msgid="8332063064712726618">"પસંદગીનો નેટવર્ક મોડ: CDMA / EvDo"</string>
+    <string name="preferred_network_mode_cdma_only_summary" msgid="1309770926198634150">"પસંદગીનો નેટવર્ક મોડ: ફક્ત CDMA"</string>
+    <string name="preferred_network_mode_evdo_only_summary" msgid="8472220691721269155">"પસંદગીનો નેટવર્ક મોડ: ફક્ત EvDo"</string>
+    <string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary" msgid="4726682079415227330">"પસંદગીનો નેટવર્ક મોડ: CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_lte_summary" msgid="574752287596469136">"પસંદગીનો નેટવર્ક મોડ: LTE"</string>
+    <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="8455358514068283935">"પસંદગીનો નેટવર્ક મોડ: GSM/WCDMA/LTE"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="228702246343742853">"પસંદગીનો નેટવર્ક મોડ: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_global_summary" msgid="1633134285545730364">"પસંદગીનો નેટવર્ક મોડ: વૈશ્વિક"</string>
+    <string name="preferred_network_mode_lte_wcdma_summary" msgid="9180775701594742750">"પસંદગીનો નેટવર્ક મોડ: LTE / WCDMA"</string>
+    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="633315028976225026">"પસંદગીનો નેટવર્ક મોડ: LTE / GSM / UMTS"</string>
+    <string name="preferred_network_mode_lte_cdma_summary" msgid="3722647806454528426">"પસંદગીનો નેટવર્ક મોડ: LTE / CDMA"</string>
+  <string-array name="preferred_network_mode_choices">
+    <item msgid="7886739962255042385">"LTE / WCDMA"</item>
+    <item msgid="577652050447385699">"LTE"</item>
+    <item msgid="6813597571293773656">"વૈશ્વિક"</item>
+    <item msgid="127064712132619032">"GSM/WCDMA/LTE"</item>
+    <item msgid="1126767511633425977">"CDMA + LTE/EvDo"</item>
+    <item msgid="6389676313771670660">"CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="545430093607698090">"ફક્ત EvDo"</item>
+    <item msgid="1508557726283094448">"CDMA w/o EvDo"</item>
+    <item msgid="4341433122263841224">"CDMA/EvDo સ્વતઃ"</item>
+    <item msgid="5958053792390386668">"GSM/WCDMA સ્વતઃ"</item>
+    <item msgid="7913148405605373434">"ફક્ત WCDMA"</item>
+    <item msgid="1524224863879435516">"ફક્ત GSM"</item>
+    <item msgid="3817924849415716259">"GSM/WCDMA પસંદ કરેલ છે"</item>
+  </string-array>
+    <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"વિસ્તૃત 4G LTE મોડ"</string>
+    <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"વૉઇસ અને અન્ય સંચારોને બહેતર બનાવવા માટે LTE સેવાઓનો ઉપયોગ કરો (ભલામણ કરેલ)"</string>
+    <string name="data_enabled" msgid="5972538663568715366">"ડેટા સક્ષમ કરેલ છે"</string>
+    <string name="data_enable_summary" msgid="2382798156640007971">"ડેટા વપરાશની મંજૂરી આપો"</string>
+    <string name="roaming" msgid="8871412572928323707">"ડેટા રોમિંગ"</string>
+    <string name="roaming_enable" msgid="7331106985174381987">"જ્યારે રોમિંગ હોય ત્યારે ડેટા સેવાઓથી કનેક્ટ કરો"</string>
+    <string name="roaming_disable" msgid="1843417228755568110">"જ્યારે રોમિંગ હોય ત્યારે ડેટા સેવાઓથી કનેક્ટ કરો"</string>
+    <string name="roaming_reenable_message" msgid="8913735676127858115">"તમે ડેટા કનેક્ટિવિટી ગુમાવી છે કારણ કે તમે તમારા હોમ નેટવર્કને બંધ ડેટા રોમિંગ સાથે છોડ્યું છે."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"તમારાથી આંશિક શુલ્ક લઈ શકાય છે."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ડેટા રોમિંગને મંજૂરી આપીએ?"</string>
+    <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS વિકલ્પો"</string>
+    <string name="cdma_options" msgid="4016822858172249884">"CDMA વિકલ્પો"</string>
+    <string name="throttle_data_usage" msgid="3715677828160555808">"ડેટા વપરાશ"</string>
+    <string name="throttle_current_usage" msgid="8762280193043815361">"વર્તમાન અવધિમાં વપરાયેલ ડેટા"</string>
+    <string name="throttle_time_frame" msgid="1915198770363734685">"ડેટા ઉપયોગ અવધિ"</string>
+    <string name="throttle_rate" msgid="4710388992676803508">"માહિતી રેટ નીતિ"</string>
+    <string name="throttle_help" msgid="243651091785169900">"વધુ જાણો"</string>
+    <string name="throttle_status_subtext" msgid="1657318943142085170">"<xliff:g id="USED_2">%3$s</xliff:g> માંથી <xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) અવધિ મહત્તમ\nઆગલી અવધિ <xliff:g id="USED_3">%4$d</xliff:g> દિવસમાં પ્રારંભ થાય છે (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
+    <string name="throttle_data_usage_subtext" msgid="6029276011123694701">"<xliff:g id="USED_2">%3$s</xliff:g> માંથી <xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) અવધિ મહત્તમ"</string>
+    <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"<xliff:g id="USED_0">%1$s</xliff:g> મહત્તમ વટાવી દીધું\nડેટા રેટ <xliff:g id="USED_1">%2$d</xliff:g> Kb/s સુધી ઘટાડાશે"</string>
+    <string name="throttle_time_frame_subtext" msgid="7732763021560399960">"<xliff:g id="USED_0">%1$d</xliff:g>٪ ચક્ર વીતાવ્યું\nઆગલી અવધિ <xliff:g id="USED_1">%2$d</xliff:g> દિવસમાં પ્રારંભ થાય છે (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
+    <string name="throttle_rate_subtext" msgid="2149102656120726855">"જો ડેટા સીમા વટાવવામાં આવે તો ડેટા રેટ <xliff:g id="USED">%1$d</xliff:g> Kb/s સુધી ઘટાડવામાં આવે છે"</string>
+    <string name="throttle_help_subtext" msgid="3633091498168446044">"તમારા કેરિઅરની સેલ્યુલર નેટવર્ક ડેટા ઉપયોગ નીતિ વિશે વધુ માહિતી"</string>
+    <string name="cell_broadcast_sms" msgid="5584192824053625842">"સેલ બ્રોડકાસ્ટ SMS"</string>
+    <string name="enable_disable_cell_bc_sms" msgid="4851147873691392255">"સેલ બ્રોડકાસ્ટ SMS"</string>
+    <string name="cell_bc_sms_enable" msgid="6441688565738921084">"સેલ બ્રોડકાસ્ટ SMS સક્ષમ કરેલ છે"</string>
+    <string name="cell_bc_sms_disable" msgid="3398365088309408749">"સેલ બ્રોડકાસ્ટ SMS અક્ષમ કરેલ છે"</string>
+    <string name="cb_sms_settings" msgid="651715019785107312">"સેલ બ્રોડકાસ્ટ SMS સેટિંગ્સ"</string>
+    <string name="enable_disable_emergency_broadcast" msgid="2157014609041245335">"કટોકટીનું બ્રોડકાસ્ટ"</string>
+    <string name="emergency_broadcast_enable" msgid="2645980025414010211">"કટોકટીનું બ્રોડકાસ્ટ સક્ષમ કરેલ છે"</string>
+    <string name="emergency_broadcast_disable" msgid="3665199821267569426">"કટોકટીનું બ્રોડકાસ્ટ અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_administrative" msgid="6501582322182059412">"વહીવટી"</string>
+    <string name="administrative_enable" msgid="1750086122962032235">"વહીવટી સક્ષમ કરેલ છે"</string>
+    <string name="administrative_disable" msgid="8433273857248698539">"વહીવટી અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_maintenance" msgid="1819693083025106678">"જાળવણી"</string>
+    <string name="maintenance_enable" msgid="8566636458770971189">"જાળવણી સક્ષમ કરેલ છે"</string>
+    <string name="maintenance_disable" msgid="7340189100885066077">"જાળવણી અક્ષમ કરેલ છે"</string>
+    <string name="general_news_settings" msgid="4968779723948432978">"સામાન્ય સમાચાર"</string>
+    <string name="bf_news_settings" msgid="3935593091894685267">"વ્યાવસાયિક અને નાણાકીય સમાચાર"</string>
+    <string name="sports_news_settings" msgid="7649399631270052835">"ખેલ કૂદના સમાચાર"</string>
+    <string name="entertainment_news_settings" msgid="5051153952959405035">"મનોરંજન સમાચાર"</string>
+    <string name="enable_disable_local" msgid="7890281063123416120">"સ્થાનિક"</string>
+    <string name="local_enable" msgid="6370463247609136359">"સ્થાનિક સમાચાર સક્ષમ કરેલ છે"</string>
+    <string name="local_disable" msgid="4405691986943795798">"સ્થાનિક સમાચાર અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_regional" msgid="4905652414535565872">"પ્રાદેશિક"</string>
+    <string name="regional_enable" msgid="4434680415437834759">"પ્રાદેશિક સમાચાર સક્ષમ કરેલ છે"</string>
+    <string name="regional_disable" msgid="5359325527213850077">"પ્રાદેશિક સમાચાર અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_national" msgid="236278090206880734">"રાષ્ટ્રીય"</string>
+    <string name="national_enable" msgid="1172443648912246952">"રાષ્ટ્રીય સમાચાર સક્ષમ કરેલ છે"</string>
+    <string name="national_disable" msgid="326018148178601166">"રાષ્ટ્રીય સમાચાર અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_international" msgid="7535348799604565592">"આંતરરાષ્ટ્રીય"</string>
+    <string name="international_enable" msgid="5855356769925044927">"આંતરરાષ્ટ્રીય સમાચાર સક્ષમ કરેલ છે"</string>
+    <string name="international_disable" msgid="2850648591041088931">"આંતરરાષ્ટ્રીય સમાચાર અક્ષમ કરેલ છે"</string>
+    <string name="list_language_title" msgid="2841683501919760043">"ભાષા"</string>
+    <string name="list_language_summary" msgid="8109546531071241601">"સમાચાર ભાષા પસંદ કરો"</string>
+  <string-array name="list_language_entries">
+    <item msgid="6137851079727305485">"અંગ્રેજી"</item>
+    <item msgid="1151988412809572526">"ફ્રેન્ચ"</item>
+    <item msgid="577840534704312665">"સ્પેનિશ"</item>
+    <item msgid="8385712091143148180">"જાપાનીઝ"</item>
+    <item msgid="1858401628368130638">"કોરિયન"</item>
+    <item msgid="1933212028684529632">"ચાઇનીઝ"</item>
+    <item msgid="1908428006803639064">"હીબ્રુ"</item>
+  </string-array>
+  <string-array name="list_language_values">
+    <item msgid="1804908636436467150">"1"</item>
+    <item msgid="289708030346890334">"2"</item>
+    <item msgid="1121469729692402684">"૩"</item>
+    <item msgid="2614093115912897722">"4"</item>
+    <item msgid="2411164639857960614">"5"</item>
+    <item msgid="5884448729274543324">"6"</item>
+    <item msgid="5511864807618312598">"7"</item>
+  </string-array>
+    <string name="list_language_dtitle" msgid="5442908726538951934">"ભાષાઓ"</string>
+    <string name="enable_disable_local_weather" msgid="986967454867219114">"સ્થાનિક હવામાન"</string>
+    <string name="local_weather_enable" msgid="6199315114382448922">"સ્થાનિક હવામાન સક્ષમ કરેલ છે"</string>
+    <string name="local_weather_disable" msgid="2510158089142626480">"સ્થાનિક હવામાન અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_atr" msgid="8339572391278872343">"ક્ષેત્ર ટ્રાફિક અહેવાલો"</string>
+    <string name="atr_enable" msgid="5541757457789181799">"ક્ષેત્ર ટ્રાફિક અહેવાલોને સક્ષમ કરેલ છે"</string>
+    <string name="atr_disable" msgid="7085558154727596455">"ક્ષેત્ર ટ્રાફિક અહેવાલોને અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_lafs" msgid="668189073721277199">"સ્થાનિક હવાઇ મથકથી ઉડાનની સૂચીઓ"</string>
+    <string name="lafs_enable" msgid="2791978667205137052">"સ્થાનિક હવાઇ મથકથી ઉડાનની સૂચીઓ સક્ષમ કરેલ છે"</string>
+    <string name="lafs_disable" msgid="2391212397725495350">"સ્થાનિક હવાઇ મથકથી ઉડાનની સૂચીઓ અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_restaurants" msgid="6240381945336814024">"રેસ્ટોરેંટ્સ"</string>
+    <string name="restaurants_enable" msgid="5137657479469118847">"રેસ્ટોરન્ટ્સ સક્ષમ કરેલ છે"</string>
+    <string name="restaurants_disable" msgid="3678480270938424092">"રેસ્ટોરન્ટ્સ અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_lodgings" msgid="1822029172658551202">"લોજિંગ્સ"</string>
+    <string name="lodgings_enable" msgid="3230042508992850322">"લોડિંગ્સ સક્ષમ કરેલ છે"</string>
+    <string name="lodgings_disable" msgid="3387879742320682391">"લોજિંગ્સ અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_retail_directory" msgid="1357809784475660303">"રિટેલ નિર્દેશિકા"</string>
+    <string name="retail_directory_enable" msgid="3280626290436111496">"રિટેલ નિર્દેશિકા સક્ષમ કરેલ છે"</string>
+    <string name="retail_directory_disable" msgid="6479739816662879027">"રિટેલ નિર્દેશિકા અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_advertisements" msgid="5999495926176182128">"જાહેરાતો"</string>
+    <string name="advertisements_enable" msgid="2050305021264683786">"જાહેરાતોને સક્ષમ કરેલ છે"</string>
+    <string name="advertisements_disable" msgid="8350985908788707935">"જાહેરાતોને અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_stock_quotes" msgid="6397810445293533603">"સ્ટોક ક્વોટ્સ"</string>
+    <string name="stock_quotes_enable" msgid="4384802470887170543">"સ્ટોક ક્વોટ્સ સક્ષમ કરેલ છે"</string>
+    <string name="stock_quotes_disable" msgid="4781450084565594998">"સ્ટોક ક્વોટ્સ અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_eo" msgid="4863043263443942494">"રોજગારની તકો"</string>
+    <string name="eo_enable" msgid="8623559062015685813">"રોજગારની તકો સક્ષમ કરેલ છે"</string>
+    <string name="eo_disable" msgid="3863812478090907609">"રોજગારની તકો અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_mhh" msgid="908214593528968522">"તબીબી, આરોગ્ય અને હોસ્પિટલ"</string>
+    <string name="mhh_enable" msgid="5544500632306446815">"તબીબી, આરોગ્ય અને હોસ્પિટલ સક્ષમ કરેલ છે"</string>
+    <string name="mhh_disable" msgid="8998210550117117437">"તબીબી, આરોગ્ય અને હોસ્પિટલ અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_technology_news" msgid="3517184627114999149">"ટેક્નોલોજી સમાચાર"</string>
+    <string name="technology_news_enable" msgid="7995209394210455181">"તકનીકી સમાચાર સક્ષમ કરેલ છે"</string>
+    <string name="technology_news_disable" msgid="5483490380561851946">"તકનીકી સમાચાર અક્ષમ કરેલ છે"</string>
+    <string name="enable_disable_multi_category" msgid="626771003122899280">"બહુ-કેટેગરી"</string>
+    <string name="multi_category_enable" msgid="1179299804641721768">"બહુ-કેટેગરી સક્ષમ કરેલ છે"</string>
+    <string name="multi_category_disable" msgid="880104702904139505">"બહુ-કેટેગરી અક્ષમ કરેલ છે"</string>
+    <string name="network_lte" msgid="7702681952521375754">"LTE (ભલામણ કરેલ)"</string>
+    <string name="network_4G" msgid="2723512640529983138">"4G (ભલામણ કરેલ)"</string>
+    <string name="network_global" msgid="1323190488685355309">"વૈશ્વિક"</string>
+    <string name="cdma_system_select_title" msgid="5757657769327732833">"સિસ્ટમ પસંદગી"</string>
+    <string name="cdma_system_select_summary" msgid="60460043745797517">"CDMA રોમિંગ મોડ બદલો"</string>
+    <string name="cdma_system_select_dialogtitle" msgid="6083355415165359075">"સિસ્ટમ પસંદગી"</string>
+  <string-array name="cdma_system_select_choices">
+    <item msgid="176474317493999285">"ફક્ત હોમ"</item>
+    <item msgid="1205664026446156265">"સ્વચલિત"</item>
+  </string-array>
+    <string name="cdma_subscription_title" msgid="1162564010076763284">"CDMA સબ્સ્ક્રિપ્શન"</string>
+    <string name="cdma_subscription_summary" msgid="2530890766115781140">"RUIM/SIM અને NV વચ્ચે બદલો"</string>
+    <string name="cdma_subscription_dialogtitle" msgid="2699527950523333110">"સબ્સ્ક્રિપ્શન"</string>
+  <string-array name="cdma_subscription_choices">
+    <item msgid="2258014151300708431">"RUIM/SIM"</item>
+    <item msgid="5127722015571873880">"NV"</item>
+  </string-array>
+  <string-array name="cdma_subscription_values">
+    <item msgid="7494167883478914080">"0"</item>
+    <item msgid="6043847456049107742">"1"</item>
+  </string-array>
+    <string name="cdma_activate_device" msgid="3793805892364814518">"ઉપકરણને સક્રિય કરો"</string>
+    <string name="cdma_lte_data_service" msgid="4255018217292548962">"ડેટા સેવા સેટ કરો"</string>
+    <string name="carrier_settings_title" msgid="9028166176523012300">"કેરિઅર સેટિંગ્સ"</string>
+    <string name="fdn" msgid="7878832555095183202">"ફિક્સ્ડ ડાયલિંગ નંબર્સ"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"ફિક્સ્ડ ડાયલિંગ નંબર્સ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="manage_fdn_list" msgid="8777755791892122369">"FDN સૂચિ"</string>
+    <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN સૂચિ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2156479741307463576">"FDN સક્રિયકરણ"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"ફિક્સ્ડ ડાયલિંગ નંબર્સ સક્ષમ કરેલ છે."</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"ફિક્સ્ડ ડાયલિંગ નંબર્સ અક્ષમ કરેલ છે."</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"FDN સક્ષમ કરો"</string>
+    <string name="disable_fdn" msgid="7944020890722540616">"FDN અક્ષમ કરો"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"PIN2 બદલો"</string>
+    <string name="enable_fdn_ok" msgid="7215588870329688132">"FDN અક્ષમ કરો"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"FDN સક્ષમ કરો"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"ફિક્સ્ડ ડાયલિંગ નંબર્સને સંચાલિત કરો"</string>
+    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"FDN ઍક્સેસ માટે PIN બદલો"</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"ફોન નંબર સૂચિને સંચાલિત કરો"</string>
+    <string name="voice_privacy" msgid="3776841382844614716">"વૉઇસ ગોપનીયતા"</string>
+    <string name="voice_privacy_summary" msgid="3159383389833516214">"વધારેલ ગોપનીયતા મોડ સક્ષમ કરો"</string>
+    <string name="tty_mode_option_title" msgid="9033098925144434669">"TTY મોડ"</string>
+    <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY મોડ સેટ કરો"</string>
+    <string name="auto_retry_mode_title" msgid="4073265511427813322">"સ્વતઃ-પુનઃપ્રયાસ કરો"</string>
+    <string name="auto_retry_mode_summary" msgid="4973886004067532288">"સ્વતઃ-પુનઃપ્રયાસ કરો મોડ સક્ષમ કરો"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"વિડિઓ કૉલ દરમિયાન TTY મોડ ફેરફારની મંજૂરી નથી."</string>
+    <string name="menu_add" msgid="1882023737425114762">"સંપર્ક ઉમેરો"</string>
+    <string name="menu_edit" msgid="7143003705504672374">"સંપર્ક સંપાદિત કરો"</string>
+    <string name="menu_delete" msgid="3977150783449642851">"સંપર્ક કાઢી નાંખો"</string>
+    <string name="get_pin2" msgid="8204677063922225311">"PIN2 લખો"</string>
+    <string name="name" msgid="7329028332786872378">"નામ"</string>
+    <string name="number" msgid="7905950798349903858">"નંબર"</string>
+    <string name="save" msgid="4094274636321939086">"સાચવો"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"ફિક્સ્ડ ડાયલિંગ નંબર ઉમેરો"</string>
+    <string name="adding_fdn_contact" msgid="7627379633721940991">"ફિક્સ્ડ ડાયલિંગ નંબર ઉમેરી રહ્યાં છે…"</string>
+    <string name="fdn_contact_added" msgid="7458335758501736665">"ફિક્સ્ડ ડાયલિંગ નંબર ઉમેર્યો છે."</string>
+    <string name="edit_fdn_contact" msgid="7976936035587081480">"ફિક્સ ડાયલિંગ નંબર સંપાદિત કરો"</string>
+    <string name="updating_fdn_contact" msgid="8370929876849803600">"ફિક્સ્ડ ડાયલિંગ નંબર અપડેટ કરી રહ્યાં છે…"</string>
+    <string name="fdn_contact_updated" msgid="5497828782609005017">"ફિક્સ્ડ ડાયલિંગ નંબર અપડેટ કર્યો."</string>
+    <string name="delete_fdn_contact" msgid="6668958073074151717">"ફિક્સ્ડ ડાયલિંગ નંબર કાઢી નાખો"</string>
+    <string name="deleting_fdn_contact" msgid="5669163206349319969">"ફિક્સ્ડ ડાયલિંગ નંબર કાઢી રહ્યાં છે..."</string>
+    <string name="fdn_contact_deleted" msgid="7154162327112259569">"ફિક્સ્ડ ડાયલિંગ નંબર કાઢી નાખ્યો."</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"FDN અપડેટ થયો ન હતો કારણ કે તમે ખોટો PIN લખ્યો છે."</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"FDN અપડેટ કર્યો ન હતો, કારાણ કે નંબર 20 અંકને વટાવતો નથી."</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN અપડેટ થયો ન હતો. PIN2 ખોટો હતો અથવા ફોન નંબર નકારેલ હતો."</string>
+    <string name="fdn_failed" msgid="540018079008319747">"FDN ઓપરેશન નિષ્ફળ થયું."</string>
+    <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM કાર્ડમાંથી વાંચી રહ્યાં છે…"</string>
+    <string name="simContacts_empty" msgid="5270660846489561932">"તમારા SIM કાર્ડ પર કોઈ સંપર્કો નથી."</string>
+    <string name="simContacts_title" msgid="1861472842524839921">"આયાત કરવા માટે સંપર્કો પસંદ કરો"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM કાર્ડથી સંપર્કો આયાત કરવા માટે એરપ્લેન મોડ બંધ કરો."</string>
+    <string name="enable_pin" msgid="5422767284133234860">"SIM PIN સક્ષમ/અક્ષમ કરો"</string>
+    <string name="change_pin" msgid="9174186126330785343">"SIM PIN બદલો"</string>
+    <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
+    <string name="oldPinLabel" msgid="5287773661246368314">"જૂનો PIN"</string>
+    <string name="newPinLabel" msgid="207488227285336897">"નવો PIN"</string>
+    <string name="confirmPinLabel" msgid="257597715098070206">"નવા PIN ની પુષ્ટિ કરો"</string>
+    <string name="badPin" msgid="8955102849303984935">"તમે લખેલ જૂનો PIN સાચો નથી. ફરી પ્રયાસ કરો."</string>
+    <string name="mismatchPin" msgid="5923253370683071889">"તમે લખેલા PIN મેળ ખાતા નથી. ફરી પ્રયાસ કરો."</string>
+    <string name="invalidPin" msgid="5981171102258684792">"4 થી 8 સંખ્યાનો હોય તેવો એક PIN લખો."</string>
+    <string name="disable_sim_pin" msgid="3419351358300716472">"SIM PIN સાફ કર્યો"</string>
+    <string name="enable_sim_pin" msgid="4845145659651484248">"SIM PIN સેટ કરો"</string>
+    <string name="enable_in_progress" msgid="3417917024688497010">"PIN સેટ કરી રહ્યાં છે…"</string>
+    <string name="enable_pin_ok" msgid="2918545971413270063">"PIN સેટ કર્યો"</string>
+    <string name="disable_pin_ok" msgid="2109571368635883688">"PIN સાફ કર્યો"</string>
+    <string name="pin_failed" msgid="5644377896213584760">"PIN ખોટો છે"</string>
+    <string name="pin_changed" msgid="4455736268023261662">"PIN અપડેટ કર્યો"</string>
+    <string name="puk_requested" msgid="5921393215789090200">"પાસવર્ડ ખોટો છે, PIN હમણાં અવરોધિત છે. PUK ની વિનંતી કરી."</string>
+    <string name="enter_pin2_text" msgid="8339444124477720345">"પિન કરો"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"જૂનો PIN2"</string>
+    <string name="newPin2Label" msgid="4573956902204349054">"નવો PIN2"</string>
+    <string name="confirmPin2Label" msgid="8100319484454787708">"નવા PIN2 ની પુષ્ટિ કરો"</string>
+    <string name="badPuk2" msgid="7910064009531541708">"PUK2 ખોટી. ફરી પ્રયાસ કરો."</string>
+    <string name="badPin2" msgid="6646896629970023109">"જૂનો PIN2 ખોટો છે. ફરી પ્રયાસ કરો."</string>
+    <string name="mismatchPin2" msgid="4177967478551851117">"PIN2 મેળ ખાતા નથી. ફરીથી પ્રયાસ કરો."</string>
+    <string name="invalidPin2" msgid="1757045131429105595">"4 થી 8 સંખ્યાનો તેવો એક PIN2 દાખલ કરો."</string>
+    <string name="invalidPuk2" msgid="7059081153334815973">"8 સંખ્યાની હોય તેવી એક PUK2 દાખલ કરો."</string>
+    <string name="pin2_changed" msgid="3724522579945610956">"PIN2 અપડેટ કર્યો"</string>
+    <string name="label_puk2_code" msgid="4688069961795341948">"PUK2 કોડ દાખલ કરો"</string>
+    <string name="fdn_enable_puk2_requested" msgid="4991074891459554705">"પાસવર્ડ ખોટો છે. PIN2 હમણાં અવરોધિત છે. ફરી પ્રયાસ કરવા માટે, PIN 2 બદલો."</string>
+    <string name="puk2_requested" msgid="5831015200030161434">"પાસવર્ડ ખોટો છે, SIM હમણાં અવરોધિત છે. PUK2 દાખલ કરો."</string>
+    <string name="puk2_blocked" msgid="3150263853077280049">"PUK2 ને કાયમી રૂપે અવરોધિત કરેલ છે."</string>
+    <string name="pin2_attempts" msgid="720736232885011507">\n"તમારી પાસે <xliff:g id="NUMBER">%d</xliff:g> પ્રયાસ બાકી છે."</string>
+    <string name="pin2_unblocked" msgid="7791600368153469078">"PIN2 હવે અવરોધિત નથી"</string>
+    <string name="doneButton" msgid="2859593360997984240">"થઈ ગયું"</string>
+    <string name="voicemail_settings_number_label" msgid="8524164258691887790">"વૉઇસમેઇલ નંબર"</string>
+    <string name="card_title_dialing" msgid="5769417478498348054">"ડાયલ કરી રહ્યાં છે"</string>
+    <string name="card_title_redialing" msgid="8253487008234167266">"ફરી ડાયલ કરી રહ્યાં છે"</string>
+    <string name="card_title_conf_call" msgid="1162980346189744501">"કોન્ફરન્સ કૉલ"</string>
+    <string name="card_title_incoming_call" msgid="7364539451234646909">"આવનાર કૉલ"</string>
+    <string name="card_title_call_ended" msgid="5544730338889702298">"કૉલ સમાપ્ત થયો"</string>
+    <string name="card_title_on_hold" msgid="821463117892339942">"હોલ્ડ પર"</string>
+    <string name="card_title_hanging_up" msgid="3999101620995182450">"સમાપ્ત કરી રહ્યાં છે"</string>
+    <string name="card_title_in_call" msgid="6346543933068225205">"કૉલમાં"</string>
+    <string name="notification_dialing" msgid="2107666444937350731">"ડાયલ કરી રહ્યાં છે"</string>
+    <string name="notification_missedCallTitle" msgid="7554385905572364535">"છૂટેલો કૉલ"</string>
+    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"છૂટેલા કૉલ્સ"</string>
+    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> છૂટેલા કૉલ્સ"</string>
+    <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> નો કૉલ ચૂકી ગયાં"</string>
+    <string name="notification_ongoing_call" msgid="7068688957273482989">"ચાલી રહેલ કૉલ"</string>
+    <string name="notification_on_hold" msgid="3480694969511790465">"હોલ્ડ પર"</string>
+    <string name="notification_incoming_call" msgid="2820429205043529642">"આવનાર કૉલ"</string>
+    <string name="notification_voicemail_title" msgid="8933468752045550523">"નવો વૉઇસમેઇલ"</string>
+    <string name="notification_voicemail_title_count" msgid="4366360747660929916">"નવો વૉઇસમેઇલ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+    <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ડાયલ કરો"</string>
+    <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"વૉઇસમેઇલ નંબર અજાણ"</string>
+    <string name="notification_network_selection_title" msgid="4224455487793492772">"કોઈ સેવા નથી"</string>
+    <string name="notification_network_selection_text" msgid="2607085729661923269">"પસંદ કરેલ નેટવર્ક (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) અનુપલબ્ધ"</string>
+    <string name="notification_action_end_call" msgid="6069460915123531620">"સમાપ્ત કરો"</string>
+    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"કૉલ બેક"</string>
+    <string name="notification_missedCall_message" msgid="3049928912736917988">"સંદેશ"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"કૉલ કરવા માટે એરપ્લેન મોડ બંધ કરો."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"કૉલ કરવા માટે એરપ્લેન મોડ બંધ કરો અથવા વાયરલેસ નેટવર્કથી કનેક્ટ કરો."</string>
+    <string name="incall_error_emergency_only" msgid="4678640422710818317">"નેટવર્ક પર નોંધણી કરાયેલ નથી."</string>
+    <string name="incall_error_out_of_service" msgid="4100065333878929223">"સેલ્યુલર નેટવર્ક ઉપલબ્ધ નથી."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"સેલ્યુલર નેટવર્ક ઉપલબ્ધ નથી. કૉલ કરવા માટે વાયરલેસ નેટવર્કથી કનેક્ટ કરો."</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"કૉલ કરવા માટે, માન્ય નંબર દાખલ કરો."</string>
+    <string name="incall_error_call_failed" msgid="6302746943230078197">"કૉલ કરી શકાતો નથી."</string>
+    <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI અનુક્રમ પ્રારંભ કરી રહ્યાં છે…"</string>
+    <string name="incall_error_supp_service_unknown" msgid="655570339115407698">"સેવા સમર્થિત નથી"</string>
+    <string name="incall_error_supp_service_switch" msgid="5237002176899962862">"કૉલ્સ સ્વિચ કરી શકાતા નથી."</string>
+    <string name="incall_error_supp_service_separate" msgid="7224393405134545246">"અલગ કૉલ કરી શકાતો નથી."</string>
+    <string name="incall_error_supp_service_transfer" msgid="7235952238189391438">"સ્થાનાંતર કરી શકાતું નથી."</string>
+    <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"કોન્ફરન્સ કૉલ કરવામાં અસમર્થ."</string>
+    <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"કૉલ નકારી શકાતો નથી."</string>
+    <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"કૉલ(લ્સ) રિલીઝ કરી શકતા નથી."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"કૉલ કરવા માટે વાયરલેસ નેટવર્કથી કનેક્ટ કરો."</string>
+    <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"કટોકટીનો કૉલ"</string>
+    <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"રેડિઓ ચાલુ કરી રહ્યાં છે…"</string>
+    <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"કોઈ સેવા નથી. ફરી પ્રયાસ કરી રહ્યાં છે…"</string>
+    <string name="dial_emergency_error" msgid="1509085166367420355">"કૉલ કરી શકાતો નથી. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> એ કટોકટીનો નંબર નથી."</string>
+    <string name="dial_emergency_empty_error" msgid="9130194953830414638">"કૉલ કરી શકાતો નથી. કટોકટીનો નંબર ડાયલ કરો!"</string>
+    <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ડાયલ કરવા માટે કીબોર્ડનો ઉપયોગ કરો"</string>
+    <string name="onscreenHoldText" msgid="2285258239691145872">"હોલ્ડ કરો"</string>
+    <string name="onscreenEndCallText" msgid="4403855834875398585">"સમાપ્ત"</string>
+    <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ડાયલપેડ"</string>
+    <string name="onscreenMuteText" msgid="5011369181754261374">"મ્યૂટ કરો"</string>
+    <string name="onscreenAddCallText" msgid="5140385634712287403">"કૉલ ઉમેરો"</string>
+    <string name="onscreenMergeCallsText" msgid="6640195098064538950">"કૉલ્સ મર્જ કરો"</string>
+    <string name="onscreenSwapCallsText" msgid="1602990689244030047">"સ્વેપ"</string>
+    <string name="onscreenManageCallsText" msgid="5473231160123254154">"કૉલ્સ સંચાલિત કરો"</string>
+    <string name="onscreenManageConferenceText" msgid="6485935856534311346">"કોન્ફરન્સ સંચાલિત કરો"</string>
+    <string name="onscreenAudioText" msgid="1710087112800041743">"ઑડિઓ"</string>
+    <string name="onscreenVideoCallText" msgid="4800924186056115442">"વિડિઓ કૉલ"</string>
+    <string name="importSimEntry" msgid="6614358325359736031">"આયાત કરો"</string>
+    <string name="importAllSimEntries" msgid="1503181169636198673">"બધુ આયાત કરો"</string>
+    <string name="importingSimContacts" msgid="7374056215462575769">"SIM સંપર્કો આયાત કરી રહ્યાં છે"</string>
+    <string name="importToFDNfromContacts" msgid="2130620207013368580">"સંપર્કોમાંથી આયાત કરો"</string>
+    <string name="hac_mode_title" msgid="8740268574688743289">"સાંભળવામાં સહાયો"</string>
+    <string name="hac_mode_summary" msgid="6833851160514929341">"સાંભળવું અને સુસંગતતા ચાલુ કરો"</string>
+  <string-array name="tty_mode_entries">
+    <item msgid="512950011423868021">"TTY બંધ"</item>
+    <item msgid="3971695875449640648">"TTY સંપૂર્ણ"</item>
+    <item msgid="1937509904407445684">"TTY HCO"</item>
+    <item msgid="5644925873488772224">"TTY VCO"</item>
+  </string-array>
+    <string name="dtmf_tones_title" msgid="5163153771291340803">"DTMF ટોન્સ"</string>
+    <string name="dtmf_tones_summary" msgid="3351820372864020331">"DTMF ટોન્સની લંબાઈ સેટ કરો"</string>
+  <string-array name="dtmf_tone_entries">
+    <item msgid="899650777817315681">"સામાન્ય"</item>
+    <item msgid="2883365539347850535">"લાંબુ"</item>
+  </string-array>
+    <string name="network_info_message" msgid="7738596060242881930">"નેટવર્ક સંદેશ"</string>
+    <string name="network_error_message" msgid="3394780436230411413">"ભૂલ સંદેશ"</string>
+    <string name="ota_title_activate" msgid="8616918561356194398">"તમારા ફોનને સક્રિય કરો"</string>
+    <string name="ota_touch_activate" msgid="6553212803262586244">"તમારી ફોન સેવાને સક્રિય કરવા માટે એક વિશિષ્ટ કૉલની જરૂર છે. \n\n\"સક્રિય કરો\" દબાવ્યાં પછી, તમારા ફોનને સક્રિય કરવા માટે પ્રદાન કરવામાં આવેલ સૂચનાઓને અનુસરો."</string>
+    <string name="ota_hfa_activation_title" msgid="2234246934160473981">"સક્રિય કરી રહ્યું છે…"</string>
+    <string name="ota_hfa_activation_dialog_message" msgid="8092479227918463415">"ફોન તમારી મોબાઇલ ડેટા સેવાને સક્રિય કરી રહ્યું છે.\n\nઆમાં 5 મિનિટ સુધીનો સમય લાગી શકે છે."</string>
+    <string name="ota_skip_activation_dialog_title" msgid="2943366608272261306">"સક્રિયકરણ છોડીએ?"</string>
+    <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"જો તમે સક્રિયકરણ છોડી દો, તો તમે કૉલ્સ કરી શકતા નથી અથવા મોબાઇલ ડેટા નેટવર્ક્સથી કનેક્ટ કરી શકાતું નથી (તેમ છતાં તમે Wi-Fi નેટવર્ક્સથી કનેક્ટ કરી શકો છો). જ્યાં સુધી તમે તમારા ફોનને સક્રિય ન કરી લો, ત્યાં સુધી તમે ચાલુ કરો ત્યારે દર વખતે તમને તેને સક્રિય કરવાનું પૂછવામાં આવે છે."</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="3458532775091563208">"છોડો"</string>
+    <string name="ota_activate" msgid="1368528132525626264">"સક્રિય કરો"</string>
+    <string name="ota_title_activate_success" msgid="6570240212263372046">"ફોન સક્રિય કરેલ છે."</string>
+    <string name="ota_title_problem_with_activation" msgid="7095824491970084367">"સક્રિયકરણમાં સમસ્યા"</string>
+    <string name="ota_listen" msgid="162923839877584937">"જ્યાં સુધી તમે સક્રિયકરણ પૂર્ણ સાંભળો નહીં ત્યાં સુધી બોલાયેલ સૂચનાઓને અનુસરો."</string>
+    <string name="ota_speaker" msgid="6904589278542719647">"સ્પીકર્સ"</string>
+    <string name="ota_progress" msgid="460876637828044519">"તમારો ફોનનો પ્રોગ્રામ કરી રહ્યાં છે…"</string>
+    <string name="ota_failure" msgid="7713756181204620397">"તમારા ફોનનો પ્રોગ્રામ કરી શકાયો નથી"</string>
+    <string name="ota_successful" msgid="1880780692887077407">"તમારો ફોન હવે સક્રિય કરેલ છે. સેવા પ્રારંભ થવામાં 15 મિનિટ સુધી લાગી શકે છે."</string>
+    <string name="ota_unsuccessful" msgid="8072141612635635357">"તમારો ફોન સક્રિય નથી. \nબહેતર કવરેજ માટે તમારે એક ક્ષેત્ર શોધવાની જરૂર છે (વિંડોની નજીક અથવા બહાર). \n\nફરી પ્રયાસ કરો અથવા વધુ વિકલ્પો માટે ગ્રાહક સેવાને કૉલ કરો."</string>
+    <string name="ota_spc_failure" msgid="3909983542575030796">"અતિરેક SPC નિષ્ફળતાઓ"</string>
+    <string name="ota_call_end" msgid="4537279738134612388">"પાછળ"</string>
+    <string name="ota_try_again" msgid="7685477206465902290">"ફરી પ્રયાસ કરો"</string>
+    <string name="ota_next" msgid="3904945374358235910">"આગલું"</string>
+    <string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
+    <string name="phone_entered_ecm_text" msgid="6266424252578731203">"કટોકટી કૉલબેક મોડમાં દાખલ કર્યો"</string>
+    <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"કટોકટી કૉલબેક મોડ"</string>
+    <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ડેટા કનેક્શન અક્ષમ કરેલ છે"</string>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> મિનિટ માટે કોઈ ડેટા કનેક્શન નથી</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> મિનિટ માટે કોઈ ડેટા કનેક્શન નથી</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી કટોકટી કૉલબેક મોડમાં રહેશે. આ મોડમાં હોય ત્યારે ડેટા કનેક્શનનો ઉપયોગ કરતી કોઈપણ એપ્લિકેશન્સનો ઉપયોગ થઈ શકશે નહીં. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
+      <item quantity="other">ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી કટોકટી કૉલબેક મોડમાં રહેશે. આ મોડમાં હોય ત્યારે ડેટા કનેક્શનનો ઉપયોગ કરતી કોઈપણ એપ્લિકેશન્સનો ઉપયોગ થઈ શકશે નહીં. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">કટોકટી કૉલબેક મોડમાં હોય ત્યારે પસંદ કરેલ ક્રિયા ઉપલબ્ધ રહેતી નથી. ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી આ મોડમાં રહેશે. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
+      <item quantity="other">કટોકટી કૉલબેક મોડમાં હોય ત્યારે પસંદ કરેલ ક્રિયા ઉપલબ્ધ રહેતી નથી. ફોન <xliff:g id="COUNT_1">%s</xliff:g> મિનિટ સુધી આ મોડમાં રહેશે. શું તમે હમણાં બહાર નીકળવા માગો છો?</item>
+    </plurals>
+    <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"કટોકટી કૉલમાં હોય ત્યારે પસંદ કરેલ ક્રિયા ઉપલબ્ધ રહેતી નથી."</string>
+    <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"કટોકટી કૉલબેક મોડમાંથી બહાર નીકળે છે"</string>
+    <string name="alert_dialog_yes" msgid="6674268047820703974">"હા"</string>
+    <string name="alert_dialog_no" msgid="1476091437797628703">"નહીં"</string>
+    <string name="alert_dialog_dismiss" msgid="2491494287075907171">"છોડી દો"</string>
+    <string name="voicemail_provider" msgid="5135942703327136909">"સેવા"</string>
+    <string name="voicemail_settings" msgid="72448049107749316">"સેટઅપ"</string>
+    <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;સેટ કરેલ નથી&gt;"</string>
+    <string name="other_settings" msgid="3672912580359716394">"અન્ય કૉલ સેટિંગ્સ"</string>
+    <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> મારફતે કૉલ કરે છે"</string>
+    <string name="contactPhoto" msgid="4713193418046639466">"સંપર્ક ફોટો"</string>
+    <string name="goPrivate" msgid="865837794424530980">"ખાનગી જાઓ"</string>
+    <string name="selectContact" msgid="781975788478987237">"સંપર્ક પસંદ કરો"</string>
+    <string name="not_voice_capable" msgid="2739898841461577811">"વૉઇસ કૉલિંગ સમર્થિત નથી"</string>
+    <string name="description_dial_button" msgid="7459705245418435351">"ડાયલ કરો"</string>
+    <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"વાઇબ્રેટ"</string>
+    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"વાઇબ્રેટ"</string>
+    <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ધ્વનિ"</string>
+    <string name="dial_pad_autocomplete" msgid="7683489952557536398">"ડાયલપેડ સ્વતઃપૂર્ણ"</string>
+    <string name="preference_category_ringtone" msgid="5197960752529332721">"રિંગટોન અને વાઇબ્રેટ"</string>
+    <string name="pstn_connection_service_label" msgid="1743245930577325900">"બિલ્ટ-ઇન SIM કાર્ડ્સ"</string>
+    <string name="enable_video_calling_title" msgid="7237253660669000899">"વિડિઓ કૉલિંગ ચાલુ કરો"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"વિડિઓ કૉલિંગ ચાલુ કરવા માટે, તમારે નેટવર્ક સેટિંગ્સમાં વધારેલ 4G LTE મોડને સક્ષમ કરવાની જરૂર છે."</string>
+    <string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"નેટવર્ક સેટિંગ્સ"</string>
+    <string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"બંધ કરો"</string>
+    <string name="sim_label_emergency_calls" msgid="4847699229529306397">"કટોકટીના કૉલ્સ"</string>
+    <string name="sim_description_emergency_calls" msgid="7535215397212301562">"ફક્ત કટોકટીની કૉલિંગ"</string>
+    <string name="sim_description_default" msgid="4778679519938775515">"SIM કાર્ડ, સ્લોટ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ઍક્સેસિબિલિટી"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"આવનાર Wi-Fi કૉલ"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi કૉલ"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"ખોલવા માટે ફરી ટચ કરો"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"સંદેશ ડીકોડિંગ કરતી વખતે ભૂલ આવી હતી."</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index c1fbe8d..3b41ee6 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -28,7 +28,7 @@
     <string name="mmiStarted" msgid="6347869857061147003">"MMI कोड प्रारंभ किया गया"</string>
     <string name="ussdRunning" msgid="485588686340541690">"USSD कोड चल रहा है…"</string>
     <string name="mmiCancelled" msgid="2771923949751842276">"MMI कोड रद्द किया गया"</string>
-    <string name="cancel" msgid="5044513931633602634">"रहने दें"</string>
+    <string name="cancel" msgid="5044513931633602634">"अभी नहीं"</string>
     <string name="enter_input" msgid="1810529547726803893">"USSD संदेश <xliff:g id="MIN_LEN">%d</xliff:g> और <xliff:g id="MAX_LEN">%d</xliff:g> वर्णों के बीच होना चाहिए. कृपया पुन: प्रयास करें."</string>
     <string name="manageConferenceLabel" msgid="4691922394301969053">"कॉन्फ़्रेंस कॉल प्रबंधित करें"</string>
     <string name="ok" msgid="3811371167865772377">"ठीक है"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"फ़ोन खाते"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP खाता जोड़ें"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"खाता सेटिंग कॉन्‍फ़िगर करें"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"वाई-फ़ाई कॉलिंग"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"वाई-फ़ाई कॉलिंग"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"वाई-फ़ाई कॉलिंग का उपयोग न करें"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"कॉल सहायक का उपयोग न करें"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"कोई नहीं"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"कॉन्फ़िगर करें"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"अंतर्निहित कनेक्शन सेवा"</string>
     <string name="voicemail" msgid="8693759337917898954">"वॉयस मेल"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"वॉइसमेल (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"नेटवर्क ऑपरेटर"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"आपातकालीन प्रसारण"</string>
@@ -96,9 +97,9 @@
     <string name="labelCW" msgid="6120513814915920200">"कॉल प्रतीक्षा"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"कॉल के दौरान, मुझे इनकमिंग कॉल की नोटिफिकेशन दें"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"कॉल के दौरान, मुझे इनकमिंग कॉल की नोटिफिकेशन दें"</string>
-    <string name="call_forwarding_settings" msgid="3378927671091537173">"कॉल अग्रेषण सेटिंग"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"कॉल आगे भेजने की सेटिंग"</string>
     <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"कॉल आगे भेजने की सेटिंग (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="labelCF" msgid="2574386948026924737">"कॉल अग्रेषण"</string>
+    <string name="labelCF" msgid="2574386948026924737">"कॉल आगे भेजना"</string>
     <string name="labelCFU" msgid="8147177368148660600">"हमेशा आगे भेजें"</string>
     <string name="messageCFU" msgid="3560082430662923687">"हमेशा इस नंबर का उपयोग करें"</string>
     <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"सभी कॉल अग्रेषित कर रहा है"</string>
@@ -200,11 +201,12 @@
     <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"ध्‍वनि और अन्‍य संचारों को बेहतर बनाने हेतु LTE सेवाओं का उपयोग करें (अनुशंसित)"</string>
     <string name="data_enabled" msgid="5972538663568715366">"डेटा सक्षम किया गया"</string>
     <string name="data_enable_summary" msgid="2382798156640007971">"डेटा उपयोग करने दें"</string>
-    <string name="roaming" msgid="8871412572928323707">"डेटा रोमिंग"</string>
+    <string name="roaming" msgid="8871412572928323707">"रोमिंग डेटा"</string>
     <string name="roaming_enable" msgid="7331106985174381987">"रोमिंग के समय डेटा सेवाएं कनेक्ट करें"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"रोमिंग के समय डेटा सेवाएं कनेक्ट करें"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"आपकी डेटा कनेक्टिविटी खो गई है क्योंकि आप डेटा रोमिंग बंद करके अपने होम नेटवर्क से बाहर आ गए हैं."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"रोमिंग में होने पर डेटा उपयोग होने दें? महत्‍वपूर्ण शुल्‍क लागू हो सकते हैं."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"आपको बहुत अधिक शुल्‍क देना पड़ सकता है."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"डेटा रोमिंग की अनुमति दें?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS विकल्प"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA विकल्प"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"डेटा उपयोग"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY मोड सेट करें"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"स्वतः पुन: प्रयास"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"स्वतः पुन: प्रयास मोड सक्षम करें"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"वीडियो कॉल के दौरान TTY मोड में बदलाव की अनुमति नहीं है"</string>
     <string name="menu_add" msgid="1882023737425114762">"संपर्क जोड़ें"</string>
     <string name="menu_edit" msgid="7143003705504672374">"संपर्क संपादित करें"</string>
     <string name="menu_delete" msgid="3977150783449642851">"संपर्क हटाएं"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"सिम कार्ड से पढ़ रहा है…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"आपके सिम कार्ड पर कोई संपर्क नहीं है."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"आयात करने के लिए संपर्कों को चुनें"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"सिम कार्ड से संपर्क आयात करने के लिए, पहले हवाई जहाज़ मोड बंद करें."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM कार्ड से संपर्क आयात करने के लिए हवाई जहाज़ मोड बंद करें."</string>
     <string name="enable_pin" msgid="5422767284133234860">"सिम पिन सक्षम/अक्षम करें"</string>
     <string name="change_pin" msgid="9174186126330785343">"सिम पिन बदलें"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"सिम पिन:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"समाप्त करें"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"वापस कॉल करें"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"संदेश"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"कॉल करने के लिए, पहले विमान मोड बंद करें."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"कॉल करने के लिए हवाई जहाज़ मोड बंद करें."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"कॉल करने के लिए हवाई जहाज़ मोड बंद करें या किसी वायरलेस नेटवर्क से कनेक्‍ट करें."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"नेटवर्क पर पंजीकृत नहीं."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"सेल्युलर नेटवर्क उपलब्ध नहीं."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"सेल्‍युलर नेटवर्क उपलब्‍ध नहीं है. कॉल करने के लिए किसी वायरलेस नेटवर्क से कनेक्‍ट करें."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"कॉल करने के लिए, मान्‍य नंबर डालें."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"कॉल नहीं किया जा सकता."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI अनुक्रम प्रारंभ हो रहा है…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"कॉंन्फ़्रेंस कॉल करने में असमर्थ."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"कॉल अस्‍वीकार नहीं किया जा सकता."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"कॉल रिलीज़ नहीं किया जा सकता (किए जा सकते)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"कॉल करने के लिए किसी वायरलेस नेटवर्क से कनेक्‍ट करें."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"आपातकालीन कॉल"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"रेडियो चालू कर रहा है..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"कोई सेवा नहीं. पुन: प्रयास किया जा रहा है…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"आपातकालीन कॉलबैक मोड में प्रविष्ट हुए"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"आपातकालीन कॉलबैक मोड"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"डेटा कनेक्शन अक्षम किया गया"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> मिनट के लिए कोई डेटा कनेक्शन नहीं"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> मिनट के लिए कोई डेटा कनेक्शन नहीं"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"फ़ोन <xliff:g id="COUNT">%s</xliff:g> मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा. हालांकि, इस मोड में होने पर डेटा कनेक्शन का उपयोग करने वाले किसी ऐप्स  का उपयोग नहीं किया जा सकता. क्या आप अभी बाहर निकलना चाहते हैं?"</item>
-    <item quantity="other" msgid="8617116564023933114">"फ़ोन <xliff:g id="COUNT">%s</xliff:g> मिनट के लिए आपातकालीन कॉलबैक मोड में रहेगा. हालांकि, इस मोड में होने पर डेटा कनेक्शन का उपयोग करने वाले किसी ऐप्स  का उपयोग नहीं किया जा सकता. क्या आप अभी बाहर निकलना चाहते हैं?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"आपातकालीन कॉलबैक मोड के समय चयनित क्रिया उपलब्ध नहीं है. फ़ोन <xliff:g id="COUNT">%s</xliff:g> मिनट तक इस मोड में रहेगा. क्या आप अभी बाहर निकलना चाहते हैं?"</item>
-    <item quantity="other" msgid="6115622137771382224">"आपातकालीन कॉलबैक मोड के समय चयनित क्रिया उपलब्ध नहीं है. फ़ोन <xliff:g id="COUNT">%s</xliff:g> मिनट तक इस मोड में रहेगा. क्या आप अभी बाहर निकलना चाहते हैं?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> मिनट तक कोई डेटा कनेक्‍शन नहीं</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> मिनट तक कोई डेटा कनेक्‍शन नहीं</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक आपातकालीन कॉलबैक मोड में रहेगा. इस मोड में रहने पर डेटा कनेक्‍शन का उपयोग करने वाले किसी भी ऐप्‍लिकेशन का उपयोग नहीं किया जा सकता. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
+      <item quantity="other">फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक आपातकालीन कॉलबैक मोड में रहेगा. इस मोड में रहने पर डेटा कनेक्‍शन का उपयोग करने वाले किसी भी ऐप्‍लिकेशन का उपयोग नहीं किया जा सकता. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">आपातकालीन कॉलबैक मोड में रहने पर चयनित कार्रवाई उपलब्‍ध नहीं होती. फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक इस मोड में रहेगा. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
+      <item quantity="other">आपातकालीन कॉलबैक मोड में रहने पर चयनित कार्रवाई उपलब्‍ध नहीं होती. फ़ोन <xliff:g id="COUNT_1">%s</xliff:g> मिनट तक इस मोड में रहेगा. क्‍या आप अभी बाहर निकलना चाहते हैं?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"आपातकालीन कॉल के समय चयनित क्रिया उपलब्ध नहीं होती है."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"आपातकालीन कॉलबैक मोड से बाहर निकल रहा है"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"हां"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"आपातकालीन कॉल"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"केवल आपातकालीन कॉल"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"सिम कार्ड, स्‍लॉट: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"सरल उपयोग"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"इनकमिंग वाई-फ़ाई कॉल"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"वाई-फ़ाई कॉल"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"खोलने के लिए पुन: स्पर्श करें"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"संदेश डीकोड करते समय कोई त्रुटि हुई थी."</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index ebd3ce1..cdf9e13 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonski računi"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Dodaj SIP račun"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguriranje postavki računa"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi pozivi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi pozivi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne upotrebljavaj Wi-Fi pozive"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne upotrebljavaj pomoćnik za pozive"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ništa"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfiguriraj"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Ugrađena usluga povezivanja"</string>
     <string name="voicemail" msgid="8693759337917898954">"Govorna pošta"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Govorna pošta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Mrežni operateri"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Hitna emitiranja"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Poveži se s podatkovnim uslugama u roamingu"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Poveži se s podatkovnim uslugama u roamingu"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Izgubili ste podatkovnu vezu jer ste izašli iz matične mreže s isključenim roamingom podataka."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Želite li dopustiti upotrebu podataka u roamingu? Mogući su veliki troškovi."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"To se može skupo naplaćivati."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Želite li dopustiti roaming podataka?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opcije za GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA opcije"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Korištenje podataka"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Postavi način TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatski ponovni pokušaj"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Omogući način automatskog ponovnog pokušaja"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Promjena TTY načina nije dopuštena tijekom videopoziva"</string>
     <string name="menu_add" msgid="1882023737425114762">"Dodaj kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Uredi kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Izbriši kontakt"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Čitanje sa SIM kartice…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Nema kontakata na vašoj SIM kartici."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Odaberite kontakte za uvoz"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Za uvoz kontakata sa SIM kartice prvo isključite način rada u zrakoplovu."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Isključite način rada u zrakoplovu da biste uvezli kontakte sa SIM kartice."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Omogući/onemogući PIN za SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Promijeni PIN za SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN za SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Prekini vezu"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Povratni poziv"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Poruka"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Da biste uspostavili poziv, prvo isključite način rada u zrakoplovu."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Isključite način rada u zrakoplovu da biste uputili poziv."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Isključite način rada u zrakoplovu ili se povežite s bežičnom mrežom da biste uputili poziv."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nije registrirano na mreži."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilna mreža nije dostupna."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilna mreža nije dostupna. Povežite se s bežičnom mrežom da biste uputili poziv."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Unesite važeći broj da biste uspostavili poziv."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Pozivanje nije moguće."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Pokretanje MMI sekvence…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nije moguće uspostaviti konferencijske pozive."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Odbijanje poziva nije moguće."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Prekidanje poziva nije moguće."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Povežite se s bežičnom mrežom da biste uputili poziv."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Hitan poziv"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Uključivanje radija…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Nema usluge. Pokušavamo ponovo…"</string>
@@ -508,18 +514,21 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Unijet je način hitnog povratnog poziva"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Način hitnog povratnog poziva"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Onemogućena je podatkovna mreža"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Nema podatkovne veze <xliff:g id="COUNT">%s</xliff:g> min"</item>
-    <item quantity="other" msgid="3122217344579273583">"Nema podatkovne veze <xliff:g id="COUNT">%s</xliff:g> min"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon će biti u načinu rada hitnog povratnog poziva <xliff:g id="COUNT">%s</xliff:g> min. Za to se vrijeme ne može upotrebljavati nijedna aplikacija kojoj je potrebna podatkovna veza. Želite li izaći sada?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon će biti u načinu rada hitnog povratnog poziva <xliff:g id="COUNT">%s</xliff:g> min. Za to se vrijeme ne može upotrebljavati nijedna aplikacija kojoj je potrebna podatkovna veza. Želite li izaći sada?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Odabrana radnja nije dostupna u načinu rada hitnog povratnog poziva. Telefon će biti u tom načinu rada <xliff:g id="COUNT">%s</xliff:g> min. Želite li izaći sada?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Odabrana radnja nije dostupna u načinu rada hitnog povratnog poziva. Telefon će biti u tom načinu rada <xliff:g id="COUNT">%s</xliff:g> min. Želite li izaći sada?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Podatkovne veze neće biti <xliff:g id="COUNT_1">%s</xliff:g> minutu</item>
+      <item quantity="few">Podatkovne veze neće biti <xliff:g id="COUNT_1">%s</xliff:g> minute</item>
+      <item quantity="other">Podatkovne veze neće biti <xliff:g id="COUNT_1">%s</xliff:g> minuta</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Telefon će biti u načinu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minutu. U tom se načinu ne mogu upotrebljavati aplikacije koje upotrebljavaju podatkovnu vezu. Želite li odmah zatvoriti taj način?</item>
+      <item quantity="few">Telefon će biti u načinu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minute. U tom se načinu ne mogu upotrebljavati aplikacije koje upotrebljavaju podatkovnu vezu. Želite li odmah zatvoriti taj način?</item>
+      <item quantity="other">Telefon će biti u načinu hitnog povratnog poziva <xliff:g id="COUNT_1">%s</xliff:g> minuta. U tom se načinu ne mogu upotrebljavati aplikacije koje upotrebljavaju podatkovnu vezu. Želite li odmah zatvoriti taj način?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Odabrana radnja nije dostupna u načinu hitnog povratnog poziva. Telefon će u tom načinu biti <xliff:g id="COUNT_1">%s</xliff:g> minutu. Želite li odmah zatvoriti taj način?</item>
+      <item quantity="few">Odabrana radnja nije dostupna u načinu hitnog povratnog poziva. Telefon će u tom načinu biti <xliff:g id="COUNT_1">%s</xliff:g> minute. Želite li odmah zatvoriti taj način?</item>
+      <item quantity="other">Odabrana radnja nije dostupna u načinu hitnog povratnog poziva. Telefon će u tom načinu biti <xliff:g id="COUNT_1">%s</xliff:g> minuta. Želite li odmah zatvoriti taj način?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Odabrana radnja nije dostupna tijekom hitnog poziva."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Izlaz iz načina hitnog povratnog poziva"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Da"</string>
@@ -548,4 +557,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Hitni pozivi"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Samo hitni pozivi"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM kartica, utor: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Pristupačnost"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Dolazni Wi-Fi poziv"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi poziv"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Dodirnite ponovo da biste otvorili"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Došlo je do pogreške prilikom dekodiranja poruke."</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index fe7636e..5ed77c0 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -20,7 +20,7 @@
     <string name="phoneAppLabel" product="default" msgid="906161039445636857">"Telefon"</string>
     <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"Segélyhívó tárcsázó"</string>
     <string name="phoneIconLabel" msgid="2331230813161304895">"Telefon"</string>
-    <string name="fdnListLabel" msgid="8630418672279521003">"FDN lista"</string>
+    <string name="fdnListLabel" msgid="8630418672279521003">"Fix hívószámok listája"</string>
     <string name="unknown" msgid="6878797917991465859">"Ismeretlen"</string>
     <string name="private_num" msgid="6713286113000232309">"Magántelefonszám"</string>
     <string name="payphone" msgid="4793877574636445118">"Nyilvános telefon"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonos fiókok"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-fiók hozzáadása"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Fiókbeállítások konfigurálása"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi-hívás"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-hívás"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne használja a Wi-Fi-hívást"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne használja a hívássegédet"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nincs"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurálás"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Beépített kapcsolati szolgáltatás"</string>
     <string name="voicemail" msgid="8693759337917898954">"Hangposta"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Hangposta (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"HP:"</string>
     <string name="networks" msgid="8873030692174541976">"Mobilszolgáltatók"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Sürgősségi adások"</string>
@@ -100,7 +101,7 @@
     <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Hívásátirányítási beállítások (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="2574386948026924737">"Hívásátirányítás"</string>
     <string name="labelCFU" msgid="8147177368148660600">"Mindig legyen átirányítás"</string>
-    <string name="messageCFU" msgid="3560082430662923687">"Mindig a következő szám használata"</string>
+    <string name="messageCFU" msgid="3560082430662923687">"Mindig a következő számot használja"</string>
     <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"Minden hívás átirányítása"</string>
     <string name="sum_cfu_enabled" msgid="2450052502198827927">"Minden hívás átirányítása ide: <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"A szám nem érhető el"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Csatlakozás adatszolgáltatásokhoz barangolás során"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Megszakadt az adatkapcsolat, mert elhagyta az otthoni hálózatot, és az adatbarangolás nincs bekapcsolva."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Engedélyezi az adatbarangolást? Ez jelentős költségekkel járhat."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Lehet, hogy jelentős összeget számítanak fel érte."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Engedélyezi az adatbarangolást?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS beállítások"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-beállítások"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Adathasználat"</string>
@@ -330,19 +332,19 @@
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"Adatszolgáltatás beállítása"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"Szolgáltatói beállítások"</string>
     <string name="fdn" msgid="7878832555095183202">"Fix hívószámok"</string>
-    <string name="fdn_with_label" msgid="187084204115493366">"Rögzített hívószámok (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="manage_fdn_list" msgid="8777755791892122369">"FDN lista"</string>
-    <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN lista (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="fdn_activation" msgid="2156479741307463576">"FDN aktiválása"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Fix hívószámok (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="manage_fdn_list" msgid="8777755791892122369">"Fix hívószámok listája"</string>
+    <string name="fdn_list_with_label" msgid="7437232552210469217">"Fix hívószámok listája (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2156479741307463576">"Fix hívószám aktiválása"</string>
     <string name="fdn_enabled" msgid="5238109009915521240">"A fix hívószámok engedélyezve"</string>
     <string name="fdn_disabled" msgid="4700049736675368279">"A fix hívószámok letiltva"</string>
-    <string name="enable_fdn" msgid="3740191529180493851">"FDN engedélyezése"</string>
-    <string name="disable_fdn" msgid="7944020890722540616">"FDN letiltása"</string>
-    <string name="change_pin2" msgid="2153563695382176676">"PIN2-kód módosítása"</string>
-    <string name="enable_fdn_ok" msgid="7215588870329688132">"FDN letiltása"</string>
-    <string name="disable_fdn_ok" msgid="5727046928930740173">"FDN engedélyezése"</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"Fix hívószám engedélyezése"</string>
+    <string name="disable_fdn" msgid="7944020890722540616">"Fix hívószám letiltása"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"PIN2 kód módosítása"</string>
+    <string name="enable_fdn_ok" msgid="7215588870329688132">"Fix hívószám letiltása"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"Fix hívószám engedélyezése"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"Fix hívószámok kezelése"</string>
-    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"PIN-kód módosítása az FDN eléréséhez"</string>
+    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"PIN kód módosítása a fix hívószámok eléréséhez"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Telefonszámok listájának kezelése"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Adatvédelem"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"Fokozott adatvédelmi mód engedélyezése"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY-mód beállítása"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatikus újrapróbálkozás"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Automatikus újrapróbálkozás-mód bekapcsolása"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"A TTY mód nem módosítható videohívás közben"</string>
     <string name="menu_add" msgid="1882023737425114762">"Névjegy hozzáadása"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Névjegy szerkesztése"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Névjegy törlése"</string>
@@ -366,14 +369,14 @@
     <string name="delete_fdn_contact" msgid="6668958073074151717">"Fix hívószám törlése"</string>
     <string name="deleting_fdn_contact" msgid="5669163206349319969">"Fix hívószám törlése..."</string>
     <string name="fdn_contact_deleted" msgid="7154162327112259569">"A fix hívószám törölve."</string>
-    <string name="pin2_invalid" msgid="5470854099230755944">"Az FDN nem volt frissítve, mert hibás PIN-kódot írt be."</string>
-    <string name="fdn_invalid_number" msgid="1494755047900009147">"Az FDN nem lett frissítve, mert a szám nem haladhatja meg a 20 számjegyet."</string>
-    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"Az FDN nem lett frissítve. Hibás a PIN2 kód, vagy a telefonszámot elutasították."</string>
-    <string name="fdn_failed" msgid="540018079008319747">"Az FDN-művelet sikertelen."</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"A fix hívószám nincs frissítve, mert hibás PIN kódot írt be."</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"A fix hívószám nem lett frissítve, mert a szám nem haladhatja meg a 20 számjegyet."</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"A fix hívószám nem lett frissítve. Hibás a PIN2 kód, vagy a telefonszámot elutasították."</string>
+    <string name="fdn_failed" msgid="540018079008319747">"Sikertelen a fix hívószámmal végzett művelet."</string>
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Beolvasás a SIM kártyáról..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Nincsenek névjegyek a SIM kártyán."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Válassza ki az importálni kívánt névjegyeket"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"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."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"A repülős üzemmód kikapcsolása a névjegyek SIM kártyáról történő importálásához."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM kártya PIN kódjának be-/kikapcsolása"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM kártya PIN kódjának módosítása"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM kártya PIN kódja:"</string>
@@ -392,8 +395,8 @@
     <string name="pin_changed" msgid="4455736268023261662">"PIN kód frissítve"</string>
     <string name="puk_requested" msgid="5921393215789090200">"A jelszó helytelen. PIN kód letiltva. Adja meg a PUK kódot."</string>
     <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2"</string>
-    <string name="oldPin2Label" msgid="8559146795026261502">"Régi PIN2-kód"</string>
-    <string name="newPin2Label" msgid="4573956902204349054">"Új PIN2-kód"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"Régi PIN2 kód"</string>
+    <string name="newPin2Label" msgid="4573956902204349054">"Új PIN2 kód"</string>
     <string name="confirmPin2Label" msgid="8100319484454787708">"Erősítse meg az új PIN2-kódot"</string>
     <string name="badPuk2" msgid="7910064009531541708">"A PUK2 kód helytelen. Próbálja újra."</string>
     <string name="badPin2" msgid="6646896629970023109">"A régi PIN2 kód helytelen. Próbálja újra."</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Hívás befejezése"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Visszahívás"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Üzenet"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Híváskezdeményezéshez kapcsolja ki a Repülőgép üzemmódot."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Repülős üzemmód kikapcsolása hívás indításához."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Hívás indításához kapcsolja ki a repülős üzemmódot, illetve csatlakozzon egy vezeték nélküli hálózathoz."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nincs regisztrálva a hálózaton."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"A mobilhálózat nem érhető el."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"A mobilhálózat nem érhető el. Hívás indításához csatlakozzon egy vezeték nélküli hálózathoz."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Hívásindításhoz adjon meg egy érvényes számot."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"A hívás sikertelen."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-sorozat indítása..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nem lehet konferenciahívást folytatni."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"A híváselutasítás sikertelen."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"A tartásban lévő hívás(ok) folytatása sikertelen."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Hívás indításához csatlakozzon egy vezeték nélküli hálózathoz."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Segélyhívás"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Rádió bekapcsolása..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Nincs szolgáltatás. Újrapróbálkozás folyamatban…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Segélykérő visszahívása mód bekapcsolva"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Segélykérő visszahívása mód"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Adatkapcsolat letiltva"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> perce nincs adatkapcsolat"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> perce nincs adatkapcsolat"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"A telefon <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-    <item quantity="other" msgid="8617116564023933114">"A telefon <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"A kiválasztott művelet nem áll rendelkezésre Sürgősségi visszahívás módban. A telefon <xliff:g id="COUNT">%s</xliff:g> percig lesz ebben a módban. Szeretne most kilépni?"</item>
-    <item quantity="other" msgid="6115622137771382224">"A kiválasztott művelet nem áll rendelkezésre Sürgősségi visszahívás módban. A telefon <xliff:g id="COUNT">%s</xliff:g> percig lesz ebben a módban. Szeretne most kilépni?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> perce nincs adatkapcsolat</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> perce nincs adatkapcsolat</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">A telefon <xliff:g id="COUNT_1">%s</xliff:g> percig lesz Segélykérő visszahívása módban. Ebben az üzemmódban nem használhatók olyan alkalmazások, amelyeknél adatkapcsolatra van szükség. Szeretne kilépni most?</item>
+      <item quantity="one">A telefon <xliff:g id="COUNT_0">%s</xliff:g> percig lesz Segélykérő visszahívása módban. Ebben az üzemmódban nem használhatók olyan alkalmazások, amelyeknél adatkapcsolatra van szükség. Szeretne kilépni most?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">A választott művelet nem érhető el Segélykérő visszahívása módban. A telefon <xliff:g id="COUNT_1">%s</xliff:g> percig lesz ebben a módban. Szeretne kilépni most?</item>
+      <item quantity="one">A választott művelet nem érhető el Segélykérő visszahívása módban. A telefon <xliff:g id="COUNT_0">%s</xliff:g> percig lesz ebben a módban. Szeretne kilépni most?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"A választott művelet nem érhető el segélyhívás során."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Kilépés a Sürgősségi visszahívás módból"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Igen"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Segélyhívások"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Csak segélyhívás"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM kártya, bővítőhely: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Kisegítő lehetőségek"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Beérkező Wi-Fi-hívás"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi-hívás"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Érintse meg ismét a megnyitáshoz"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Hiba történt az üzenet dekódolása közben."</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index ecd3d22..b03a4bd 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Հաշիվներ զանգերի համար"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ավելացնել SIP հաշիվ"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Կազմաձևել հաշվի կարգավորումները"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Զանգ Wi-Fi-ի միջոցով"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Զանգեր Wi-Fi-ի միջոցով"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Չօգտագործել Wi-Fi-ը զանգերի համար"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Չօգտագործել զանգերի օգնականը"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ոչ մեկը"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Կազմաձևել"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Ներկառուցված կապի ծառայություն"</string>
     <string name="voicemail" msgid="8693759337917898954">"Ձայնային փոստ"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Ձայնային փոստ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ՁՓ՝"</string>
     <string name="networks" msgid="8873030692174541976">"Կապի օպերատորներ"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Ծանուցումներ արտակարգ իրավիճակների մասին"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում գտնվելիս"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Միանալ տվյալների փոխանցման ծառայություններին ռոումինգում գտնվելիս"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Դուք կորցրել եք տվյալների կապը, քանի որ անջատված եք թողել ձեր գլխավոր ցանցի տվյալների ռոումինգը:"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Թույլատրե՞լ տվյալների օգտագործումը ռոումինգում: Կարող են զգալի վճարներ գանձվել:"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Դրա համար ձեզանից կարող են զգալի վճարներ գանձվել:"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Թույլատրե՞լ տվյալների ռոումինգը:"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ընտրանքներ"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA ընտրանքներ"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Տվյալների օգտագործումը"</string>
@@ -218,11 +220,11 @@
     <!-- String.format failed for translation -->
     <!-- no translation found for throttle_data_usage_subtext (6029276011123694701) -->
     <skip />
-    <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"<xliff:g id="USED_0">%1$s</xliff:g> առավելագույնը գերազանցվել է\nՏվյալների արժեքը նվազել է մինչև <xliff:g id="USED_1">%2$d</xliff:g> Կբ/վ"</string>
+    <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"<xliff:g id="USED_0">%1$s</xliff:g> առավելագույնը գերազանցվել է\nՏվյալների արժեքը նվազել է մինչև <xliff:g id="USED_1">%2$d</xliff:g> ԿԲ/վ"</string>
     <!-- String.format failed for translation -->
     <!-- no translation found for throttle_time_frame_subtext (7732763021560399960) -->
     <skip />
-    <string name="throttle_rate_subtext" msgid="2149102656120726855">"Տվյալների ծավալը կնվազի մինչև <xliff:g id="USED">%1$d</xliff:g> Կբ/վ, եթե տվյալների օգտագործման սահմանաչափը գերազանցվի"</string>
+    <string name="throttle_rate_subtext" msgid="2149102656120726855">"Տվյալների ծավալը կնվազի մինչև <xliff:g id="USED">%1$d</xliff:g> ԿԲ/վ, եթե տվյալների օգտագործման սահմանաչափը գերազանցվի"</string>
     <string name="throttle_help_subtext" msgid="3633091498168446044">"Լրացուցիչ տեղեկություններ ձեր օպերատորի բջջային ցանցի տվյալների օգտագործման քաղաքականության մասին"</string>
     <string name="cell_broadcast_sms" msgid="5584192824053625842">"Բջջային հեռարձակման SMS"</string>
     <string name="enable_disable_cell_bc_sms" msgid="4851147873691392255">"Բջջային հեռարձակման SMS"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Սահմանել TTY ռեժիմը"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Ավտոմատ կրկնում"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Միացնել ավտոմատ կրկնման ռեժիմը"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Հնարավոր չէ փոխել TTY ռեժիմը տեսազանգի ընթացքում"</string>
     <string name="menu_add" msgid="1882023737425114762">"Ավելացնել կոնտակտ"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Խմբագրել կոնտակտը"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Ջնջել կոնտակտը"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Ընթերցում է SIM քարտից..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Ձեր SIM քարտում կոնտակտներ չկան:"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Ընտրեք կոնտակտները ներմուծման համար"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM քարտից կոնտակտների ներմուծման համար նախ անջատեք թռիչքային ռեժիմը:"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Կոնտակտները SIM քարտից ներմուծելու համար անջատեք ինքնաթիռային ռեժիմը:"</string>
     <string name="enable_pin" msgid="5422767284133234860">"Միացնել/անջատել SIM PIN-ը"</string>
     <string name="change_pin" msgid="9174186126330785343">"Փոխել SIM PIN-ը"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN՝"</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Վայր դնել"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Հետ զանգել"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Ուղարկել հաղորդագրություն"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Զանգի կատարման համար նախ անջատեք թռիչքային ռեժիմը:"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Զանգ կատարելու համար անջատեք ինքնաթիռային ռեժիմը:"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Զանգ կատարելու համար անջատեք ինքնաթիռային ռեժիմը կամ միացեք անլար ցանցին:"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ցանցում գրանցված չէ:"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Բջջային ցանցն անհասանելի է:"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Բջջային ցանցն անհասանելի է: Զանգ կատարելու համար միացեք անլար ցանցին:"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Զանգ կատարելու համար մուտքագրեք ճիշտ համար:"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Հնարավոր չէ զանգել:"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Մեկնարկում է MMI հաջորդականությունը..."</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Կոնֆերանս զանգը հնարավոր չէ:"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Հնարավոր չէ մերժել զանգը:"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Հնարավոր չէ անջատել զանգ(եր)ը:"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Զանգ կատարելու համար միացեք անլար ցանցին:"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Արտակարգ իրավիճակների զանգ"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ռադիոն միացվում է..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ծառայությունը մատչելի չէ: Նորից փորձեք…"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Գտնվում է արտակարգ իրավիճակների հետզանգի ռեժիմում"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Արտակարգ իրավիճակների հետզանգի ռեժիմ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Տվյալների կապն անջատված է"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> րոպե տվյալների կապ չկա"</item>
-    <item quantity="other" msgid="3122217344579273583">"Տվյալների կապ չի լինի <xliff:g id="COUNT">%s</xliff:g> րոպե"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Հեռախոսը կլինի Արտակարգ հետզանգի ռեժիմում <xliff:g id="COUNT">%s</xliff:g> րոպե: Այս ռեիմի ժամանակ ոչ մի հավելված օգտագործման մեջ չէ, տվյալների կապը կարող է օգտագործվել: Ցանկանու՞մ եք դուրս գալ հիմա:"</item>
-    <item quantity="other" msgid="8617116564023933114">"Հեռախոսը կլինի Արտակարգ հետզանգի ռեժիմում <xliff:g id="COUNT">%s</xliff:g> րոպե: Այս ռեիմի ժամանակ ոչ մի հավելված օգտագործման մեջ չէ, տվյալների կապը կարող է օգտագործվել: Ցանկանու՞մ եք դուրս գալ հիմա:"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Ընտրված գործողությունը մատչելի չէ արտակարգ հետզանգի ռեժիմում գտնվելիս: Հեռախոսն այս ռեժիմում կլինի <xliff:g id="COUNT">%s</xliff:g> րոպե: Ցանկանու՞մ եք դուրս գալ հիմա:"</item>
-    <item quantity="other" msgid="6115622137771382224">"Ընտրված գործողությունը մատչելի չէ արտակարգ հետզանգի ռեժիմում գտնվելիս: Հեռախոսն այս ռեժիմում կլինի <xliff:g id="COUNT">%s</xliff:g> րոպե: Ցանկանու՞մ եք դուրս գալ հիմա:"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> րոպե տվյալների միացում չկա</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> րոպե տվյալների միացում չկա</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Հեռախոսը գտնվելու է Արտակարգ իրավիճակների հետզանգի ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Այդ ռեժիմում տվյալների միացում պահանջող հավելվածները չեն կարող օգտագործվել: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
+      <item quantity="other">Հեռախոսը գտնվելու է Արտակարգ իրավիճակների հետզանգի ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Այդ ռեժիմում տվյալների միացում պահանջող հավելվածները չեն կարող օգտագործվել: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Նշված գործողությունն Արտակարգ իրավիճակների հետզանգի ռեժիմում հասանելի չէ: Հեռախոսը գտնվելու է այս ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
+      <item quantity="other">Նշված գործողությունն Արտակարգ իրավիճակների հետզանգի ռեժիմում հասանելի չէ: Հեռախոսը գտնվելու է այս ռեժիմում <xliff:g id="COUNT_1">%s</xliff:g> րոպե: Ցանկանո՞ւմ եք դուրս գալ հիմա:</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Ընտրված գործողությունը մատչելի չէ արտակարգ հետզանգի ռեժիմում գտնվելիս:"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Դուրս է գալիս արտակարգ իրավիճակների հետզանգի ռեժիմից"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Այո"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Արտակարգ իրավիճակների զանգեր"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Միայն արտակարգ իրավիճակների զանգեր"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM քարտ, բնիկը՝ <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Մատչելիություն"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Մուտքային Wi-Fi զանգ"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Զանգ Wi-Fi-ի միջոցով"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Կրկին հպեք՝ բացելու համար"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Հաղորդագրությունն ապակոդավորելիս սխալ առաջացավ:"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 2e119a9..eace112 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -57,7 +57,7 @@
     <string name="labelCDMAMore" msgid="1630676740428229339">"Setelan panggilan CDMA"</string>
     <string name="apn_settings" msgid="9043423184895642077">"Nama Titik Akses"</string>
     <string name="settings_label" msgid="3876743539816984008">"Setelan jaringan"</string>
-    <string name="phone_accounts" msgid="6376603393888116364">"Akun yang menelepon"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"Akun panggilan"</string>
     <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"Lakukan panggilan dengan"</string>
     <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"Lakukan panggilan SIP dengan"</string>
     <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"Tanyakan terlebih dahulu"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Akun ponsel"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Tambahkan akun SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Mengonfigurasi setelan akun"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Panggilan Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Panggilan Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Jangan gunakan panggilan Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Jangan gunakan asisten panggilan telepon"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Tidak ada"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurasi"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Layanan sambungan di dalamnya"</string>
     <string name="voicemail" msgid="8693759337917898954">"Kotak Pesan"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Kotak pesan (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Operator jaringan"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Siaran darurat"</string>
@@ -106,23 +107,23 @@
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"Nomor tidak tersedia"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"Nonaktif"</string>
     <string name="labelCFB" msgid="6139853033106283172">"Saat sibuk"</string>
-    <string name="messageCFB" msgid="3711089705936187129">"Nomor ketika sibuk"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"Nomor saat sibuk"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"Meneruskan ke <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"Nonaktif"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel sibuk."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"Jika tidak dijawab"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"Nomor ketika tidak dapat dihubungi"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Nomor jika tidak dijawab"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Meneruskan ke <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Nonaktif"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel tidak menjawab panggilan."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Saat tidak dapat dijangkau"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Nomor ketika tidak dapat dihubungi"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Nomor jika tidak dapat dihubungi"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Meneruskan ke <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Dinonaktifkan"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Operator Anda tidak mendukung penonaktifan penerusan panggilan ketika ponsel tidak dapat dijangkau."</string>
     <string name="updating_title" msgid="6146755386174019046">"Setelan panggilan"</string>
-    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"Setelan panggilan telepon hanya dapat diubah oleh pengguna utama."</string>
-    <string name="call_settings_with_label" msgid="89359812614544532">"Setelan panggilan telepon (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"Setelan panggilan hanya dapat diubah oleh pengguna utama."</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"Setelan panggilan (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="7970259216988931777">"Kesalahan setelan panggilan"</string>
     <string name="reading_settings" msgid="1920291699287055284">"Membaca setelan…"</string>
     <string name="updating_settings" msgid="8171225533884883252">"Memperbarui setelan…"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Sambungkan ke layanan data ketika roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Sambungkan ke layanan data ketika roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Anda telah kehilangan konektivitas data karena meninggalkan jaringan asal dalam keadaan roaming data dimatikan."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Izinkan penggunaan data saat roaming? Tagihan signifikan mungkin berlaku."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Anda dapat dikenakan biaya yang cukup besar."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Izinkan roaming data?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opsi GSM//UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opsi CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Penggunaan data"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Setel Mode TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Coba lagi otomatis"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktifkan mode Coba lagi otomatis"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Perubahan Mode TTY tidak diizinkan selama video call"</string>
     <string name="menu_add" msgid="1882023737425114762">"Tambahkan kontak"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Edit kontak"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Hapus kontak"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Membaca dari kartu SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Tidak ada kontak pada Kartu SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Pilih kontak untuk diimpor"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Untuk mengimpor kontak dari kartu SIM, pertama-tama matikan mode Pesawat."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Nonaktifkan mode pesawat untuk mengimpor kontak dari kartu SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Aktifkan/nonaktifkan PIN SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Ubah PIN SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Akhiri"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Hubungi kembali"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Pesan"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Untuk melakukan panggilan, pertama-tama matikan mode Pesawat."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Nonaktifkan mode pesawat untuk melakukan panggilan"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Nonaktifkan mode pesawat atau sambungkan ke jaringan nirkabel untuk melakukan panggilan"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tidak terdaftar pada jaringan."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Jaringan seluler tidak tersedia."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Jaringan selular tidak tersedia. Sambungkan ke jaringan nirkabel untuk melakukan panggilan."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Untuk melakukan panggilan telepon, masukkan nomor yang valid."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Tidak dapat menelepon."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Memulai urutan MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Tidak dapat melakukan telewicara."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Tidak dapat menolak panggilan telepon."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Tidak dapat melepas panggilan telepon."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Sambungkan ke jaringan nirkabel untuk melakukan panggilan"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Panggilan darurat"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Menghidupkan radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Tidak ada layanan. Mencoba lagi…"</string>
@@ -505,23 +511,23 @@
     <string name="ota_try_again" msgid="7685477206465902290">"Coba lagi"</string>
     <string name="ota_next" msgid="3904945374358235910">"Berikutnya"</string>
     <string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
-    <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Masukkan Mode Teleponan Balik Darurat"</string>
+    <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Masukkan Mode Telepon Balik Darurat"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Mode Panggilan Balik Darurat"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Sambungan data dinonaktifkan"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Tidak ada sambungan data selama <xliff:g id="COUNT">%s</xliff:g> menit"</item>
-    <item quantity="other" msgid="3122217344579273583">"Tidak ada sambungan data selama <xliff:g id="COUNT">%s</xliff:g> menit"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Ponsel akan berada dalam mode Telepon Balik Darurat selama <xliff:g id="COUNT">%s</xliff:g> menit. Selama dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat dipakai. Apakah Anda ingin keluar sekarang?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Ponsel akan berada dalam mode Telepon Balik Darurat selama <xliff:g id="COUNT">%s</xliff:g> menit. Selama dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat dipakai. Apakah Anda ingin keluar sekarang?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Tindakan yang dipilih tidak tersedia saat berada dalam mode Telepon Balik Darurat. Ponsel akan berada dalam mode ini selama <xliff:g id="COUNT">%s</xliff:g> menit. Apakah Anda ingin keluar sekarang?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Tindakan yang dipilih tidak tersedia saat berada dalam mode Telepon Balik Darurat. Ponsel akan berada dalam mode ini untuk <xliff:g id="COUNT">%s</xliff:g> menit. Apakah Anda ingin keluar sekarang?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Tidak ada sambungan data selama <xliff:g id="COUNT_1">%s</xliff:g> menit</item>
+      <item quantity="one">Tidak ada sambungan data selama <xliff:g id="COUNT_0">%s</xliff:g> menit</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Ponsel ini akan berada dalam mode Panggilan Balik Darurat selama <xliff:g id="COUNT_1">%s</xliff:g> menit. Saat dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat digunakan. Ingin keluar sekarang?</item>
+      <item quantity="one">Ponsel ini akan berada dalam mode Panggilan Balik Darurat selama <xliff:g id="COUNT_0">%s</xliff:g> menit. Saat dalam mode ini, aplikasi yang menggunakan sambungan data tidak dapat digunakan. Ingin keluar sekarang?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Tindakan yang dipilih tidak tersedia saat dalam mode Panggilan Balik Darurat. Ponsel ini akan berada dalam mode ini selama <xliff:g id="COUNT_1">%s</xliff:g> menit. Ingin keluar sekarang?</item>
+      <item quantity="one">Tindakan yang dipilih tidak tersedia saat dalam mode Panggilan Balik Darurat. Ponsel ini akan berada dalam mode ini selama <xliff:g id="COUNT_0">%s</xliff:g> menit. Ingin keluar sekarang?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Tindakan yang dipilih tidak tersedia ketika dalam panggilan darurat."</string>
-    <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Keluar dari mode Teleponan Balik Darurat"</string>
+    <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Keluar dari mode Telepon Balik Darurat"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ya"</string>
     <string name="alert_dialog_no" msgid="1476091437797628703">"Tidak"</string>
     <string name="alert_dialog_dismiss" msgid="2491494287075907171">"Tutup"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Panggilan darurat"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Hanya untuk panggilan darurat"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Aksesibilitas"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Panggilan Wi-Fi masuk"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Panggilan Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Sentuh lagi untuk membuka"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Terjadi kesalahan saat mendekode pesan."</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
index 36eddb9..5713754 100644
--- a/res/values-is-rIS/strings.xml
+++ b/res/values-is-rIS/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Símareikningar"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Bæta við SIP-reikningi"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Velja reikningsstillingar"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi símtöl"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi símtöl"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ekki nota Wi-Fi símtöl"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ekki nota símtalaaðstoð"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Engin"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Stilla"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Innbyggð tengingarþjónusta"</string>
     <string name="voicemail" msgid="8693759337917898954">"Talhólf"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Talhólf (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Talhólf:"</string>
     <string name="networks" msgid="8873030692174541976">"Símafyrirtæki"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Neyðarútsendingar"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Tengjast gagnaþjónustu í reiki"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Tengjast gagnaþjónustu í reiki"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Gagnatengingin rofnaði vegna þess að þú ert utan heimakerfis með slökkt á gagnareiki."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Leyfa gagnanotkun í reiki? Þetta getur haft mikinn kostnað í för með sér."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Þetta getur haft mikinn kostnað í för með sér."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Leyfa gagnareiki?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Valkostir GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-valkostir"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Gagnanotkun"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Velja TTY-stillingu"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Reyna sjálfkrafa aftur"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Kveikja á stillingunni Reyna sjálfkrafa aftur"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Ekki er heimilt að breyta fjarritastillingu meðan á myndsímtali stendur"</string>
     <string name="menu_add" msgid="1882023737425114762">"Bæta tengilið við"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Breyta tengilið"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Eyða tengilið"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Les af SIM-korti…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Engir tengiliðir á SIM-kortinu."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Veldu tengiliði til að flytja inn"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Til að flytja inn tengiliði af SIM-kortinu þarf að slökkva á flugstillingu."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Slökktu á flugstillingu til að flytja inn tengiliði af SIM-kortinu."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Gera PIN-númer SIM-korts virkt eða óvirkt"</string>
     <string name="change_pin" msgid="9174186126330785343">"Breyta PIN-númeri SIM-korts"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN-númer SIM-korts:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Leggja á"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Hringja til baka"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Skilaboð"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Til að hringja símtal þarftu fyrst að slökkva á flugstillingu."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Slökktu á flugstillingu til að hringja."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Slökktu á flugstillingu eða tengstu þráðlausu neti til að hringja."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ekki skráð á símkerfi."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Farsímakerfi ekki til staðar."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Farsímakerfi er ekki í boði. Tengstu þráðlausu neti til að hringja."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Sláðu inn gilt númer til að hringja símtal."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Ekki hægt að hringja."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Ræsir MMI-runu…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Ekki hægt að halda símafund."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Ekki hægt að hafna símtali."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Ekki hægt að leggja á."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Tengstu þráðlausu neti til að hringja."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Neyðarsímtal"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Kveikir á loftneti…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ekkert samband. Reynir aftur…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Stilling fyrir svarhringingu neyðarsímtala virk"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Stilling fyrir svarhringingu neyðarsímtala"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Slökkt á gagnatengingu"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Engin gagnatenging í <xliff:g id="COUNT">%s</xliff:g> mínútu"</item>
-    <item quantity="other" msgid="3122217344579273583">"Engin gagnatenging í <xliff:g id="COUNT">%s</xliff:g> mínútur"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT">%s</xliff:g> mínútu. Á meðan stillingin er virk er ekki hægt að nota nein forrit sem þurfa gagnatengingu. Viltu hætta núna?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT">%s</xliff:g> mínútur. Á meðan stillingin er virk er ekki hægt að nota nein forrit sem þurfa gagnatengingu. Viltu hætta núna?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Þessi aðgerð er ekki í boði á meðan stilling fyrir svarhringingu neyðarsímtala er virk. Síminn verður í þessari stillingu í <xliff:g id="COUNT">%s</xliff:g> mínútu. Viltu hætta núna?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Þessi aðgerð er ekki í boði á meðan stilling fyrir svarhringingu neyðarsímtala er virk. Síminn verður í þessari stillingu í <xliff:g id="COUNT">%s</xliff:g> mínútur. Viltu hætta núna?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Engin gagnatenging í <xliff:g id="COUNT_1">%s</xliff:g> mínútu</item>
+      <item quantity="other">Engin gagnatenging í <xliff:g id="COUNT_1">%s</xliff:g> mínútur</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT_1">%s</xliff:g> mínútu. Þegar hann er í þessari stillingu er ekki hægt að nota nein forrit sem krefjast gagnatengingar. Viltu hætta núna?</item>
+      <item quantity="other">Síminn verður í stillingu fyrir svarhringingu neyðarsímtala í <xliff:g id="COUNT_1">%s</xliff:g> mínútur. Þegar hann er í þessari stillingu er ekki hægt að nota nein forrit sem krefjast gagnatengingar. Viltu hætta núna?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Þessi aðgerð er ekki í boði þegar síminn er í stillingu fyrir svarhringingu neyðarsímtala. Síminn verður í þessari stillingu í <xliff:g id="COUNT_1">%s</xliff:g> mínútu. Viltu hætta núna?</item>
+      <item quantity="other">Þessi aðgerð er ekki í boði þegar síminn er í stillingu fyrir svarhringingu neyðarsímtala. Síminn verður í þessari stillingu í <xliff:g id="COUNT_1">%s</xliff:g> mínútur. Viltu hætta núna?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Þessi aðgerð er ekki í boði í neyðarsímtali."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Fer úr stillingu fyrir svarhringingu neyðarsímtala"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Já"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Neyðarsímtöl"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Eingöngu neyðarsímtöl"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kort, rauf: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Aðgengi"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Wi-Fi símtal berst"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi símtal"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Snertu aftur til að opna"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Villa kom upp við að afkóða skeytið."</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 3c032cf..c0aa2fc 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Account telefono"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Aggiungi account SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurazione delle impostazioni dell\'account"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Chiamate Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Chiamate Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Non utilizzare chiamate Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Non utilizzare assistente chiamate"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nessuno"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configura"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Servizio di connessione integrato"</string>
     <string name="voicemail" msgid="8693759337917898954">"Segreteria"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Segreteria (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ST:"</string>
     <string name="networks" msgid="8873030692174541976">"Operatori di rete"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Trasmissioni di emergenza"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Connessione a servizi di dati in caso di roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Connessione a servizi di dati in roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Connettività dati persa: hai lasciato la rete del tuo operatore con il roaming dati disattivato."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Consentire l\'utilizzo dei dati con il roaming? Potrebbero essere applicati costi elevati."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"I costi potrebbero essere elevati."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Consentire il roaming dei dati?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opzioni GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opzioni CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Utilizzo dati"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Imposta modalità TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Nuovo tentativo automatico"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Attiva la modalità Nuovo tentativo automatico"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Durante le videochiamate non è possibile cambiare modalità TTY"</string>
     <string name="menu_add" msgid="1882023737425114762">"Aggiungi contatto"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Modifica contatto"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Elimina contatto"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lettura da SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Nessun contatto presente nella SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleziona contatti da importare"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Per importare i contatti dalla scheda SIM, prima disattiva la modalità aereo."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Disattiva la modalità aereo per importare i contatti dalla scheda SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Attiva/disattiva PIN di SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Cambia PIN SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN della SIM:"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Riaggancia"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Richiama"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Messaggio"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Per fare una telefonata, disattiva la modalità aereo."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Disattiva la modalità aereo per effettuare una chiamata."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Disattiva la modalità aereo o connettiti a una rete wireless per effettuare una chiamata."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Non registrato sulla rete."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rete cellulare non disponibile."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"La rete cellulare non è disponibile. Connettiti a una rete wireless per effettuare una chiamata."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Per effettuare una chiamata, inserisci un numero valido."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Impossibile chiamare."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Inizio sequenza MMI..."</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Audioconferenze non disponibili"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Impossibile rifiutare la chiamata."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Impossibile riagganciare."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Connettiti a una rete wireless per effettuare una chiamata."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chiamata di emergenza"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Attivazione segnale cellulare..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Nessun servizio. Nuovo tentativo…"</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Modalità di richiamata di emergenza attivata"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modalità di richiamata di emergenza"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Connessione dati disabilitata"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Nessuna connessione dati per <xliff:g id="COUNT">%s</xliff:g> minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Nessuna connessione dati per <xliff:g id="COUNT">%s</xliff:g> minuti"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Il telefono sarà in modalità di richiamata di emergenza per <xliff:g id="COUNT">%s</xliff:g> minuto. In questa modalità non è possibile utilizzare alcuna applicazione che faccia uso di una connessione dati. Uscire adesso?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Il telefono sarà in modalità di richiamata di emergenza per <xliff:g id="COUNT">%s</xliff:g> minuti. In questa modalità non è possibile utilizzare alcuna applicazione che faccia uso di una connessione dati. Uscire adesso?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"L\'azione selezionata non è disponibile in modalità di richiamata di emergenza. Il telefono sarà in questa modalità per <xliff:g id="COUNT">%s</xliff:g> minuto. Uscire adesso?"</item>
-    <item quantity="other" msgid="6115622137771382224">"L\'azione selezionata non è disponibile in modalità di richiamata di emergenza. Il telefono sarà in questa modalità per <xliff:g id="COUNT">%s</xliff:g> minuti. Uscire adesso?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Nessuna connessione dati per <xliff:g id="COUNT_1">%s</xliff:g> minuti</item>
+      <item quantity="one">Nessuna connessione dati per <xliff:g id="COUNT_0">%s</xliff:g> minuto</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Il telefono sarà in modalità Richiamata di emergenza per <xliff:g id="COUNT_1">%s</xliff:g> minuti. In questa modalità non è possibile utilizzare applicazioni che impiegano una connessione dati. Vuoi uscire ora?</item>
+      <item quantity="one">Il telefono sarà in modalità Richiamata di emergenza per <xliff:g id="COUNT_0">%s</xliff:g> minuto. In questa modalità non è possibile utilizzare app che impiegano una connessione dati. Vuoi uscire ora?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">L\'azione selezionata non è disponibile in modalità Richiamata di emergenza. Il telefono sarà in questa modalità per <xliff:g id="COUNT_1">%s</xliff:g> minuti. Vuoi uscire ora?</item>
+      <item quantity="one">L\'azione selezionata non è disponibile in modalità Richiamata di emergenza. Il telefono sarà in questa modalità per <xliff:g id="COUNT_0">%s</xliff:g> minuto. Vuoi uscire ora?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"L\'azione selezionata non è disponibile in modalità di chiamata di emergenza."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Uscita dalla modalità di richiamata di emergenza"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Sì"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Chiamate di emergenza"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Solo chiamate di emergenza"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Scheda SIM, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibilità"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Chiamata Wi-Fi in arrivo"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Chiamata Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Tocca di nuovo per aprire"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Si è verificato un errore durante la decodifica del messaggio."</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 3d44b7d..3413190 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"חשבונות טלפון"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"‏הוסף חשבון SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"קבע את הגדרות החשבון"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"‏שיחת Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"‏שיחות ב-Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"‏אל תשתמש בשיחות Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"אל תשתמש באסיסטנט שיחות"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ללא"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"הגדר"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"שירות חיבור מובנה"</string>
     <string name="voicemail" msgid="8693759337917898954">"דואר קולי"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"דואר קולי (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"דואר קולי:"</string>
     <string name="networks" msgid="8873030692174541976">"מפעילי רשת"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"שידורי חירום"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"התחבר לשירותי נתונים בעת נדידה"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"התחבר לשירותי נתונים בעת נדידה"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"איבדת את קישוריות הנתונים כיוון שעזבת את הרשת הביתית כשהנדידה כבויה."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"האם לאפשר שימוש בנתונים בעת נדידה? ייתכנו חיובים משמעותיים."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"ייתכנו שיעורי חיוב גבוהים."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"האם לאפשר נדידה?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"‏אפשרויות GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"‏אפשרויות CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"שימוש בנתונים"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"‏הגדר מצב TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ניסיון חוזר אוטומטי"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"אפשר מצב \'ניסיון חוזר\'."</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"‏שינוי מצב TTY אינו מותר במהלך שיחת וידאו"</string>
     <string name="menu_add" msgid="1882023737425114762">"הוסף איש קשר"</string>
     <string name="menu_edit" msgid="7143003705504672374">"ערוך איש קשר"</string>
     <string name="menu_delete" msgid="3977150783449642851">"מחק איש קשר"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"‏קורא מכרטיס SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"‏אין אנשי קשר בכרטיס ה-SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"בחר אנשי קשר ליבוא"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"‏כדי לייבא אנשי קשר מכרטיס ה-SIM, כבה תחילה את מצב טיסה."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"‏בטל את מצב טיסה כדי לייבא אנשי קשר מכרטיס ה-SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"‏הפוך לפעיל/השבת PIN של SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"‏שנה PIN של SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"‏PIN של SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"נתק"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"התקשר חזרה"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"שלח הודעה"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"כדי להתקשר, כבה תחילה את מצב טיסה."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"בטל את מצב טיסה כדי לבצע שיחה."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"בטל את מצב טיסה או התחבר לרשת אלחוטית כדי לבצע שיחה."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"לא רשום ברשת."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"רשת סלולרית אינה זמינה."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"רשת סלולרית אינה זמינה. התחבר לרשת אלחוטית כדי לבצע שיחה."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"כדי להתקשר, הזן מספר טלפון חוקי."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"לא ניתן להתקשר."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"‏מתחיל רצף MMI…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"אין אפשרות לנהל שיחות ועידה."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"לא ניתן לדחות שיחה."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"לא ניתן לשחרר שיחות."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"התחבר לרשת אלחוטית כדי לבצע שיחה."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"שיחת חירום"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"מפעיל את הרדיו…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"אין שירות. מנסה שוב..."</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"נכנס למצב חירום של התקשרות חזרה"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"מצב חירום של התקשרות חזרה"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"חיבור נתונים מושבת"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"אין חיבור נתונים במשך דקה <xliff:g id="COUNT">%s</xliff:g>"</item>
-    <item quantity="other" msgid="3122217344579273583">"אין חיבור נתונים במשך <xliff:g id="COUNT">%s</xliff:g> דקות"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"הטלפון יהיה במצב התקשרות חזרה בחירום למשך דקה <xliff:g id="COUNT">%s</xliff:g>. במצב זה לא ניתן להשתמש באפליקציות המשתמשות בחיבור נתונים. האם אתה רוצה לצאת כעת?"</item>
-    <item quantity="other" msgid="8617116564023933114">"הטלפון יהיה במצב התקשרות חזרה בחירום למשך <xliff:g id="COUNT">%s</xliff:g> דקות. במצב זה לא ניתן להשתמש באפליקציות המשתמשים בחיבור נתונים. האם אתה רוצה לצאת כעת?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"הפעולה שנבחרה אינה זמינה במצב התקשרות חזרה בחירום. הטלפון יהיה במצב זה במשך <xliff:g id="COUNT">%s</xliff:g> דקות. האם אתה רוצה לצאת כעת?"</item>
-    <item quantity="other" msgid="6115622137771382224">"הפעולה שנבחרה אינה זמינה במצב התקשרות חזרה בחירום. הטלפון יהיה במצב זה במשך <xliff:g id="COUNT">%s</xliff:g> דקות. אתה רוצה לצאת כעת?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="two">ללא חיבור נתונים למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות</item>
+      <item quantity="many">ללא חיבור נתונים למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות</item>
+      <item quantity="other">ללא חיבור נתונים למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות</item>
+      <item quantity="one">ללא חיבור נתונים למשך דקה <xliff:g id="COUNT_0">%s</xliff:g></item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="two">הטלפון יהיה במצב חירום של התקשרות חזרה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחיבור נתונים. האם ברצונך לצאת כעת?</item>
+      <item quantity="many">הטלפון יהיה במצב חירום של התקשרות חזרה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחיבור נתונים. האם ברצונך לצאת כעת?</item>
+      <item quantity="other">הטלפון יהיה במצב חירום של התקשרות חזרה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחיבור נתונים. האם ברצונך לצאת כעת?</item>
+      <item quantity="one">הטלפון יהיה במצב חירום של התקשרות חזרה למשך דקה <xliff:g id="COUNT_0">%s</xliff:g>. בזמן שהטלפון במצב הזה, לא ניתן להשתמש באפליקציות הזקוקות לחיבור נתונים. האם ברצונך לצאת כעת?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="two">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. האם ברצונך לצאת כעת?</item>
+      <item quantity="many">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. האם ברצונך לצאת כעת?</item>
+      <item quantity="other">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך <xliff:g id="COUNT_1">%s</xliff:g> דקות. האם ברצונך לצאת כעת?</item>
+      <item quantity="one">הפעולה הנבחרת אינה זמינה במצב חירום של התקשרות חזרה. הטלפון יהיה במצב זה למשך דקה <xliff:g id="COUNT_0">%s</xliff:g>. האם ברצונך לצאת כעת?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"הפעולה שנבחרה אינה זמינה במהלך שיחת חירום."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"יציאה ממצב התקשרות חזרה בחירום"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"כן"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"שיחות חירום"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"שיחות חירום בלבד"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"‏כרטיס SIM, חריץ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"נגישות"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"‏שיחת Wi-Fi נכנסת"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"‏שיחת Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"גע שוב כדי לפתוח"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"אירעה שגיאה בעת פענוח ההודעה."</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 5dcc69f..7f2a4f6 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"携帯端末アカウント"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIPアカウントを追加"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"アカウントを設定"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi通話"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi通話"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi発信を使用しない"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"発信アシスタントを使用しない"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"使用しない"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"設定"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"組み込みの接続サービス"</string>
     <string name="voicemail" msgid="8693759337917898954">"ボイスメール"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ボイスメール（<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>）"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"通信事業者"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"緊急警報"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"ローミング時にデータサービスに接続する"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"ローミング時にデータサービスに接続する"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"データローミングをOFFにしてホームネットワークを離れたため、データ接続が切断されました。"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"ローミング中にデータ使用を許可しますか？高額の課金が発生することがあります。"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"高額な通信料が発生することがあります。"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"データローミングを許可しますか？"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTSオプション"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMAオプション"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"データ使用量"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTYモードの設定"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"自動再試行"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"自動再試行モードを有効にする"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTYモードの変更はビデオハングアウト中には行えません"</string>
     <string name="menu_add" msgid="1882023737425114762">"連絡先を追加"</string>
     <string name="menu_edit" msgid="7143003705504672374">"連絡先を編集"</string>
     <string name="menu_delete" msgid="3977150783449642851">"連絡先を削除"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIMカードから読み取り中..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIMカードに連絡先がありません。"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"インポートする連絡先の選択"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"連絡先をSIMカードからインポートするには、まず機内モードをOFFにしてください。"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIMカードから連絡先をインポートするには機内モードをオフにしてください。"</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PINの有効/無効"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PINの変更"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"通話終了"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"コールバック"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"メッセージ"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"機内モードをOFFにしてから発信してください。"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"電話をかけるには機内モードをオフにしてください。"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"電話をかけるには、機内モードをオフにするか無線ネットワークに接続してください。"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ご加入の通信サービスがありません"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"モバイルネットワークが利用できません。"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"モバイルネットワークが利用できません。電話をかけるには無線ネットワークに接続してください。"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"発信するには、有効な番号を入力してください。"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"発信できません。"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMIシーケンスを開始中..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"グループ通話を利用できません。"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"着信を拒否できません。"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"通話を解放できません。"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"電話をかけるには無線ネットワークに接続してください。"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"緊急通報"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"無線通信をONにしています..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"通信サービスはありません。もう一度お試しください…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"緊急通報待機モードになりました"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"緊急通報待機モード"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"データ接続が無効です"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g>分間データ接続できません"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g>分間データ接続できません"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"端末はあと<xliff:g id="COUNT">%s</xliff:g>分間、緊急通報待機モードです。このモードではデータ通信を行うアプリは使用できません。今すぐこのモードを終了しますか？"</item>
-    <item quantity="other" msgid="8617116564023933114">"端末はあと<xliff:g id="COUNT">%s</xliff:g>分間、緊急通報待機モードです。このモードではデータ通信を行うアプリケーションは使用できません。今すぐこのモードを終了しますか？"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"選択した操作は緊急通報待機モードでは実行できません。端末はあと<xliff:g id="COUNT">%s</xliff:g>分間このモードです。今すぐこのモードを終了しますか？"</item>
-    <item quantity="other" msgid="6115622137771382224">"選択した操作は緊急通報待機モードでは実行できません。端末はあと<xliff:g id="COUNT">%s</xliff:g>分間このモードです。今すぐこのモードを終了しますか？"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g>分間データ接続できません</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g>分間データ接続できません</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">スマートフォンはあと<xliff:g id="COUNT_1">%s</xliff:g>分間、緊急通報待機モードです。このモードではデータ通信を行うアプリは使用できません。今すぐこのモードを終了しますか？</item>
+      <item quantity="one">スマートフォンはあと<xliff:g id="COUNT_0">%s</xliff:g>分間、緊急通報待機モードです。このモードではデータ通信を行うアプリは使用できません。今すぐこのモードを終了しますか？</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">選択した操作は緊急通報待機モードでは実行できません。スマートフォンはあと<xliff:g id="COUNT_1">%s</xliff:g>分間このモードです。今すぐこのモードを終了しますか？</item>
+      <item quantity="one">選択した操作は緊急通報待機モードでは実行できません。スマートフォンはあと<xliff:g id="COUNT_0">%s</xliff:g>分間このモードです。今すぐこのモードを終了しますか？</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"選択した操作は緊急通報時には実行できません。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"緊急通報待機モードを終了しています"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"はい"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"緊急通報"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"緊急通報のみ"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIMカード、スロット: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ユーザー補助機能"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Wi-Fi通話が着信中"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi通話"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"開くにはもう一度タップしてください"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"メッセージのデコード中にエラーが発生しました。"</string>
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index ddfc28b..761aeef 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ტელეფონის ანგარიშები"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ანგარიშის დამატება"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ანგარიშის პარამეტრების კონფიგურაცია"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"დარეკვა Wi-Fi-ს მეშვეობით"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"დარეკვა Wi-Fi-ს მეშვეობით"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"არ გამოიყენოს Wi-Fi დარეკვა"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"არ გამოიყენოს ზარის თანაშემწე"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"არცერთი"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"კონფიგურაცია"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"კავშირის ჩაშენებული სერვისი"</string>
     <string name="voicemail" msgid="8693759337917898954">"ხმოვანი ფოსტა"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ხმოვანი ფოსტა (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"ქსელის ოპერატორები"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"სასწრაფო გადაცემები"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"როუმინგში ყოფნისას მობილურ მონაცემთა გადაცემის სერვისებთან დაკავშირება"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"როუმინგში ყოფნისას მობილურ მონაცემთა გადაცემის სერვისებთან დაკავშირება"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"ინტერნეტთან კავშირი გაწყდა, რადგან საშინაო ქსელში აღარ ხართ ჩართული, ხოლო მობილური ინტერნეტის როუმინგი გამორთული გაქვთ."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"დართოს ნება როუმინგისას მონაცემების გამოყენებაზე? შესაძლოა მნიშვნელოვან ხარჯებს ჰქონდეს ადგილი."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"თქვენ შეიძლება წარმოგეშვათ მნიშვნელოვანი ხარჯები."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"გსურთ, ჩაირთოს ინტერნეტის როუმინგი?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ვარიანტები"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA პარამეტრები"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"მონაცემთა გადაცემის გამოყენება"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY რეჟიმის დაყენება"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ავტო-გამეორება"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"ავტო გამეორების რეჟიმის ჩართვა"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ვიდეოზარის დროს TTY რეჟიმის შეცვლა დაუშვებელია"</string>
     <string name="menu_add" msgid="1882023737425114762">"კონტაქტის დამატება"</string>
     <string name="menu_edit" msgid="7143003705504672374">"კონტაქტის რედაქტირება"</string>
     <string name="menu_delete" msgid="3977150783449642851">"კონტაქტის წაშლა"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"მიმდინარეობს SIM ბარათიდან წაკითხვა…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"თქვენს SIM ბარათზე კონტაქტები არ არის."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"აირჩიეთ კონტაქტი იმპორტისათვის"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"კონტაქტების SIM ბარათიდან იმპორტისათვის, ჯერ გამორთეთ თვითმფრინავის რეჟიმი."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM ბარათიდან კონტაქტების იმპორტისთვის, გამორთეთ თვითმფრინავის რეჟიმი."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN-ის გააქტიურება/გამორთვა"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN-ის შეცვლა"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM-ის PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"გათიშვა"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"გადარეკვა"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"შეტყობინების გაგზავნა"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ზარის განსახორციელებლად, ჯერ თვითმფრინავის რეჟიმი უნდა გამორთოთ."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ზარის განსახორციელებლად, გამორთეთ თვითმფრინავის რეჟიმი."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ზარის განსახორციელებლად, გამორთეთ თვითმფრინავის რეჟიმი ან დაუკავშირდით უსადენო ქსელს."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ქსელში რეგისტრირებული არ არის."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"ფიჭური ქსელი მიუწვდომელია"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"ფიჭური ქსელი მიუწვდომელია. ზარის განსახორციელებლად, დაუკავშირდით უსადენო ქსელს."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ზარის განხორციელებისათვის, შეიყვანეთ მოქმედი ნომერი."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"არ ირეკება."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI თანმიმდევრობის დაწყება…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"საკონფერენციო ზარები ვერ ხორციელდება."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ზარის უარყოფა ვერ ხორციელდება."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ვერ ხერხდება ზარ(ებ)ის გაშვება."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ზარის განსახორციელებლად, დაუკავშირდით უსადენო ქსელს."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"გადაუდებელი ზარი"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"გადამცემის ჩართვა…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"მომხსახურება არ არის. სცადეთ ხელხლა..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"გააქტიურდა გადაუდებელი გადმორეკვის რეჟიმი"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"გადაუდებელი გადმორეკვის რეჟიმი"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"მობილური ინტერნეტი გამორთულია"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"მობილური ინტერნეტის კავშირი <xliff:g id="COUNT">%s</xliff:g> წუთის განმავლობაში მიუწვდომელია"</item>
-    <item quantity="other" msgid="3122217344579273583">"მობილური ინტერნეტის კავშირი <xliff:g id="COUNT">%s</xliff:g> წუთის განმავლობაში მიუწვდომელია"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ტელეფონი გადაუდებელი ზარის გადმორეკვის რეჟიმში იქნება <xliff:g id="COUNT">%s</xliff:g> წუთის განმავლობაში. ამ რეჟიმის დროს ვერ გამოიყენებთ აპებს, რომლებიც მობილურ ინტერნეტს იყენებს. გსურთ ახლა გასვლა?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ტელეფონი გადაუდებელი ზარის გადმორეკვის რეჟიმში იქნება <xliff:g id="COUNT">%s</xliff:g> წუთის განმავლობაში. ამ რეჟიმის დროს ვერ გამოიყენებთ აპლიკაციებს, რომლებიც მობილურ ინტერნეტს იყენებს. გსურთ ახლა გასვლა?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"არჩეული ქმედება მიუწვდომელია გადაუდებელი ზარის გადმორეკვის რეჟიმში. ტელეფონი ამ რეჟიმში დარჩება <xliff:g id="COUNT">%s</xliff:g> წუთის განმავლობაში. გსურთ გასვლა?"</item>
-    <item quantity="other" msgid="6115622137771382224">"არჩეული ქმედება მიუწვდომელია გადაუდებელი ზარის გადმორეკვის რეჟიმში. ტელეფონი ამ რეჟიმში დარჩება <xliff:g id="COUNT">%s</xliff:g> წუთის განმავლობაში. გსურთ გასვლა?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"> არ არის დაკავშირების მონაცემები <xliff:g id="COUNT_1">%s</xliff:g> წუთისათვის</item>
+      <item quantity="one"> არ არის დაკავშირების მონაცემები <xliff:g id="COUNT_0">%s</xliff:g> წუთისათვის</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other"> ტელეფონი იქნება საგანგებო დარეკვის რეჟიმი <xliff:g id="COUNT_1">%s</xliff:g> წუთით. ამ რეჟიმის მანძილზე ვერ მოხერხდება მონაცემთა დაკავშირების გმაოყენებით აპლიკაციების გამოყენება. გსურთ ახლა გამოსვლა?</item>
+      <item quantity="one"> ტელეფონი იქნება საგანგებო დარეკვის რეჟიმი <xliff:g id="COUNT_0">%s</xliff:g> წუთით. ამ რეჟიმის მანძილზე ვერ მოხერხდება მონაცემთა დაკავშირების გმაოყენებით აპლიკაციების გამოყენება. გსურთ ახლა გამოსვლა?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other"> შერჩეული აქცია არ არის ხელმისაწვდომი გადაუდებელი დარეკვის რეჟიმში. ტელეფონი იქნება ამ რეჟიმი <xliff:g id="COUNT_1">%s</xliff:g> წუთი. გსურთ ახლა გამოსვლა?</item>
+      <item quantity="one"> შერჩეული აქცია არ არის ხელმისაწვდომი გადაუდებელი დარეკვის რეჟიმში. ტელეფონი იქნება ამ რეჟიმი <xliff:g id="COUNT_0">%s</xliff:g> წუთი. გსურთ ახლა გამოსვლა?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"არჩეული ქმედება მიუწვდომელია გადაუდებელის ზარის რეჟიმში."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"გადაუდებელი გადმორეკვის რეჟიმიდან გამოსვლა"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"დიახ"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"გადაუდებელი ზარები"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"მხოლოდ საგანგებო ნომრებზე დარეკვა"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM ბარათი, სლოტი: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"მარტივი წვდომა"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"შემომავალი Wi-Fi ზარი"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi ზარი"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"შეეხეთ ისევ გასახსნელად"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"შეტყობინების გაშიფრვისას წარმოიშვა შეცდომა."</string>
 </resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
index 7ca5527..e657ffc 100644
--- a/res/values-kk-rKZ/strings.xml
+++ b/res/values-kk-rKZ/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Телефон есептік жазбалары"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP есептік жазбасын қосу"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Есептік жазба параметрлерін конфигурациялау"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi қоңыраулары"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi қоңыраулары"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi қоңырауларын пайдаланбау"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Қоңыраулар көмекшісін пайдаланбау"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ешқандай"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Конфигурациялау"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Кірістірілген байланыс қызметі"</string>
     <string name="voicemail" msgid="8693759337917898954">"Дауыс-хабар"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Дауыстық пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ДХ:"</string>
     <string name="networks" msgid="8873030692174541976">"Желі операторлары"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Жедел таратылымдар"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Роуминг кезінде дерекқор қызметтеріне қосу"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Роуминг кезінде дерекқор қызметтеріне қосу"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Дерекқор байланысын жоғалтып алдыңыз, себебі үйдегі желінің дерекқор роумингін өшірілген күйінде қалдырғансыз."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Роуминг кезінде деректерді пайдалануға рұқсат ету керек пе? Айтарлықтай ақылар алынуы мүмкін."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Сізден елеулі ақылар алынуы мүмкін."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Деректер роумингіне рұқсат берілсін бе?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS опциялары"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA (кең жолақты әр түрлі кодты бірнеше қол жетімділік) опциялары"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Дерекқор қолдану"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Телетайп режиміне реттеу"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Қайта авто әрекеттену"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Қайта авто әрекеттену режимін қосу"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Бейне қоңырау барысында Телетайп режимін өзгертуге рұқсат етілмеген"</string>
     <string name="menu_add" msgid="1882023737425114762">"Байланыс қосу"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Байланыс өңдеу"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Байланыс жою"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM картасынан оқу…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM картаңызда контактілер жоқ."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Импортталатын контактілерді таңдау"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Контактілерді SIM картасынан импорттау үшін, алдымен ұшақ режимін өшіру қажет."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Контактілерді SIM картасынан импорттау үшін ұшақ режимін өшіріңіз."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN кодын іске қосу/істен шығару"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN кодын өзгерту"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN коды:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Қоңырауды аяқтау"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Кері қоңырау шалу"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Хабар"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Қоңырау шалу үшін алдымен Ұшақ режимін өшіріңіз."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Қоңырау шалу үшін ұшақ режимін өшіріңіз."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Қоңырау шалу үшін ұшақ режимін өшіріңіз не сымсыз желіге қосылыңыз."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Желіде тіркелмеген."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Ұялы желі қол жетімді емес."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Ұялы желі қол жетімді емес. Қоңырау шалу үшін сымсыз желіге қосылыңыз."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Қоңырау шалу үшін жарамды нөмірді енгізіңіз."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Қоңырау шалу мүмкін емес."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI қатарын бастау…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Мәжіліс қоңырауларын өшіру."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Қоңырауды қабылдамау мүмкін емес."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Қоңырау(лар)ды босату мүмкін емес."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Қоңырау шалу үшін сымсыз желіге қосылыңыз."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Төтенше қоңырау"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Радионы қосуда…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Қызмет жоқ. Әрекет қайталануда…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Төтенше қоңырауды кері шалу режиміне кірді"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Төтенше қоңырауды кері шалу режимі"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Дерекқор байланысы өшірілген"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> минут ешқандай дерек жинақтау мүмкін болмайды."</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> минут ешқандай дерек жинақтау мүмкін болмайды."</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефон Төтенше қоңырауды қайтару режимінде <xliff:g id="COUNT">%s</xliff:g> минут болады. Осы режимде тұрғанда дерек байланысын пайдаланатын қолданбаларды пайдалану мүмкін болмайды. Режимнен қазір шығуды қалайсыз ба?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефон Төтенше қоңырауды қайтару режимінде <xliff:g id="COUNT">%s</xliff:g> минут болады. Осы режимде тұрғанда дерек байланысын пайдаланатын қолданбаларды пайдалану мүмкін бомайды. Режимнен қазір шығуды қалайсыз ба?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Таңдалған әрекет Төтенше қоңырауды қайтару режимі қосылып тұрғанда қол жетімсіз. Телефон бұл режимде <xliff:g id="COUNT">%s</xliff:g> минут болады. Бұл режимнен қазір шығуды қалайсыз ба?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Төтенше қоңырау режимі қосылып тұрғанда таңдалған әрекет қол жетімсіз. Телефон бұл режимде <xliff:g id="COUNT">%s</xliff:g> минут болады. Бұл режимнен қазір шығуды қалайсыз ба?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> минут бойы деректер байланысы жоқ</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> минут бойы деректер байланысы жоқ</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Телефон <xliff:g id="COUNT_1">%s</xliff:g> минут бойы жедел кері қоңырау шалу режимінде болады. Бұл режимде деректер байланысын пайдаланатын қолданбаларды пайдалану мүмкін емес. Қазір шығу керек пе?</item>
+      <item quantity="one">Телефон <xliff:g id="COUNT_0">%s</xliff:g> минут бойы жедел кері қоңырау шалу режимінде болады. Бұл режимде деректер байланысын пайдаланатын қолданбаларды пайдалану мүмкін емес. Қазір шығу керек пе?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Таңдалған әрекет жедел кері қоңырау шалу режимінде қол жетімді емес. Телефон осы режимде <xliff:g id="COUNT_1">%s</xliff:g> минут бойы болады. Қазір шығу керек пе?</item>
+      <item quantity="one">Таңдалған әрекет жедел кері қоңырау шалу режимінде қол жетімді емес. Телефон осы режимде <xliff:g id="COUNT_0">%s</xliff:g> минут бойы болады. Қазір шығу керек пе?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Төтенше қоңырау режимінде таңдалған әрекет қол жетімсіз."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Төтенше қоңырауды кері шалу режимінен шығуда"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Иә"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Жедел қоңыраулар"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Тек жедел қоңыраулар"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM картасы, ұяшық: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Арнайы мүмкіндіктер"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Кіріс Wi-Fi қоңырауы"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi қоңырауы"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Ашу үшін қайтадан түртіңіз"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Хабарды кодтан шығару кезінде қате пайда болды."</string>
 </resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index 3bec4b4..6925dad 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -28,10 +28,10 @@
     <string name="mmiStarted" msgid="6347869857061147003">"បាន​ចាប់ផ្ដើម​កូដ MMI"</string>
     <string name="ussdRunning" msgid="485588686340541690">"កូដ USSD កំពុង​ដំណើរការ…"</string>
     <string name="mmiCancelled" msgid="2771923949751842276">"បាន​បោះបង់​កូដ MMI"</string>
-    <string name="cancel" msgid="5044513931633602634">"បោះ​បង់"</string>
+    <string name="cancel" msgid="5044513931633602634">"បោះ​បង់​"</string>
     <string name="enter_input" msgid="1810529547726803893">"សារ USSD ត្រូវ​តែ​មាន​តួអក្សរ​ចន្លោះ <xliff:g id="MIN_LEN">%d</xliff:g> និង <xliff:g id="MAX_LEN">%d</xliff:g> ។ សូម​ព្យាយាម​ម្ដងទៀត​។"</string>
     <string name="manageConferenceLabel" msgid="4691922394301969053">"គ្រប់គ្រង​ការ​ហៅ​​ជា​សន្និសីទ"</string>
-    <string name="ok" msgid="3811371167865772377">"យល់​ព្រម"</string>
+    <string name="ok" msgid="3811371167865772377">"យល់​ព្រម​"</string>
     <string name="audio_mode_speaker" msgid="27649582100085266">"អូប៉ាល័រ"</string>
     <string name="audio_mode_earpiece" msgid="4156527186373869107">"កាស"</string>
     <string name="audio_mode_wired_headset" msgid="1465350758489175975">"កាស​មាន​ខ្សែ"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"គណនីទូរស័ព្ទ"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"បន្ថែមគណនី SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"កំណត់ការកំណត់គណនី"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"ការហៅតាម Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"ការហៅតាម Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"កុំប្រើការហៅតាម Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"កុំប្រើជំនួយការហៅ"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"គ្មាន"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"កំណត់"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"សេវាកម្ម​ភ្ជាប់​ដែល​ជាប់​ជា​មួយ"</string>
     <string name="voicemail" msgid="8693759337917898954">"សារ​ជា​សំឡេង"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"សារជាសម្លេង (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"ប្រតិបត្តិ​ករ​​​បណ្ដាញ"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"ការ​ផ្សាយ​ពេល​មាន​អាសន្ន"</string>
@@ -131,7 +132,7 @@
     <string name="exception_error" msgid="7027667130619518211">"កំហុស​ស៊ីមកាត ឬ​បណ្ដាញ។"</string>
     <string name="fdn_check_failure" msgid="18200614306525434">"បាន​បើក​ការ​កំណត់​លេខ​ហៅ​​ថេរ​​​នៃ​កម្មវិធី​ទូរស័ព្ទ​របស់​អ្នក។ ជា​លទ្ធផល លក្ខណៈ​មួយ​ចំនួន​ដែល​ទាក់ទង​នឹង​ការ​ហៅ​មិន​ដំណើរការ។"</string>
     <string name="radio_off_error" msgid="2304459933248513376">"បើក​​វិទ្យុ​មុន​ពេល​មើល​ការ​កំណត់​ទាំង​នេះ​។"</string>
-    <string name="close_dialog" msgid="2365884406356986917">"យល់​ព្រម"</string>
+    <string name="close_dialog" msgid="2365884406356986917">"យល់​ព្រម​"</string>
     <string name="enable" msgid="7248657275000173526">"បើក"</string>
     <string name="disable" msgid="4678348128118573672">"បិទ"</string>
     <string name="change_num" msgid="239476305819844391">"ធ្វើ​បច្ចុប្បន្នភាព"</string>
@@ -194,7 +195,7 @@
     <item msgid="5958053792390386668">"GSM/WCDMA ស្វ័យប្រវត្តិ"</item>
     <item msgid="7913148405605373434">"តែ WCDMA ប៉ុណ្ណោះ"</item>
     <item msgid="1524224863879435516">"តែ GSM ប៉ុណ្ណោះ"</item>
-    <item msgid="3817924849415716259">"GSM/WCDMA ដែល​ចូលចិត្ត"</item>
+    <item msgid="3817924849415716259">"GSM/WCDMA ដែល​ចូលចិត្ត​"</item>
   </string-array>
     <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"​របៀប 4G LTE ធ្វើឲ្យ​ប្រសើរ​ឡើង"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"ប្រើសេវាកម្ម LTE ដើម្បីធ្វើឲ្យសម្លេង និងការទំនាក់ទំនងផ្សេងទៀតប្រសើរឡើង (បានណែនាំ)"</string>
@@ -204,11 +205,12 @@
     <string name="roaming_enable" msgid="7331106985174381987">"តភ្ជាប់​ទៅ​កាន់​សេវា​កម្ម​ទិន្នន័យ​នៅ​ពេល​ដែល​រ៉ូ​មីង"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"តភ្ជាប់​ទៅ​កាន់​សេវា​កម្ម​ទិន្នន័យ​នៅ​ពេល​ដែល​រ៉ូ​មីង"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"អ្នក​បាន​បាត់បង់​ការ​តភ្ជាប់​ទិន្នន័យ ពីព្រោះ​អ្នក​បាន​ចាកចេញ​ពី​បណ្ដាញ​ដើម​របស់​អ្នក​ជាមួយ​រ៉ូមីង​ទិន្នន័យ​បាន​បិទ។"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"អនុញ្ញាតការប្រើប្រាស់ទិន្នន័យទូរស័ព្ទនៅពេលរ៉ូមីង? ការគិតថ្លៃខ្ពស់អាចត្រូវបានអនុវត្ត។"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"អាចនាំឲ្យមានការគិតប្រាក់របស់អ្នកច្រើន។"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"អនុញ្ញាតឲ្យរ៉ូមីងទិន្នន័យ?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"ជម្រើស GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"ជម្រើស CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ការ​ប្រើ​ប្រាស់​ទិន្នន័យ"</string>
-    <string name="throttle_current_usage" msgid="8762280193043815361">"បច្ចុប្បន្ន​បាន​ប្រើ​ទិន្នន័យ"</string>
+    <string name="throttle_current_usage" msgid="8762280193043815361">"បច្ចុប្បន្ន​បាន​ប្រើ​ទិន្នន័យ​​"</string>
     <string name="throttle_time_frame" msgid="1915198770363734685">"ទិន្នន័យ​ប្រើ​រយៈ​ពេល"</string>
     <string name="throttle_rate" msgid="4710388992676803508">"គោល​ន​យោ​បាយ​អត្រា​ទិន្នន័យ"</string>
     <string name="throttle_help" msgid="243651091785169900">"ស្វែងយល់​បន្ថែម"</string>
@@ -240,7 +242,7 @@
     <string name="local_enable" msgid="6370463247609136359">"បាន​បើក​ព័ត៌មាន​ក្នុង​ស្រុក"</string>
     <string name="local_disable" msgid="4405691986943795798">"បាន​បិទ​ព័ត៌មាន​ក្នុង​ស្រុក"</string>
     <string name="enable_disable_regional" msgid="4905652414535565872">"នៃ​តំបន់"</string>
-    <string name="regional_enable" msgid="4434680415437834759">"បាន​បើក​ព័ត៌មាន​ក្នុង​តំបន់"</string>
+    <string name="regional_enable" msgid="4434680415437834759">"បាន​បើក​ព័ត៌មាន​ក្នុង​តំបន់​"</string>
     <string name="regional_disable" msgid="5359325527213850077">"បាន​បិទ​ព័ត៌មាន​ក្នុង​តំបន់"</string>
     <string name="enable_disable_national" msgid="236278090206880734">"ជាតិ"</string>
     <string name="national_enable" msgid="1172443648912246952">"បាន​បើក​ព័ត៌មាន​ជាតិ"</string>
@@ -276,11 +278,11 @@
     <string name="atr_enable" msgid="5541757457789181799">"បាន​បើក​របាយ​ការណ៍​​​ចរាចរណ៍​តំបន់"</string>
     <string name="atr_disable" msgid="7085558154727596455">"បាន​បិទ​របាយការណ៍​ចរាចរណ៍​តំបន់"</string>
     <string name="enable_disable_lafs" msgid="668189073721277199">"កាលវិភាគ​ហោះហើរ​អាកាសយានដ្ឋាន​ក្នុងស្រុក"</string>
-    <string name="lafs_enable" msgid="2791978667205137052">"បាន​បើក​កាលវិភាគ​ហោះហើរ​អាកាសយានដ្ឋាន​ក្នុង​ស្រុក"</string>
-    <string name="lafs_disable" msgid="2391212397725495350">"បាន​បិទ​​​កាលវិភាគ​ហោះហើរ​អាកាសយានដ្ឋាន​ក្នុង​ស្រុក"</string>
+    <string name="lafs_enable" msgid="2791978667205137052">"បាន​បើក​កាលវិភាគ​ហោះហើរ​អាកាសយានដ្ឋាន​ក្នុង​ស្រុក​"</string>
+    <string name="lafs_disable" msgid="2391212397725495350">"បាន​បិទ​​​កាលវិភាគ​ហោះហើរ​អាកាសយានដ្ឋាន​ក្នុង​ស្រុក​"</string>
     <string name="enable_disable_restaurants" msgid="6240381945336814024">"ភោជនីយដ្ឋាន"</string>
     <string name="restaurants_enable" msgid="5137657479469118847">"បាន​បើក​ភោជនីយដ្ឋាន"</string>
-    <string name="restaurants_disable" msgid="3678480270938424092">"បាន​បិទ​ភោជនីយដ្ឋាន"</string>
+    <string name="restaurants_disable" msgid="3678480270938424092">"បាន​បិទ​ភោជនីយដ្ឋាន​"</string>
     <string name="enable_disable_lodgings" msgid="1822029172658551202">"បណ្ដោះ​អាសន្ន"</string>
     <string name="lodgings_enable" msgid="3230042508992850322">"បាន​បើក​ជា​បណ្ដោះ​អាសន្ន"</string>
     <string name="lodgings_disable" msgid="3387879742320682391">"បាន​បិទ​ជា​បណ្ដោះ​អាសន្ន"</string>
@@ -294,7 +296,7 @@
     <string name="stock_quotes_enable" msgid="4384802470887170543">"បាន​បើក​សម្រង់​ស្ដុក"</string>
     <string name="stock_quotes_disable" msgid="4781450084565594998">"បាន​បិទ​សម្រង់​ស្ដុក"</string>
     <string name="enable_disable_eo" msgid="4863043263443942494">"ឱកាស​ការងារ"</string>
-    <string name="eo_enable" msgid="8623559062015685813">"បាន​បើក​ឱកាស​ការងារ"</string>
+    <string name="eo_enable" msgid="8623559062015685813">"បាន​បើក​ឱកាស​ការងារ​"</string>
     <string name="eo_disable" msgid="3863812478090907609">"បាន​បិទ​ឱកាស​​ការងារ"</string>
     <string name="enable_disable_mhh" msgid="908214593528968522">"វេជ្ជសាស្ត្រ  សុខភាព ​និង​មន្ទីរពេទ្យ"</string>
     <string name="mhh_enable" msgid="5544500632306446815">"បាន​​បើក វេជ្ជសាស្ត្រ  សុខភាព ​និង​មន្ទីរពេទ្យ"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"កំណត់​របៀប TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ព្យាយាម​ម្ដងទៀត​ស្វ័យប្រវត្តិ"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"បើក​របៀប​ព្យាយាម​ម្ដងទៀត​ស្វ័យប្រវត្តិ"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ការផ្លាស់ប្តូររបៀប TTY មិនត្រូវបានអនុញ្ញាតអំឡុងពេលធ្វើការហៅជាវីដេអូទេ។"</string>
     <string name="menu_add" msgid="1882023737425114762">"បន្ថែម​ទំនាក់ទំនង"</string>
     <string name="menu_edit" msgid="7143003705504672374">"កែ​ទំនាក់ទំនង"</string>
     <string name="menu_delete" msgid="3977150783449642851">"លុប​ទំនាក់ទំនង"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"កំពុង​អាន​ពី​ស៊ីមកាត…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"គ្មាន​ទំនាក់ទំនង​នៅ​លើ​ស៊ីមកាត​របស់​អ្នក​ទេ។"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ជ្រើស​ទំនាក់​ទំនង​ដើម្បី​នាំចូល"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"ដើម្បី​នាំចូល​ទំនាក់ទំនង​ពី​ស៊ី​ម​កាត​ ដំបូង​ត្រូវបិទ​របៀប​ពេល​ជិះ​​យន្តហោះ​។"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"បិទរបៀបយន្តហោះដើម្បីនាំចូលទំនាក់ទំនងចេញពីស៊ីមកាត។"</string>
     <string name="enable_pin" msgid="5422767284133234860">"បិទ/បើក​កូដ PIN ស៊ីមកាត"</string>
     <string name="change_pin" msgid="9174186126330785343">"ប្ដូរ​កូដ​ PIN ស៊ីមកាត"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"កូដ PIN ស៊ីមកាត៖"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"បញ្ចប់​ការ​សន្ទនា"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ហៅ​ទៅ​វិញ"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"សារ"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ដើម្បី​កំណត់​ការ​ហៅ ដំបូង​ត្រូវ​បិទ​របៀប​នៅ​ពេល​ជិះ​យន្តហោះ។"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"បិទរបៀបយន្តហោះដើម្បីធ្វើការហៅ។"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"បិទរបៀបយន្តហោះ ឬភ្ជាប់ទៅបណ្តាញឥតខ្សែដើម្បីធ្វើការហៅ។"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"មិន​បាន​ចុះ​ឈ្មោះ​នៅ​លើ​បណ្ដាញ។"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"បណ្ដាញ​ចល័ត​មិន​អាច​ប្រើ​បាន។"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"មិនមានបណ្តាញទូរស័ព្ទទេ។ ភ្ជាប់ទៅបណ្តាញឥតខ្សែដើម្បីធ្វើការហៅ។"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ដើម្បីធ្វើការហៅ បញ្ចូលលេខដែលមានសុពលភាព។"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"មិនអាចហៅបានទេ។"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"កំពុង​ចាប់ផ្ដើម​លំដាប់ MMI ..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"មិន​អាច​ហៅ​ជា​សន្និសីទ។"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"មិនអាចបដិសេធការហៅបានទេ។"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"មិនអាចបញ្ចេញការហៅបានទេ។"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ភ្ជាប់ទៅបណ្តាញឥតខ្សែដើម្បីធ្វើការហៅ។"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ការ​ហៅ​នៅ​ពេល​មាន​អាសន្ន"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"កំពុង​បើក​វិទ្យុ…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"គ្មានសេវាទេ។ ព្យាយាមម្តង…"</string>
@@ -491,7 +497,7 @@
     <string name="ota_skip_activation_dialog_title" msgid="2943366608272261306">"រំលង​ការ​ធ្វើ​ឲ្យ​សកម្ម​?"</string>
     <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"ប្រសិនបើ​អ្នក​រំលង​ការ​ធ្វើ​ឲ្យ​សកម្ម អ្នក​មិន​អាច​កំណត់​ការ​ហៅ ឬ​តភ្ជាប់​បណ្ដាញ​​ទិន្នន័យ​ឧបករណ៍​​ចល័ត​បាន​ទេ (អ្នក​អាច​តភ្ជាប់​តាម​បណ្ដាញ​​វ៉ាយហ្វាយ )។ លុះត្រាតែ​​​អ្នកធ្វើ​ឲ្យ​ទូរស័ព្ទ​របស់​អ្នក​សកម្ម អ្នក​ត្រូវ​បាន​ស្នើ​ធ្វើ​ឲ្យ​វា​សកម្ម​នៅ​ពេល​ដែល​អ្នក​បិទ​វា។"</string>
     <string name="ota_skip_activation_dialog_skip_label" msgid="3458532775091563208">"រំលង"</string>
-    <string name="ota_activate" msgid="1368528132525626264">"ធ្វើ​ឲ្យ​សកម្ម"</string>
+    <string name="ota_activate" msgid="1368528132525626264">"ធ្វើ​ឲ្យ​សកម្ម​"</string>
     <string name="ota_title_activate_success" msgid="6570240212263372046">"បាន​ធ្វើ​ឲ្យ​ទូរស័ព្ទ​សកម្ម។"</string>
     <string name="ota_title_problem_with_activation" msgid="7095824491970084367">"មាន​បញ្ហា​ជាមួយ​នឹង​ការ​ធ្វើ​ឲ្យ​​សកម្ម"</string>
     <string name="ota_listen" msgid="162923839877584937">"​អនុវត្ត​តាម​សេចក្ដី​ណែនាំ​ដែល​បាន​​និយាយ​រហូត​ដល់​លោកអ្នក​ស្ដាប់​​ឮ​ហើយ​ធ្វើ​ឲ្យ​សកម្ម​​ពេញលេញ​។"</string>
@@ -503,23 +509,23 @@
     <string name="ota_spc_failure" msgid="3909983542575030796">"ការ​បរាជ័យ SPC លើស"</string>
     <string name="ota_call_end" msgid="4537279738134612388">"ថយក្រោយ"</string>
     <string name="ota_try_again" msgid="7685477206465902290">"ព្យាយាម​ម្ដង​ទៀត"</string>
-    <string name="ota_next" msgid="3904945374358235910">"បន្ទាប់"</string>
+    <string name="ota_next" msgid="3904945374358235910">"បន្ទាប់​"</string>
     <string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"បាន​បញ្ចូល​របៀប​ការ​ហៅ​ទៅ​វិញ​ពេល​មាន​អាសន្ន"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"របៀប​ហៅ​ទៅ​វិញ​ពេល​មាន​អាសន្ន"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"បាន​បិទ​ការ​តភ្ជាប់​ទិន្នន័យ"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"គ្មាន​ការ​តភ្ជាប់​ទិន្នន័យ​រយៈ​ពេល <xliff:g id="COUNT">%s</xliff:g> នាទី"</item>
-    <item quantity="other" msgid="3122217344579273583">"ការ​តភ្ជាប់​គ្មាន​ទិន្នន័យ​សម្រាប់ <xliff:g id="COUNT">%s</xliff:g> នាទី"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ទូរស័ព្ទ​​នឹង​នៅ​ក្នុង​របៀប​ហៅ​ទៅ​វិញ​សម្រាប់​តម្រូវ​ការ​បន្ទាន់ <xliff:g id="COUNT">%s</xliff:g> នាទី។ ខណៈ​ពេល​ដែល​នៅ​ក្នុង​របៀប​នេះ​គ្មាន​កម្មវិធី​ដែល​ប្រើ​ការ​តភ្ជាប់​ទិន្នន័យ​ឡើយ។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ឬ?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ទូរស័ព្ទ​នឹង​នៅ​ក្នុង​របៀប​ហៅ​ទៅ​វិញ​សម្រាប់​ពេល​មាន​អាសន្ន <xliff:g id="COUNT">%s</xliff:g> នាទី។ ខណៈ​ពេល​ដែល​នៅ​ក្នុង​របៀប​នេះ​គ្មាន​កម្មវិធី​​ដែល​​បាន​ប្រើ​ការ​តភ្ជាប់​ទិន្នន័យ​ឡើយ។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ឬ?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"សកម្មភាព​ដែល​បាន​ជ្រើស​គឺ​មិន​អាច​ធ្វើ​បាន​ខណៈ​ពេល​ដែល​នៅ​ក្នុង​របៀប​ហៅ​ទៅ​វិញ​សម្រាប់​ពេល​មាន​អាសន្ន។ ទូរស័ព្ទ​នឹង​នៅ​ក្នុង​របៀប <xliff:g id="COUNT">%s</xliff:g> នាទី។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ឬ?"</item>
-    <item quantity="other" msgid="6115622137771382224">"សកម្មភាព​ដែល​បាន​ជ្រើស​គឺ​មិន​អាច​ធ្វើ​បាន​ខណៈ​ពេល​ដែល​នៅ​ក្នុង​របៀប​ហៅ​ទៅ​វិញ​សម្រាប់​​ពេល​មាន​អាសន្ន។ ទូរស័ព្ទ​នឹង​នៅ​ក្នុង​របៀប​នេះ <xliff:g id="COUNT">%s</xliff:g> នាទី។ តើ​អ្នក​ចង់​ចាកចេញ​ឥឡូវ​នេះ​ឬ?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">គ្មានការភ្ជាប់ទិន្នន័យរយៈពេល <xliff:g id="COUNT_1">%s</xliff:g> នាទី</item>
+      <item quantity="one">គ្មានការភ្ជាប់ទិន្នន័យរយៈពេល <xliff:g id="COUNT_0">%s</xliff:g> នាទី</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន រយៈពេល <xliff:g id="COUNT_1">%s</xliff:g> នាទី។ ខណៈពេលស្ថិតក្នុងរបៀបនេះ មិនមានកម្មវិធីដែលប្រើការភ្ជាប់ទិន្នន័យណា អាចប្រើបានបានឡើយ។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
+      <item quantity="one">ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន រយៈពេល <xliff:g id="COUNT_0">%s</xliff:g> នាទី។ ខណៈពេលស្ថិតក្នុងរបៀបនេះ មិនមានកម្មវិធីដែលប្រើការភ្ជាប់ទិន្នន័យណា អាចប្រើបានបានឡើយ។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">សកម្មភាពដែលបានជ្រើសមិនមានទេ ខណៈពេលដែលស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន។ ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀបនេះរយៈពេល <xliff:g id="COUNT_1">%s</xliff:g> នាទី។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
+      <item quantity="one">សកម្មភាពដែលបានជ្រើសមិនមានទេ ខណៈពេលដែលស្ថិតក្នុងរបៀប ហៅត្រលប់ពេលអាសន្ន។ ទូរស័ព្ទនេះនឹងស្ថិតក្នុងរបៀបនេះរយៈពេល <xliff:g id="COUNT_0">%s</xliff:g> នាទី។ តើអ្នកចង់ចាកចេញឥឡូវនេះទេ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"សកម្មភាព​ដែល​បាន​ជ្រើស​គឺ​មិន​អាច​រក​បាន​នៅ​ក្នុង​ខណៈ​ពេល​ដែល​ការ​ហៅ​អាសន្ន​មួយ​។"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"ចេញ​ពី​របៀប​ហៅ​ទៅ​វិញ​​​ពេល​មាន​អាសន្ន"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"បាទ/ចាស"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"ការហៅពេលអាសន្ន"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"សម្រាប់ការហៅពេលអាសន្នប៉ុណ្ណោះ"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"ស៊ីមកាត រន្ធ៖ <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"លទ្ធភាពប្រើប្រាស់"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"មានការហៅចូលមកតាម Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"ហៅតាម Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"ប៉ះ​ម្ដង​ទៀត​ដើម្បី​បើក"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"មានកំហុសខណៈពេលឌិកូដសារ។"</string>
 </resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
index 59eea39..cbdf3f9 100644
--- a/res/values-kn-rIN/strings.xml
+++ b/res/values-kn-rIN/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ಫೋನ್ ಖಾತೆಗಳು"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ಖಾತೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi ಕರೆ ಮಾಡುವಿಕೆ"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಬೇಡಿ"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ಕರೆ ಸಹಾಯಕವನ್ನು ಬಳಸಬೇಡಿ"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ಯಾವುದೂ ಇಲ್ಲ"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"ಕಾನ್ಫಿಗರ್ ಮಾಡು"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"ಅಂತರ್ನಿರ್ಮಿತ ಸಂಪರ್ಕ ಸೇವೆ"</string>
     <string name="voicemail" msgid="8693759337917898954">"ಧ್ವನಿಮೇಲ್"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ಧ್ವನಿಮೇಲ್ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"ನೆಟ್‌ವರ್ಕ್‌ ಆಪರೇಟರ್‌ಗಳು"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"ತುರ್ತು ಪ್ರಸಾರಗಳು"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"ರೋಮಿಂಗ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸೇವೆಗಳಿಗೆ ಸಂಪರ್ಕಿಸು"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"ರೋಮಿಂಗ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸೇವೆಗಳಿಗೆ ಸಂಪರ್ಕಿಸು"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"ಡೇಟಾ ರೋಮಿಂಗ್ ಅನ್ನು ಆಫ್‌ ಮಾಡಿರುವ ಸ್ಥಿತಿಯಲ್ಲಿ ನಿಮ್ಮ ಹೋಮ್‌ ನೆಟ್‌ವರ್ಕ್‌ ಅನ್ನು ನೀವು ಇರಿಸಿರುವ ಕಾರಣ ನೀವು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಕಳೆದುಕೊಂಡಿರುವಿರಿ."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"ರೋಮಿಂಗ್‌ನಲ್ಲಿ ಡೇಟಾ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸುವುದೇ? ಗಮನಾರ್ಹ ಶುಲ್ಕಗಳು ಅನ್ವಯಿಸಬಹುದು."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"ನೀವು ಗಣನೀಯವಾಗಿ ಶುಲ್ಕಗಳನ್ನು ತೆರಬೇಕಾಗಬಹುದು."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ಡೇಟಾ ರೋಮಿಂಗ್ ಅನುಮತಿಸುವುದೇ?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ಆಯ್ಕೆಗಳು"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA ಆಯ್ಕೆಗಳು"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ಡೇಟಾ ಬಳಕೆ"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY ಮೋಡ್‌ ಹೊಂದಿಸಿ"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ಸ್ವಯಂ-ಮರುಪ್ರಯತ್ನಿಸುವಿಕೆ"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"ಸ್ವಯಂ ಮರುಪ್ರಯತ್ನಿಸುವಿಕೆ ಮೋಡ್‌‌ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY ಮೋಡ್ ವೀಡಿಯೊ ಕರೆಯ ಸಂದರ್ಭದಲ್ಲಿ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ"</string>
     <string name="menu_add" msgid="1882023737425114762">"ಸಂಪರ್ಕ ಸೇರಿಸಿ"</string>
     <string name="menu_edit" msgid="7143003705504672374">"ಸಂಪರ್ಕವನ್ನು ಸಂಪಾದಿಸಿ"</string>
     <string name="menu_delete" msgid="3977150783449642851">"ಸಂಪರ್ಕವನ್ನು ಅಳಿಸಿ"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ನಿಂದ ಓದಲಾಗುತ್ತಿದೆ…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"ನಿಮ್ಮ ಸಿಮ್‌ ಕಾರ್ಡ್‌ನಲ್ಲಿ ಯಾವುದೇ ಸಂಪರ್ಕಗಳಿಲ್ಲ."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ಆಮದು ಮಾಡಲು ಸಂಪರ್ಕಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ನಿಂದ ಸಂಪರ್ಕಗಳನ್ನು ಆಮದು ಮಾಡಲು, ಮೊದಲು ಏರ್‌ಪ್ಲೇನ್‌ ಮೋಡ್‌ ಆಫ್‌ ಮಾಡಿ."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"ಸಿಮ್ ಕಾರ್ಡ್‌ನಿಂದ ಸಂಪರ್ಕಗಳನ್ನು ಆಮದು ಮಾಡಲು ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಮಾಡಿ."</string>
     <string name="enable_pin" msgid="5422767284133234860">"ಸಿಮ್‌ ಪಿನ್‌ ಸಕ್ರಿಯಗೊಳಿಸಿ/ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="change_pin" msgid="9174186126330785343">"ಸಿಮ್‌ ಪಿನ್‌ ಬದಲಾಯಿಸಿ"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"ಸಿಮ್‌ ಪಿನ್‌:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"ಹ್ಯಾಂಗ್ ಅಪ್ ಮಾಡಿ"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ಮರಳಿ ಕರೆ ಮಾಡಿ"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"ಸಂದೇಶ"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ಕರೆ ಮಾಡಲು, ಮೊದಲು ಏರ್‌ಪ್ಲೇನ್‌‌ ಮೋಡ್‌‌ ಆಫ್‌ ಮಾಡಿ."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ಕರೆ ಮಾಡಲು ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಮಾಡಿ."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್ ಆಫ್ ಮಾಡಿ ಅಥವಾ ಕರೆ ಮಾಡಲು ವೈರ್‌ಲೆಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಇನ್ನೂ ನೋಂದಣಿಯಾಗಿಲ್ಲ."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್‌ವರ್ಕ್‌ ಲಭ್ಯವಿಲ್ಲ."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"ಸೆಲ್ಯುಲಾರ್ ನೆಟ್‌ವರ್ಕ್ ಲಭ್ಯವಿಲ್ಲ. ಕರೆ ಮಾಡಲು ವೈರ್‌ಲೆಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ಕರೆಯನ್ನು ಮಾಡಲು, ಮಾನ್ಯವಾದ ಸಂಖ್ಯೆಯನ್ನು ನಮೂದಿಸಿ."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"ಕರೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI ಅನುಕ್ರಮ ಪ್ರಾರಂಭವಾಗುತ್ತಿದೆ…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ಕಾನ್ಫರೆನ್ಸ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ಕರೆಯನ್ನು ತಿರಸ್ಕರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ಕರೆ(ಗಳು) ಬಿಡುಗಡೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ಕರೆ ಮಾಡಲು ವೈರ್‌ಲೆಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಪಡಿಸಿ."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ತುರ್ತು ಕರೆಗಳು"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ರೇಡಿಯೋ ಆನ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"ಯಾವುದೇ ಸೇವೆ ಇಲ್ಲ. ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌ ನಮೂದಿಸಲಾಗಿದೆ"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ಡೇಟಾ ಸಂಪರ್ಕ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> ನಿಮಿಷದವರೆಗೆ ಯಾವುದೇ ಡೇಟಾ ಸಂಪರ್ಕವಿಲ್ಲ"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> ನಿಮಿಷಗಳವರೆಗೆ ಯಾವುದೇ ಡೇಟಾ ಸಂಪರ್ಕವಿಲ್ಲ"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"<xliff:g id="COUNT">%s</xliff:g> ನಿಮಿಷದವರೆಗೆ ಫೋನ್‌‌ ತುರ್ತು ಕಾಲ್‌‌‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಈ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಳಸ ಸಾಧ್ಯವಾಗದಿರಬಹುದು. ನೀವು ಈಗಲೇ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?"</item>
-    <item quantity="other" msgid="8617116564023933114">"<xliff:g id="COUNT">%s</xliff:g> ನಿಮಿಷಗಳವರೆಗೆ ಫೋನ್‌‌ ತುರ್ತು ಕಾಲ್‌‌‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಈ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗದಿರಬಹುದು. ನೀವು ಈಗಲೇ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌‌ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಆಯ್ಕೆ ಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ. <xliff:g id="COUNT">%s</xliff:g> ನಿಮಿಷದವರೆಗೆ ಫೋನ್‌‌ ಈ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ನೀವು ಈಗಲೇ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?"</item>
-    <item quantity="other" msgid="6115622137771382224">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌‌ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಆಯ್ಕೆ ಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ. <xliff:g id="COUNT">%s</xliff:g> ನಿಮಿಷಗಳವೆರೆಗೆ ಫೋನ್‌‌ ಈ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ನೀವು ಈಗಲೇ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"> <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ಯಾವುದೇ ಡೇಟಾ ಸಂಪರ್ಕವಿಲ್ಲ</item>
+      <item quantity="other"> <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ಯಾವುದೇ ಡೇಟಾ ಸಂಪರ್ಕವಿಲ್ಲ</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">ಪೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಈ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
+      <item quantity="other">ಪೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ಈ ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಡೇಟಾ ಸಂಪರ್ಕವನ್ನು ಬಳಸಿಕೊಂಡು ಬಳಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ. ಫೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ಈ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
+      <item quantity="other">ತುರ್ತು ಮರಳಿ ಕರೆಮಾಡು ಮೋಡ್‌ನಲ್ಲಿರುವಾಗ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ. ಫೋನ್‌ <xliff:g id="COUNT_1">%s</xliff:g> ನಿಮಿಷಗಳ ಕಾಲ ಈ ಮೋಡ್‌ನಲ್ಲಿರುತ್ತದೆ. ನೀವು ಇದೀಗ ನಿರ್ಗಮಿಸಲು ಬಯಸುವಿರಾ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"ತುರ್ತು ಕರೆಯಲ್ಲಿರುವಾಗ ಆಯ್ಕೆಮಾಡಿದ ಕ್ರಿಯೆಯು ಲಭ್ಯವಿರುವುದಿಲ್ಲ."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"ತುರ್ತು ಕಾಲ್‌ಬ್ಯಾಕ್‌ ಮೋಡ್‌ನಿಂದ ನಿರ್ಗಮಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ಹೌದು"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"ತುರ್ತು ಕರೆಗಳು"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"ತುರ್ತು ಕರೆ ಮಾಡುವಿಕೆ ಮಾತ್ರ"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM ಕಾರ್ಡ್, ಸ್ಲಾಟ್: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ಪ್ರವೇಶಿಸುವಿಕೆ"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ಒಳಬರುವ ವೈ-ಫೈ ಕರೆ"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"ವೈ-ಫೈ ಕರೆ"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"ತೆರೆಯಲು ಮತ್ತೊಮ್ಮೆ ಸ್ಪರ್ಶಿಸಿ"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"ಸಂದೇಶವನ್ನು ಡೀಕೋಡ್ ಮಾಡುವಾಗ ದೋಷವುಂಟಾಗಿದೆ."</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 8b38a56..4a7d310 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"전화 계정"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP 계정 추가"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"계정 설정 조정"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi 통화"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi 통화"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi 통화 사용 안함"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"통화 도우미 사용 안함"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"선택 안함"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"구성"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"내장된 연결 서비스"</string>
     <string name="voicemail" msgid="8693759337917898954">"음성사서함"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"음성사서함(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"네트워크 운영자"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"긴급 방송"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"로밍 시 데이터 서비스에 연결"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"로밍 시 데이터 서비스에 연결"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"데이터 로밍을 사용 중지한 상태에서 홈 네트워크를 벗어났으므로 데이터 연결이 끊어졌습니다."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"로밍 시 데이터 사용을 허용하면 많은 요금이 부과될 수 있습니다."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"많은 요금이 부과될 수 있습니다."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"데이터 로밍을 허용하시겠습니까?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS 옵션"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA 옵션"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"데이터 사용"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY 모드 설정"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"자동으로 다시 시도"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"자동 다시 시도 모드 사용"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"화상 통화 중에는 TTY 모드 변경이 허용되지 않습니다."</string>
     <string name="menu_add" msgid="1882023737425114762">"연락처 추가"</string>
     <string name="menu_edit" msgid="7143003705504672374">"연락처 수정"</string>
     <string name="menu_delete" msgid="3977150783449642851">"연락처 삭제"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM 카드에서 읽는 중..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM 카드에 주소록이 없습니다."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"가져올 주소록 선택"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM 카드에서 주소록을 가져오려면 먼저 비행기 모드를 사용 중지하세요."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM 카드에서 연락처를 가져오려면 비행기 모드를 사용 중지하세요."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN 사용/사용 중지"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN 변경"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"전화 끊기"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"통화하기"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"문자 메시지"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"전화를 걸려면 먼저 비행기 모드를 해제하세요."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"전화를 걸려면 비행기 모드를 사용 중지하세요."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"전화를 걸려면 비행기 모드를 사용 중지하거나 무선 네트워크에 연결하세요."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"네트워크에서 등록되지 않았습니다."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"사용 가능한 이동통신망이 없습니다."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"모바일 네트워크를 사용할 수 없습니다. 전화를 걸려면 무선 네트워크에 연결하세요."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"전화를 걸려면 올바른 번호를 입력하세요."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"전화를 걸 수 없습니다."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI 시퀀스 시작 중..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"다자간 통화를 할 수 없습니다."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"통화를 거절할 수 없습니다."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"통화를 끊을 수 없습니다."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"전화를 걸려면 무선 네트워크에 연결하세요."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"긴급 전화"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"무선을 켜는 중..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"서비스를 사용할 수 없습니다. 다시 시도 중..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"긴급 콜백 모드 시작"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"긴급 콜백 모드"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"데이터 연결이 끊김"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g>분 동안 데이터 연결 없음"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g>분 동안 데이터 연결 없음"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"휴대전화가 <xliff:g id="COUNT">%s</xliff:g>분간 긴급 콜백 모드를 유지합니다. 그 동안 데이터 연결이 필요한 앱을 사용할 수 없습니다. 종료하시겠습니까?"</item>
-    <item quantity="other" msgid="8617116564023933114">"휴대전화가 <xliff:g id="COUNT">%s</xliff:g>분간 긴급 콜백 모드를 유지합니다. 그 동안 데이터 연결이 필요한 애플리케이션을 사용할 수 없습니다. 종료하시겠습니까?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"긴급 콜백 모드에서는 선택한 작업을 사용할 수 없습니다. 휴대전화가 <xliff:g id="COUNT">%s</xliff:g>분간 현재 모드를 유지합니다. 종료하시겠습니까?"</item>
-    <item quantity="other" msgid="6115622137771382224">"긴급 콜백 모드에서는 선택한 작업을 사용할 수 없습니다. 휴대전화가 <xliff:g id="COUNT">%s</xliff:g>분간 현재 모드를 유지합니다. 종료하시겠습니까?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g>분 동안 데이터 연결 없음</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g>분 동안 데이터 연결 없음</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">휴대전화가 <xliff:g id="COUNT_1">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 긴급 콜백 모드에서는 데이터 연결을 이용하는 애플리케이션을 사용할 수 없습니다. 지금 종료하시겠습니까?</item>
+      <item quantity="one">휴대전화가 <xliff:g id="COUNT_0">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 긴급 콜백 모드에서는 데이터 연결을 이용하는 앱을 사용할 수 없습니다. 지금 종료하시겠습니까?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">긴급 콜백 모드에서는 선택한 작업을 수행할 수 없습니다. 휴대전화가 <xliff:g id="COUNT_1">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 지금 종료하시겠습니까?</item>
+      <item quantity="one">긴급 콜백 모드에서는 선택한 작업을 수행할 수 없습니다. 휴대전화가 <xliff:g id="COUNT_0">%s</xliff:g>분 동안 긴급 콜백 모드로 전환됩니다. 지금 종료하시겠습니까?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"긴급 통화 중에는 선택한 작업을 사용할 수 없습니다."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"긴급 콜백 모드 종료하는 중"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"예"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"긴급 전화"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"긴급 전화 전용"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM 카드, 슬롯: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"접근성"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Wi-Fi 수신 전화"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi 통화"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"다시 터치하여 열기"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"메시지를 디코딩하는 중에 오류가 발생했습니다."</string>
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
index e9ee467..a24ddae 100644
--- a/res/values-ky-rKG/strings.xml
+++ b/res/values-ky-rKG/strings.xml
@@ -99,7 +99,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Телефон каттоо эсептери"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP каттоо эсебин кошуу"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Каттоо эсеп жөндөөлөрүн конфигурациялоо"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi чалуу"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi чалуу"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi чалуу колдонулбасын"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Чалуу жардамчысы колдонулбасын"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Эч нерсе жок"</string>
@@ -112,6 +112,7 @@
     <string name="connection_service_default_label" msgid="1498481943805913754">"Кыналган туташуу кызматы"</string>
     <!-- no translation found for voicemail (8693759337917898954) -->
     <skip />
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Үн почтасы (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <!-- no translation found for voicemail_abbreviated (2215592488517217448) -->
     <skip />
     <!-- no translation found for networks (8873030692174541976) -->
@@ -299,7 +300,8 @@
     <!-- no translation found for roaming_disable (1843417228755568110) -->
     <skip />
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Мобилдик берүү байланышын жоготтуңуз, анткени сиз мобилдик интернет роумингин иштетпестен, өзүңүздүн түйүнүңүздөн сырткары чыгып кеттиңиз."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Роуминг учурунда дайындарды пайдаланууга уруксатпы? Бир далай төлөмдөр колдонулушу мүмкүн."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Бир кыйла төлөмдөргө учурашыңыз мүмкүн."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Интернет-роумингге жол берилсинби?"</string>
     <!-- no translation found for gsm_umts_options (6538311689850981686) -->
     <skip />
     <!-- no translation found for cdma_options (4016822858172249884) -->
@@ -535,6 +537,7 @@
     <skip />
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Авто-чалуу"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Авто-чалуу тартибин иштетүү"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Видео чалуу учурунда Телетайп түзмөк режимин өзгөртүүгө уруксат жок"</string>
     <!-- no translation found for menu_add (1882023737425114762) -->
     <skip />
     <!-- no translation found for menu_edit (7143003705504672374) -->
@@ -576,7 +579,7 @@
     <skip />
     <!-- no translation found for simContacts_title (1861472842524839921) -->
     <skip />
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM-картадан байланыштарды импорттоо үчүн, алгач Учак тартибин өчүрүшүңүз керек."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM картадан байланыштарды импорттоо үчүн учак режимин өчүрүңүз."</string>
     <!-- no translation found for enable_pin (5422767284133234860) -->
     <skip />
     <!-- no translation found for change_pin (9174186126330785343) -->
@@ -669,11 +672,12 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Телефонду коюу"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Кайра чалуу"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Билдирүү"</string>
-    <!-- no translation found for incall_error_power_off (6550191216405193368) -->
-    <skip />
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Чалуу үчүн учак режимин өчүрүңүз."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Чалуу үчүн учак режимин өчүрүңүз же зымсыз тармакка туташыңыз."</string>
     <!-- no translation found for incall_error_emergency_only (4678640422710818317) -->
     <skip />
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Уюктук тармак жеткиликтүү эмес."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Уюлдук тармак жеткиликтүү эмес. Чалуу үчүн зымсыз тармакка туташыңыз."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Чалуу үчүн, жарактуу номер киргизиңиз."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Чалынбай жатат."</string>
     <!-- no translation found for incall_status_dialed_mmi (3672498861336189563) -->
@@ -686,6 +690,7 @@
     <skip />
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Чалуу четке кагылбай жатат."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Чалуу(лар) бошотулбай жатат."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Чалуу үчүн зымсыз тармакка туташыңыз."</string>
     <!-- no translation found for emergency_enable_radio_dialog_title (4627849966634578257) -->
     <skip />
     <!-- no translation found for emergency_enable_radio_dialog_message (207613549344420291) -->
@@ -781,16 +786,18 @@
     <skip />
     <!-- no translation found for phone_in_ecm_call_notification_text (4611608947314729773) -->
     <skip />
-    <!-- no translation found for phone_in_ecm_notification_time:one (4866221796252472622) -->
-    <!-- no translation found for phone_in_ecm_notification_time:other (3122217344579273583) -->
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефон <xliff:g id="COUNT">%s</xliff:g> мүнөт Куткаруучулардын Кайра Чалуусу тартибинде иштейт. Бул тартипте колдонмолор мобилдик берүү туташуусун колдоно алышпайт. Азыр андан чыкканды каалайсызбы?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефон <xliff:g id="COUNT">%s</xliff:g> мүнөт Куткаруучулардын Кайра Чалуусу тартибинде иштейт. Бул тартипте колдонмолор мобилдик берүү туташуусун колдоно алышпайт. Азыр андан чыкканды каалайсызбы?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Бул аракет Куткаруучулардын Кайра Чалуусу тартибинде иштебейт. Телефон бул тартипте <xliff:g id="COUNT">%s</xliff:g> мүнөт болот. Азыр андан чыкканды каалайсызбы?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Бул аракет Куткаруучулардын Кайра Чалуусу тартибинде иштебейт. Телефон бул тартипте <xliff:g id="COUNT">%s</xliff:g> мүнөт болот. Азыр андан чыкканды каалайсызбы?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> мүнөт бою маалыматтык туташуу болбойт</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> мүнөт бою маалыматтык туташуу болбойт</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Телефон Шашылыш кайра чалуу режиминде <xliff:g id="COUNT_1">%s</xliff:g> мүнөт бою болот. Бул режим күйүп турганда маалыматтык туташууну пайдаланган эч бир колдонмо иштетилбейт. Азыр чыгып кеткиңиз келеби?</item>
+      <item quantity="one">Телефон Шашылыш кайра чалуу режиминде <xliff:g id="COUNT_0">%s</xliff:g> мүнөт бою болот. Бул режим күйүп турганда маалыматтык туташууну пайдаланган эч бир колдонмо иштетилбейт. Азыр чыгып кеткиңиз келеби?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Тандалган аракет Шашылыш кайра чалуу режиминде жеткиликтүү эмес. Телефон бул режимде <xliff:g id="COUNT_1">%s</xliff:g> мүнөт бою болот. Азыр чыгып кеткиңиз келеби?</item>
+      <item quantity="one">Тандалган аракет Шашылыш кайра чалуу режиминде жеткиликтүү эмес. Телефон бул режимде <xliff:g id="COUNT_0">%s</xliff:g> мүнөт бою болот. Азыр чыгып кеткиңиз келеби?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Куткаруучуларга чалуу учурунда, бул тандалган аракет аткарылбайт."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Куткаруучулардын Кайра Чалуусу тартибинен чыгуу"</string>
     <!-- no translation found for alert_dialog_yes (6674268047820703974) -->
@@ -828,4 +835,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Шашылыш чалуулар"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Шашылыш чалуу гана"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-карта, оюкча: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Жеткиликтүүлүк"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Кирүүчү Wi-Fi чалуу"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi чалуу"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Ачуу үчүн кайра тийиңиз"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Билдирүү дешифрленип жатканда ката кеткен."</string>
 </resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index 4922f91..0cc7b8b 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ບັນ​ຊີ​ໂທລະ​ສັບ"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"ເພີ່ມ​ບັນ​ຊີ SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ຕັ້ງ​​ການ​ຕັ້ງ​ຄ່າ​ບັນ​ຊີ"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"ການ​ໂທ Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"ການ​ໂທ Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ຢ່າໃຊ້ການ​ໂທ​ດ້ວຍ Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ຢ່າ​ໃຊ້​ຕົວ​ຊ່ວຍ​ການ​ໂທ"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ບໍ່ມີ"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"ຕັ້ງຄ່າ"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"ບໍ​ລິ​ການ​ການ​ເຊື່ອມ​ຕໍ່​ທີ່​ມີ​ມາ​ນຳ"</string>
     <string name="voicemail" msgid="8693759337917898954">"ຂໍ້ຄວາມສຽງ"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ຂໍ້​ຄວາມ​ສຽງ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM​:"</string>
     <string name="networks" msgid="8873030692174541976">"ຜູ່ໃຫ້ບໍລິການເຄືອຂ່າຍ"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"​ການ​ອອກອາກາດ​ສຸກ​ເສີນ"</string>
@@ -132,7 +133,7 @@
     <string name="fdn_check_failure" msgid="18200614306525434">"ການຕັ້ງຄ່າແອັບຯໝາຍເລກຈຳກັດການໂທອອກ ຂອງໂທລະສັບທ່ານຖືກເປີດໃຊ້ຢູ່ ເຊິ່ງຈະເຮັດໃຫ້ຄຸນສົມບັດທີ່ກ່ຽວກັບການໂທບາງຢ່າງ ບໍ່ສາມາດໃຊ້ໄດ້."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"ເປີດໃຊ້ວິທະຍຸກ່ອນການເບິ່ງການຕັ້ງຄ່າເຫຼົ່ານີ້."</string>
     <string name="close_dialog" msgid="2365884406356986917">"ຕົກລົງ"</string>
-    <string name="enable" msgid="7248657275000173526">"ເປີດ"</string>
+    <string name="enable" msgid="7248657275000173526">"ເປີດ​"</string>
     <string name="disable" msgid="4678348128118573672">"ປິດ"</string>
     <string name="change_num" msgid="239476305819844391">"ອັບເດດ"</string>
   <string-array name="clir_display_values">
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"ເຊື່ອມຕໍ່ບໍລິການຂໍ້ມູນເມື່ອໂຣມມິງ"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"ເຊື່ອມຕໍ່ບໍລິການຂໍ້ມູນເມື່ອໂຣມມິງ"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"ທ່ານໄດ້ຖືກຕັດການເຊື່ອມຕໍ່ຂໍ້ມູນ ເນື່ອງຈາກທ່ານອອກຈາກເຄືອຂ່າຍພາຍໃນ ໂດຍທີ່ປິດການໂຣມມິງໄວ້."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"ອະ​ນຸ​ຍາດ​ການ​ນຳ​ໃຊ້​ຂໍ້​ມູນ ເມື່ອ​ໂຣມ​ມິງ​ບໍ? ອາດ​ຈະ​ມີ​ການ​ເກັບ​ຄ່າ​ບໍລິການຫຼາຍ."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"ທ່ານ​ອາດ​ຈະ​ເສຍ​ຄ່າ​ໃຊ້​ຈ່າຍ​ຫຼາຍ."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ອະນຸຍາດໃຫ້ໂຣມມິງຂໍ້ມູນບໍ?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"ໂຕເລືອກ GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"ໂຕເລືອກ CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ການນຳໃຊ້ຂໍ້ມູນ"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"ຕັ້ງຮູບ​ແບບ TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ລອງໃໝ່ອັດຕະໂນມັດ"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"ເປີດໃຊ້ການລອງໃໝ່ອັດຕະໂນມັດ"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ບໍ່​ອະ​ນຸ​ຍາດ​ໃຫ້​ປ່ຽນ​ໂໝດ TTY ຢູ່​ໃນ​ລະ​ຫວ່າງ​ການ​ໂທວິ​ດີ​ໂອ"</string>
     <string name="menu_add" msgid="1882023737425114762">"ເພີ່ມລາຍຊື່ຜູ່ຕິດຕໍ່"</string>
     <string name="menu_edit" msgid="7143003705504672374">"ແກ້ໄຂລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
     <string name="menu_delete" msgid="3977150783449642851">"ລຶບລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"ກຳລັງອ່ານຈາກ SIM card..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"ບໍ່ມີລາຍຊື່ຜູ່ຕິດຕໍ່ໃນ SIM card ຂອງທ່ານ."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ເລືອກລາຍຊື່ເພື່ອນຳເຂົ້າ"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"ເພື່ອນຳລາຍຊື່ຜູ່ຕິດຕໍ່ເຂົ້າມາຈາກ SIM card,​ ກະລຸນາປິດການໃຊ້ໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"ປິດໂໝດເຄື່ອງບິນເພື່ອນໍາເຂົ້າລາຍຊື່ຈາກແຜ່ນ SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"ປິດ/ເປີດ ການນຳໃຊ້ PIN ຂອງ SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"ປ່ຽນລະຫັດ PIN ຂອງ SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN ຂອງ SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"ວາງສາຍ"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ໂທກັບ"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"ຂໍ້ຄວາມ"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ເພື່ອໂທລະສັບ, ໃຫ້ປິດໂໝດຢູ່ເທິງຍົນກ່ອນ."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ປິດໂໝດເຄື່ອງບິນເພື່ອເຮັດການໂທ."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ປິດໂໝດເຄື່ອງບິນ ຫຼືເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍໄຮ້ສາຍເພື່ອເຮັດການໂທ."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ບໍ່ໄດ້ລົງທະບຽນໃນເຄືອຂ່າຍ."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"ບໍ່​ມີ​ເຄືອ​ຂ່າຍ​ມື​ຖື​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"ເຄືອຂ່າຍເຊລລູລາບໍ່ພ້ອມໃຊ້ງານ. ໃຫ້ເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍໄຮ້ສາຍເພື່ອເຮັດການໂທ."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ເພື່ອ​ທີ່​ຈະ​ໂທ, ປ້ອນ​ເບີ​ໂທ​ທີ່​ໃຊ້​ໄດ້​ເຂົ້າ​ໄປ."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"ບໍ່​ສາ​ມາດ​ໂທ​ໄດ້."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"ກຳລັງເລີ່ມຕົ້ນລຳດັບ MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ບໍ່ສາມາດປະຊຸມສາຍໄດ້."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ບໍ່​ສາ​ມາດ​ປະ​ຕິ​ເສດ​ສາຍ​ໂທ​ໄດ້."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ບໍ່​ສາ​ມາດ​ປ່ອຍ​ສາຍ​ໂທ​ໄດ້."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍໄຮ້ສາຍເພື່ອເຮັດການໂທ."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ໂທສຸກເສີນ"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ກຳລັງເປີດໃຊ້ວິທະຍຸ..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"ບໍ່​ມີ​ການ​ບໍ​ລິ​ການ. ກຳ​ລັງ​ລອງ​ໃໝ່​ອີກ…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"ເຂົ້າສູ່ໂໝດໂທກັບສຸກເສີນແລ້ວ"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"ໂໝດໂທກັບສຸກເສີນ"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ປິດການເຊື່ອມຕໍ່ຂໍ້ມູນແລ້ວ"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"ບໍ່ສາມາດໃຊ້ການເຊື່ອມຕໍ່ຂໍ້ມູນໄດ້ເປັນເວລາ <xliff:g id="COUNT">%s</xliff:g> ນາທີ"</item>
-    <item quantity="other" msgid="3122217344579273583">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຂໍ້ມູນໄດ້ເປັນເວລາ <xliff:g id="COUNT">%s</xliff:g> ນາທີ"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ໂທລະສັບຈະຢູ່ໃນໂໝດການໂທກັບສຸກເສີນ ເປັນເວລາ <xliff:g id="COUNT">%s</xliff:g> ນາທີ. ໃນລະຫວ່າງທີ່ຢູ່ໃນໂໝດນີ້ ຈະບໍ່ມີແອັບຯໃດສາມາດໃຊ້ການເຊື່ອມຕໍ່ຂໍ້ມູນໄດ້. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ່?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ໂທລະສັບຈະຢູ່ໃນໂໝດການໂທກັບສຸກເສີນ ເປັນເວລາ <xliff:g id="COUNT">%s</xliff:g> ນາທີ. ໃນລະຫວ່າງທີ່ຢູ່ໃນໂໝດນີ້ ຈະບໍ່ມີແອັບພລິເຄຊັນໃດສາມາດໃຊ້ການເຊື່ອມຕໍ່ຂໍ້ມູນໄດ້. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ່?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"ການດຳເນີນການທີ່ເລືອກ ບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນໂໝດໂທກັບສຸກເສີນ. ໂທລະສັບຈະຢູ່ໃນໂໝດນີ້ອີກ <xliff:g id="COUNT">%s</xliff:g> ນາທີ. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ່?"</item>
-    <item quantity="other" msgid="6115622137771382224">"ການດຳເນີນການທີ່ເລືອກ ບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນໂໝດໂທກັບສຸກເສີນ. ໂທລະສັບຈະຢູ່ໃນໂໝດນີ້ອີກ <xliff:g id="COUNT">%s</xliff:g> ນາທີ. ທ່ານຕ້ອງການອອກດຽວນີ້ບໍ່?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"> <xliff:g id="COUNT_1">%s</xliff:g> ນາ​ທີ</item>
+      <item quantity="one">ບໍ່​ມີ​ການ​ເຊື່ອມ​ຕໍ່​ຂໍ້​ມູນ​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_0">%s</xliff:g> ນາ​ທີ</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ການ​ໂທ​​ສຸກ​ເສີນ​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_1">%s</xliff:g> ນາ​ທີ. ໃນ​ຂະ​ນະ​ທີ່​ຢູ່​ໃນ​ໂໝດ​ນີ້ ບໍ່​ມີ​ແອພ​ພ​ລິ​ເຄ​ຊັນທີ່​ໃຊ້​ການ​ເຊື່ອມ​ຕໍ່​ຂໍ້​ມູນ​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
+      <item quantity="one">ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ການ​ໂທ​​ສຸກ​ເສີນ​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_0">%s</xliff:g> ນາ​ທີ. ໃນ​ຂະ​ນະ​ທີ່​ຢູ່​ໃນ​ໂໝດ​ນີ້ ບໍ່​ມີ​ແອັບ​ທີ່​ໃຊ້​ການ​ເຊື່ອມ​ຕໍ່​ຂໍ້​ມູນ​ທີ່​ສາ​ມາດ​ໃຊ້​ໄດ້. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">. ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ນີ້​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_1">%s</xliff:g> ນາ​ທີ. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
+      <item quantity="one">ການດຳເນີນການທີ່ເລືອກໄວ້ ບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນການໂທສຸກເສີນ. ໂທ​ລະ​ສັບ​ຈະ​ຢູ່​ໃນ​ໂໝດ​ນີ້​ເປັນ​ເວ​ລາ <xliff:g id="COUNT_0">%s</xliff:g> ນາ​ທີ. ທ່ານ​ຕ້ອງ​ການ​ອອກ​ດຽວ​ນີ້​ບໍ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"ການດຳເນີນການທີ່ເລືອກ ບໍ່ສາມາດໃຊ້ໄດ້ໃນຂະນະທີ່ຢູ່ໃນການໂທສຸກເສີນ."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"ກຳລັງອອກຈາກໂໝດໂທກັບສຸກເສີນ"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ຕົກລົງ"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"​ການ​ໂທ​ສຸກ​ເສີນ"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"ການ​ໂທ​ສຸກ​ເສີນ​ເທົ່າ​ນັ້ນ"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"ແຜ່ນ SIM, ຊ່ອງ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"​ການ​ຊ່ວຍ​ເຂົ້າ​ເຖິງ"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ສາຍໂທເຂົ້າ Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"ການ​ໂທ Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"​ແຕະ​ອີກ​ເທື່ອ​ນຶ່ງ​ເພື່ອ​ເປີດ"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"ມີຂໍ້ຜິດພາດໃນລະຫວ່າງຖອດລະຫັດຂໍ້ຄວາມດັ່ງກ່າວ."</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index b637b29..ccb3908 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefono paskyros"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Pridėti SIP paskyrą"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Paskyros nustatymų konfigūravimas"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"„Wi-Fi“ skambinimas"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"„Wi-Fi“ skambinimas"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nenaudoti „Wi-Fi“ skambinimo"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nenaudoti skambučių pagelbiklio"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nėra"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigūruoti"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Įtaisytosios ryšio paslaugos"</string>
     <string name="voicemail" msgid="8693759337917898954">"Balso paštas"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Balso paštas (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"BP:"</string>
     <string name="networks" msgid="8873030692174541976">"Tinklo operatoriai"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Avarinės transliacijos"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Veikiant tarptinkliniam ryšiui, prisijungti prie duomenų paslaugų"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Ryšys su duomenimis nutrūko, nes iš pagrindinio tinklo išėjote neįjungę tarptinklinio ryšio."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Leisti naudoti duomenis, kai įjungtas tarptinklinis ryšys? Gali būti taikomi dideli mokesčiai."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Galite būti apmokestinti dideliais mokesčiais."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Leisti tarptinklinį duomenų ryšį?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM / UMTS parinktys"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA parinktys"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Duomenų naudojimas"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Nustatyti TTY režimą"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatinis bandymas iš naujo"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Įgalinti automatinio kartotinio bandymo režimą"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Vykstant vaizdo skambučiui negalima keisti TTY režimo"</string>
     <string name="menu_add" msgid="1882023737425114762">"Pridėti adresatą"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Redaguoti adresatą"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Ištrinti adresatą"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Skaitoma iš SIM kortelės..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM kortelėje adresatų nėra."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Pasirinkti importuojamus adresatus"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Jei norite importuoti kontaktus iš SIM kortelės, pirmiausia išjunkite lėktuvo režimą."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Išjunkite lėktuvo režimą, kad galėtumėte importuoti kontaktus iš SIM kortelės."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Įgalinti / išjungti SIM kortelės PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"Pakeisti SIM kortelės PIN kodą"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM kortelės PIN kodas:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Padėti ragelį"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Perskambinti"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Pranešimas"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Jei norite skambinti, išjunkite lėktuvo režimą."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Išjunkite lėktuvo režimą, kad galėtumėte skambinti."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Išjunkite lėktuvo režimą arba prisijunkite prie belaidžio ryšio tinklo, kad galėtumėte skambinti."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Neregistruota tinkle."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Korinis tinklas nepasiekiamas"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobiliojo ryšio tinklas nepasiekiamas. Prisijunkite prie belaidžio ryšio tinklo, kad galėtumėte skambinti."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Kad galėtumėte paskambinti, įveskite tinkamą numerį."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Nepavyko paskambinti."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Paleidžiama MMI seka..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Neįmanoma atlikti konferencinių skambučių."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Nepavyko atmesti skambučio."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Nepavyko atjungti skamb."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Prisijunkite prie belaidžio ryšio tinklo, kad galėtumėte skambinti."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Skambutis pagalbos numeriu"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Įjungiamas radijas…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Nėra ryšio. Bandoma dar kartą…"</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Įvestas atgalinio skambinimo pagalbos numeriu režimas"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Atgalinio skambinimo pagalbos numeriu režimas"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Duomenų ryšys išjungtas"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Jokio duomenų ryšio <xliff:g id="COUNT">%s</xliff:g> min."</item>
-    <item quantity="other" msgid="3122217344579273583">"Jokio duomenų ryšio <xliff:g id="COUNT">%s</xliff:g> min."</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"<xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-    <item quantity="other" msgid="8617116564023933114">"<xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Skambinant pagalbos telefonu pasirinkto veiksmo atlikti nepavyks. Šiuo režimu telefonas veiks <xliff:g id="COUNT">%s</xliff:g> min. Ar norite šį režimą išjungti dabar?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Skambinant atgalinio pagalbos numerio režimu pasirinkto veiksmo atlikti nepavyks. Šiuo režimu telefonas veiks <xliff:g id="COUNT">%s</xliff:g> min. Ar norite šį režimą išjungti dabar?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Jokio duomenų ryšio <xliff:g id="COUNT_1">%s</xliff:g> minutę</item>
+      <item quantity="few">Jokio duomenų ryšio <xliff:g id="COUNT_1">%s</xliff:g> minutes</item>
+      <item quantity="many">Jokio duomenų ryšio <xliff:g id="COUNT_1">%s</xliff:g> minutės</item>
+      <item quantity="other">Jokio duomenų ryšio <xliff:g id="COUNT_1">%s</xliff:g> minučių</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutę. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
+      <item quantity="few">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutes. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
+      <item quantity="many">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutės. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
+      <item quantity="other">Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minučių. Įgalinus šį režimą negalima naudoti jokių programų, kurioms reikalingas duomenų ryšys. Norite dabar išeiti iš šio režimo?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutę. Norite dabar išeiti iš šio režimo?</item>
+      <item quantity="few">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutes. Norite dabar išeiti iš šio režimo?</item>
+      <item quantity="many">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minutės. Norite dabar išeiti iš šio režimo?</item>
+      <item quantity="other">Įgalinus pagalbos tarnybos atskambinimo režimą pasirinkto veiksmo atlikti negalima. Telefonas veiks pagalbos tarnybos atskambinimo režimu <xliff:g id="COUNT_1">%s</xliff:g> minučių. Norite dabar išeiti iš šio režimo?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Skambinant pagalbos numeriu pasirinkto veiksmo atlikti nepavyks."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Išeinama iš atgalinio skambinimo pagalbos numeriu režimo"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Taip"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Skambučiai pagalbos numeriu"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Tik skambučiai pagalbos numeriu"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM kortelė, lizdas: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Pritaikymas neįgaliesiems"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Gaunamasis „Wi-Fi“ skamb."</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"„Wi-Fi“ skambutis"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Palieskite dar kartą, kad atidarytumėte"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Iškoduojant pranešimą įvyko klaida."</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 651d8ea..f768f4a 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Tālruņa konti"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Pievienot SIP kontu"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konta iestatījumu konfigurēšana"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi zvani"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi zvani"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Neizmantot Wi-Fi zvanus"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Neizmantot zvanu palīgu"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nav"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurēt"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Iebūvēts savienojuma izveides pakalpojums"</string>
     <string name="voicemail" msgid="8693759337917898954">"Balss pasts"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Balss pasts (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"BP:"</string>
     <string name="networks" msgid="8873030692174541976">"Tīkla operatori"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Ārkārtas paziņojumi"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Viesabonēšanas laikā izveidot savienojumu ar datu pakalpojumiem"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Datu savienojamība ir zaudēta, jo mājas tīkls ar datu viesabonēšanu ir izslēgts."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Vai atļaut datu lietojumu viesabonēšanas laikā? Var tikt iekasēta ievērojama maksa."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Var rasties ievērojamas izmaksas."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Vai atļaut datu viesabonēšanu?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS opcijas"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA opcijas"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Datu lietojums"</string>
@@ -352,6 +354,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Iestatīt teletaipa režīmu"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automātisks atkārtots mēģinājums"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Iespējot automātiskā atkārtotā mēģinājuma režīmu"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Videozvana laikā nav atļauts mainīt teksta tālruņa režīmu."</string>
     <string name="menu_add" msgid="1882023737425114762">"Pievienot kontaktpersonu"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Rediģēt kontaktpersonu"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Dzēst kontaktpersonu"</string>
@@ -375,7 +378,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Notiek lasīšana no SIM kartes..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM kartē nav nevienas kontaktpersonas."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Importējamo kontaktpersonu atlasīšana"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Lai importētu kontaktinformāciju no SIM kartes, vispirms izslēdziet lidojuma režīmu."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Lai importētu kontaktpersonas no SIM kartes, izslēdziet lidojuma režīmu."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Iespējot/atspējot SIM PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN mainīšana"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -436,9 +439,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Pārtraukt"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Atzvanīt"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Ziņojums"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Lai veiktu zvanu, vispirms izslēdziet lidojuma režīmu."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Lai veiktu zvanu, izslēdziet lidojuma režīmu."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Lai veiktu zvanu, izslēdziet lidojuma režīmu vai izveidojiet savienojumu ar bezvadu tīklu."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tīklā nav reģistrēts."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilais tīkls nav pieejams."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilais tīkls nav pieejams. Lai veiktu zvanu, izveidojiet savienojumu ar bezvadu tīklu."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Lai veiktu zvanu, ievadiet derīgu numuru."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Nevar veikt zvanu."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Notiek MMI secības startēšana…"</string>
@@ -449,6 +454,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nevar veikt konferences zvanus."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Nevar noraidīt zvanu."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Nevar pārtraukt zvanu(-us)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Lai veiktu zvanu, izveidojiet savienojumu ar bezvadu tīklu."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Ārkārtas zvans"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Notiek radio ieslēgšana..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Nav pakalpojuma. Notiek atkārtots mēģinājums…"</string>
@@ -510,18 +516,21 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Ievadītais ārkārtas atzvana režīms"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Ārkārtas atzvana režīms"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Datu savienojums ir atspējots."</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Nav datu savienojuma <xliff:g id="COUNT">%s</xliff:g> minūti"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> minūti(-es) nav datu savienojuma."</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Tālrunis ārkārtas atzvana režīmā atradīsies <xliff:g id="COUNT">%s</xliff:g> minūti. Lietojot šo režīmu, nevar izmantot nevienu lietotni, kurai nepieciešams datu savienojums. Vai vēlaties iziet tūlīt?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Tālrunis ārkārtas atzvana režīmā atradīsies <xliff:g id="COUNT">%s</xliff:g> minūti(-es). Lietojot šo režīmu, nevar izmantot nevienu lietojumprogrammu, kurai nepieciešams datu savienojums. Vai vēlaties iziet tūlīt?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Atlasītā darbība nav pieejama, izmantojot ārkārtas atzvana režīmu. Tālrunis šajā režīmā atradīsies <xliff:g id="COUNT">%s</xliff:g> minūti. Vai vēlaties iziet tūlīt?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Atlasītā darbība nav pieejama, izmantojot ārkārtas atzvana režīmu. Tālrunis šajā režīmā atradīsies <xliff:g id="COUNT">%s</xliff:g> minūti(-es). Vai vēlaties iziet tūlīt?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="zero"><xliff:g id="COUNT_1">%s</xliff:g> minūtes nav datu savienojuma</item>
+      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> minūti nav datu savienojuma</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> minūtes nav datu savienojuma</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="zero">Tālrunī <xliff:g id="COUNT_1">%s</xliff:g> minūtes būs aktivizēts ārkārtas atzvana režīms. Šajā režīmā nevar izmantot lietotnes, kurās tiek lietots datu savienojums. Vai vēlaties to aizvērt tūlīt?</item>
+      <item quantity="one">Tālrunī <xliff:g id="COUNT_1">%s</xliff:g> minūti būs aktivizēts ārkārtas atzvana režīms. Šajā režīmā nevar izmantot lietotnes, kurās tiek lietots datu savienojums. Vai vēlaties to aizvērt tūlīt?</item>
+      <item quantity="other">Tālrunī <xliff:g id="COUNT_1">%s</xliff:g> minūtes būs aktivizēts ārkārtas atzvana režīms. Šajā režīmā nevar izmantot lietotnes, kurās tiek lietots datu savienojums. Vai vēlaties to aizvērt tūlīt?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="zero">Atlasītā darbība nav pieejama ārkārtas atzvana režīmā. Šis režīms tālrunī būs aktivizēts <xliff:g id="COUNT_1">%s</xliff:g> minūtes. Vai vēlaties to aizvērt tūlīt?</item>
+      <item quantity="one">Atlasītā darbība nav pieejama ārkārtas atzvana režīmā. Šis režīms tālrunī būs aktivizēts <xliff:g id="COUNT_1">%s</xliff:g> minūti. Vai vēlaties to aizvērt tūlīt?</item>
+      <item quantity="other">Atlasītā darbība nav pieejama ārkārtas atzvana režīmā. Šis režīms tālrunī būs aktivizēts <xliff:g id="COUNT_1">%s</xliff:g> minūtes. Vai vēlaties to aizvērt tūlīt?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Atlasītā darbība nav pieejama, veicot ārkārtas izsaukumu."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Notiek iziešana no ārkārtas atzvana režīma"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Jā"</string>
@@ -550,4 +559,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Ārkārtas izsaukumi"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Tikai ārkārtas izsaukumi"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM karte, slots: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Pieejamība"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Ienākošs Wi-Fi zvans"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi zvans"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Lai atvērtu, pieskarieties vēlreiz."</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Atšifrējot ziņojumu, radās kļūda."</string>
 </resources>
diff --git a/res/values-mcc310-mnc004/config.xml b/res/values-mcc310-mnc004/config.xml
index bbe9e7b..198e65f 100755
--- a/res/values-mcc310-mnc004/config.xml
+++ b/res/values-mcc310-mnc004/config.xml
@@ -19,4 +19,7 @@
 <resources>
     <!-- Flag indicating if dtmf tone type is enabled -->
     <bool name="support_swap_after_merge" translatable="false">false</bool>
+    <!-- Determine whether the voicemail notification is persistent in the notification bar.
+         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
+    <bool name="voicemail_notification_persistent">true</bool>
 </resources>
diff --git a/res/values-mcc310-mnc120/config.xml b/res/values-mcc310-mnc120/config.xml
index 7c269e0..93a8079 100644
--- a/res/values-mcc310-mnc120/config.xml
+++ b/res/values-mcc310-mnc120/config.xml
@@ -19,4 +19,7 @@
 <resources>
     <!-- Flag indicating if dtmf tone type is enabled -->
     <bool name="dtmf_type_enabled">true</bool>
+    <!-- Determine whether the voicemail notification is persistent in the notification bar.
+         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
+    <bool name="voicemail_notification_persistent">true</bool>
 </resources>
diff --git a/res/values-mcc311-mnc480/config.xml b/res/values-mcc311-mnc480/config.xml
index 2b032d5..b7d0d6e 100755
--- a/res/values-mcc311-mnc480/config.xml
+++ b/res/values-mcc311-mnc480/config.xml
@@ -20,5 +20,8 @@
     <!-- Flag indicating if dtmf tone type is enabled -->
     <bool name="dtmf_type_enabled">true</bool>
     <bool name="support_swap_after_merge" translatable="false">false</bool>
+    <!-- Determine whether the voicemail notification is persistent in the notification bar.
+         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
+    <bool name="voicemail_notification_persistent">true</bool>
     <bool name="support_pause_ims_video_calls" translatable="false">true</bool>
 </resources>
diff --git a/res/values-mcc311-mnc490/config.xml b/res/values-mcc311-mnc490/config.xml
index 7c269e0..93a8079 100644
--- a/res/values-mcc311-mnc490/config.xml
+++ b/res/values-mcc311-mnc490/config.xml
@@ -19,4 +19,7 @@
 <resources>
     <!-- Flag indicating if dtmf tone type is enabled -->
     <bool name="dtmf_type_enabled">true</bool>
+    <!-- Determine whether the voicemail notification is persistent in the notification bar.
+         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
+    <bool name="voicemail_notification_persistent">true</bool>
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
index 40bc05d..55c7c9e 100644
--- a/res/values-mk-rMK/strings.xml
+++ b/res/values-mk-rMK/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Телефонски сметки"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Додајте сметка на СИП"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Конфигурирајте ги поставките на сметка"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Повикување преку Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Повикување преку Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не користете повикување преку Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не користете помошник за повикување"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Нема"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Конфигурирај"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Вградена услуга на поврзување"</string>
     <string name="voicemail" msgid="8693759337917898954">"Говорна пошта"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Говорна пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ГП:"</string>
     <string name="networks" msgid="8873030692174541976">"Оператори на мрежа"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Итни емитувања"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Поврзи се со податочни услуги во роаминг"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Поврзи се со податочни услуги во роаминг"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Изгубивте поврзување податоци зашто на вашата домашна мрежа исклучивте роаминг на податоци."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Да се дозволи користење податоци во роаминг? Може да важат високи трошоци."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Може да направите големи трошоци."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Дозволи роаминг на податоци?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Опции за GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Опции на CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Користење податоци"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Подеси режим TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Автоматски повторен обид"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Овозможи режим на автоматски повторен обид"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Промена на режим TTY не е дозволена за време на видеоповик"</string>
     <string name="menu_add" msgid="1882023737425114762">"Додај контакт"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Уреди контакт"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Избриши контакт"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Се чита од СИМ картичка..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Нема контакти на вашата СИМ картичка."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Избери контакти за увоз"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"За да увезете контакти од СИМ картичката, прво исклучете режим на работа во авион."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Исклучете го авионскиот режим за да ги увезете контактите од СИМ-картичката."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Овозможи/оневозможи ПИН на СИМ"</string>
     <string name="change_pin" msgid="9174186126330785343">"Промени ПИН на СИМ"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"ПИН на СИМ:"</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Спушти"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Повикува назад"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Порака"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"За да воспоставите повик, прво исклучете режим на работа во авион."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Исклучете го авионскиот режим за да повикате."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Исклучете го авионскиот режим или поврзете се на безжична мрежа за да повикате."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Не е регистриран на мрежа."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Не е достапна мобилна мрежа."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Не е достапна мобилна мрежа. Поврзете се на безжична мрежа за да повикате."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"За да повикате, внесете важечки број."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Не може да повика."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Започнува MMI низа..."</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Не може да оствари конференциски повици."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Не може да отфрли повик."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Не може да реализира повик(ци)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Поврзете се на безжична мрежа за да повикате."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Повик за итни случаи"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Вклучување радио..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Нема услуга. Се обидува повторно…"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Влезе во режим на повратни повици во итни случаи"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Режим на повратни повици во итни случаи"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Врската со податоците е оневозможена"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Нема врска на податоци <xliff:g id="COUNT">%s</xliff:g> минута"</item>
-    <item quantity="other" msgid="3122217344579273583">"Нема врска на податоци <xliff:g id="COUNT">%s</xliff:g> минути"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефонот ќе биде во режим на итни повратни повикувања <xliff:g id="COUNT">%s</xliff:g> минута. Додека е во овој режим не може да се користат апликации кои употребуваат врска со податоци. Дали сакате да излезете сега?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефонот ќе биде во режим на итни повратни повикувања <xliff:g id="COUNT">%s</xliff:g> минути. Додека е во овој режим не може да се користат апликации кои употребуваат врска со податоци. Дали сакате да излезете сега?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Избраното дејство не е достапно во режим за итни повратни повикувања. Телефонот ќе биде во овој режим <xliff:g id="COUNT">%s</xliff:g> минута. Дали сакате да излезете сега?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Избраното дејство не е достапно во режим за итни повратни повикувања. Телефонот ќе биде во овој режим <xliff:g id="COUNT">%s</xliff:g> минути. Дали сакате да излезете сега?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Нема врска на податоци <xliff:g id="COUNT_1">%s</xliff:g> минута</item>
+      <item quantity="other">Нема врска на податоци  <xliff:g id="COUNT_1">%s</xliff:g> минути</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минута. Кога е во овој режим, не може да се користат апликации што користат врска со податоци. Дали сакате да излезете сега?</item>
+      <item quantity="other">Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минути. Кога е во овој режим, не може да се користат апликации што користат врска со податоци. Дали сакате да излезете сега?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Избраното дејство не е достапно во режим на итен повик. Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минута. Дали сакате да излезете сега?</item>
+      <item quantity="other">Избраното дејство не е достапно во режим на итен повик. Телефонот ќе биде во режим на итен повик <xliff:g id="COUNT_1">%s</xliff:g> минути. Дали сакате да излезете сега?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Избраното дејство не е достапно при повик во итен случај."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Излегување од режим на повратен повик во итни случаи"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Да"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Итни повици"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Само итни повикувања"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"СИМ-картичка, отвор: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Пристапност"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Дојдовен повик преку Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Повик преку Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Допрете повторно за да отворите"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Настана грешка при дешифрирање на пораката."</string>
 </resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index ee1ef2e..3942c52 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -57,16 +57,16 @@
     <string name="labelCDMAMore" msgid="1630676740428229339">"CDMA കോൾ ക്രമീകരണങ്ങൾ"</string>
     <string name="apn_settings" msgid="9043423184895642077">"ആക്‌സസ്സ് പോയിന്റ് പേരുകൾ"</string>
     <string name="settings_label" msgid="3876743539816984008">"നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ"</string>
-    <string name="phone_accounts" msgid="6376603393888116364">"കോൾ ചെയ്യാനുള്ള അക്കൗണ്ടുകൾ"</string>
-    <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"ഇനിപ്പറയുന്നത് ഉപയോഗിച്ച് കോളുകൾ ചെയ്യുക"</string>
-    <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"ഇനിപ്പറയുന്നത് ഉപയോഗിച്ച് SIP കോളുകൾ ചെയ്യുക"</string>
-    <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"ആദ്യം ചോദിക്കുക"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"കോളുചെയ്യാനുള്ള അക്കൗണ്ട്"</string>
+    <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"ഇത് ഉപയോഗിച്ച് കോളുചെയ്യുക"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"ഇതുപയോഗിച്ച് SIP കോളുചെയ്യുക"</string>
+    <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"ആദ്യതവണ ചോദിക്കുക"</string>
     <string name="phone_accounts_settings_header" msgid="4141710640883261094">"ക്രമീകരണങ്ങൾ"</string>
     <string name="phone_accounts_choose_accounts" msgid="5232948804226424002">"അക്കൗണ്ടുകൾ തിരഞ്ഞെടുക്കുക"</string>
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ഫോൺ അക്കൗണ്ടുകൾ"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP അക്കൗണ്ട് ചേർക്കുക"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"അക്കൗണ്ട് ക്രമീകരണങ്ങൾ കോൺഫിഗർചെയ്യുക"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi കോളിംഗ്"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi കോളിംഗ്"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi കോൾ ചെയ്യൽ ഉപയോഗിക്കരുത്"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"കോൾ സഹായി ഉപയോഗിക്കരുത്"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ഒന്നുമില്ല"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"കോൺഫിഗർ ചെയ്യുക"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"അന്തർ നിർമ്മിത കണക്ഷൻ സേവനം"</string>
     <string name="voicemail" msgid="8693759337917898954">"വോയ്സ് മെയില്‍"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"വോയ്‌സ്‌മെയിൽ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"നെറ്റ്‌വർക്ക് ഓപ്പറേറ്റർമാർ"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"അടിയന്തര പ്രക്ഷേപണങ്ങൾ"</string>
@@ -157,7 +158,7 @@
     <string name="not_allowed" msgid="5613353860205691579">"നിങ്ങളുടെ സിം കാർഡ് ഈ നെറ്റ്‌വർക്കിലേക്ക് ഒരു കണക്ഷൻ അനുവദിക്കുന്നില്ല."</string>
     <string name="connect_later" msgid="2308119155752343975">"ഈ നെറ്റ്‌വർക്കിൽ ഇപ്പോൾ കണക്റ്റുചെയ്യാനാകുന്നില്ല. പിന്നീട് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="registration_done" msgid="495135664535876612">"ഒരു നെറ്റ്‌വർക്കിൽ രജിസ്റ്റർ ചെയ്‌തു."</string>
-    <string name="sum_carrier_select" msgid="3494252551249882718">"ഒരു നെ‌റ്റ്‌വർക്ക് ഓപ്പറേറ്റർ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="sum_carrier_select" msgid="3494252551249882718">"ഒരു നെ‌റ്റ്‌വർക്ക് ഓപ്പറേറ്ററെ തിരഞ്ഞെടുക്കുക"</string>
     <string name="sum_search_networks" msgid="2921092249873272715">"ലഭ്യമായ എല്ലാ നെറ്റ്‌വർക്കുകൾക്കായും തിരയുക"</string>
     <string name="select_automatically" msgid="5628402124471810174">"യാന്ത്രികമായി തിരഞ്ഞെടുക്കുക"</string>
     <string name="sum_select_automatically" msgid="5614890115123292400">"താൽപ്പര്യമുള്ള നെറ്റ്‌വർക്ക് യാന്ത്രികമായി തിരഞ്ഞെടുക്കുക"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"റോമിംഗിലാകുമ്പോൾ ഡാറ്റ സേവനങ്ങളുമായി കണ‌ക്റ്റുചെയ്യുക"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"റോമിംഗിലാകുമ്പോൾ ഡാറ്റ സേവനങ്ങളുമായി കണ‌ക്റ്റുചെയ്യുക"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"നിങ്ങൾ ഡാറ്റ റോമിംഗ് ഓഫുചെയ്‌തതിനൊപ്പം നിങ്ങളുടെ ഹോം നെ‌റ്റ്‌വർക്കും വിട്ടതിനാൽ നിങ്ങൾക്ക് ഡാറ്റ കണക്റ്റിവിറ്റി നഷ്‌ടപ്പെട്ടു."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"റോമിംഗിലായിരിക്കുമ്പോൾ ഡാറ്റ ഉപയോഗം അനുവദിക്കുക? നിശ്ചിത നിരക്കുകൾ ബാധകമായേക്കാം."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"നിങ്ങളിൽ നിന്ന് നിർദ്ദിഷ്‌ട നിരക്കുകൾ ഈടാക്കിയേക്കാം."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ഡാറ്റ റോമിംഗ് അനുവദിക്കണോ?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ഓപ്‌ഷനുകൾ"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA ഓപ്‌ഷനുകൾ"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ഡാറ്റ ഉപയോഗം"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY മോഡ് സജ്ജമാക്കുക"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"യാന്ത്രികമായി വീണ്ടും ശ്രമിക്കുക"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"യാന്ത്രികമായി വീണ്ടും ശ്രമിക്കൽ മോഡ് പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"വീഡിയോ കോൾ സമയത്ത് TTY മോഡ് മാറ്റം അനുവദനീയമല്ല"</string>
     <string name="menu_add" msgid="1882023737425114762">"കോൺടാക്റ്റ് ചേർക്കുക"</string>
     <string name="menu_edit" msgid="7143003705504672374">"കോൺടാക്റ്റ് എഡിറ്റുചെയ്യുക"</string>
     <string name="menu_delete" msgid="3977150783449642851">"കോണ്‍‌ടാക്റ്റ് ഇല്ലാതാക്കുക"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"സിം കാർഡിൽ നിന്നും റീഡുചെയ്യുന്നു…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"നിങ്ങളുടെ സിം കാർഡിൽ കോൺടാക്റ്റുകളൊന്നുമില്ല."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ഇമ്പോർറ്റുചെയ്യാനുള്ള കോൺടാക്റ്റുകൾ തിരഞ്ഞെടുക്കുക"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"സിം കാർഡിൽ നിന്നും കോൺടാക്റ്റുകൾ ഇമ്പോർട്ടുചെയ്യാൻ, ആദ്യം ഫ്ലൈറ്റ് മോഡ് ഓഫാക്കുക."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM കാർഡിൽ നിന്ന് കോൺടാക്റ്റുകൾ ഇമ്പോർട്ടുചെയ്യാൻ വിമാന മോഡ് ഓഫാക്കുക."</string>
     <string name="enable_pin" msgid="5422767284133234860">"സിം പിൻ പ്രവർത്തനക്ഷമമാക്കുക/പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="change_pin" msgid="9174186126330785343">"സിം പിൻ മാറ്റുക"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"സിം പിൻ:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"ഹാംഗ് അപ്പ് ചെയ്യുക"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"കോൾബാക്ക്"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"സന്ദേശം"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ഒരു കോൾ വിളിക്കാൻ, ആദ്യം ഫ്ലൈറ്റ് മോഡ് ഓഫുചെയ്യുക."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ഒരു കോൾ വിളിക്കാൻ വിമാന മോഡ് ഓഫാക്കുക."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ഒരു കോൾ വിളിക്കാൻ വിമാന മോഡ് ഓഫാക്കുക അല്ലെങ്കിൽ വയർലെസ്സ് നെറ്റ്‌വർക്കിലേക്ക് കണക്റ്റുചെയ്യുക."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"നെറ്റ്‌വർക്കിൽ രജിസ്റ്റർ ചെയ്‌തിട്ടില്ല."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"സെല്ലുലാർ നെറ്റ്‌വർക്ക് ലഭ്യമല്ല."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"സെല്ലുലാർ നെറ്റ്‌വർക്ക് ലഭ്യമല്ല. കോൾ വിളിക്കാൻ വയർലെസ്സ് നെറ്റ്‌വർക്കിലേക്ക് കണക്റ്റുചെയ്യുക."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ഒരു കോൾ ചെയ്യുന്നതിന്, സാധുതയുള്ള നമ്പർ നൽകുക."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"കോൾ ചെയ്യാനായില്ല."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI സീക്വൻസ് ആരംഭിക്കുന്നു…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"കോൺഫറൻസ് കോളുകൾ ചെയ്യാനായില്ല."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"കോൾ നിരസിക്കാനാവില്ല."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"കോൾ (കോളുകൾ) വിളിക്കാനാവില്ല."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ഒരു കോൾ വിളിക്കാൻ വയർലെസ്സ് നെറ്റ്‌വർക്കിലേക്ക് കണക്റ്റുചെയ്യുക."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"അടിയന്തര കോൾ"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"റേഡിയോ ഓൺ ചെയ്യുന്നു…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"സേവനമൊന്നുമില്ല. വീണ്ടും ശ്രമിക്കുന്നു…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"അടിയന്തര കോൾബാക്ക് മോഡിൽ പ്രവേശിച്ചു"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"അടിയന്തര കോൾബാക്ക് മോഡ്"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ഡാറ്റ കണക്ഷൻ പ്രവർത്തനരഹിതമാക്കി"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് ഡാറ്റ കണക്ഷൻ ലഭ്യമല്ല"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് ഡാറ്റ കണക്ഷൻ ലഭ്യമല്ല"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ഫോൺ <xliff:g id="COUNT">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കും. ഈ മോഡിലായിരിക്കുമ്പോൾ, ഒരു ഡാറ്റ കണക്ഷൻ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഉപയോഗിക്കാനാകില്ല. ഇപ്പോൾ പുറത്തുകടക്കണോ?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ഫോൺ <xliff:g id="COUNT">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കും. ഈ മോഡിലായിരിക്കുമ്പോൾ, ഒരു ഡാറ്റ കണക്ഷൻ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഉപയോഗിക്കാനാകില്ല. ഇപ്പോൾ പുറത്തുകടക്കണോ?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനം ലഭ്യമല്ല. ഫോൺ <xliff:g id="COUNT">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് ഈ മോഡിലായിരിക്കും. ഇപ്പോൾ പുറത്തുകടക്കണോ?"</item>
-    <item quantity="other" msgid="6115622137771382224">"അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനം ലഭ്യമല്ല. ഫോൺ <xliff:g id="COUNT">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് ഈ മോഡിലായിരിക്കും. ഇപ്പോൾ പുറത്തുകടക്കണോ?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് ഡാറ്റ കണക്ഷൻ ലഭ്യമല്ല</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> മിനിറ്റ് നേരത്തേക്ക് ഡാറ്റ കണക്ഷൻ ലഭ്യമല്ല</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ അടിയന്തര കോൾബാക്ക് മോഡിലാകും. ഈ മോഡിലാകുമ്പോൾ ഡാറ്റ കണക്ഷൻ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഉപയോഗിക്കാനാവില്ല. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ അടിയന്തര കോൾബാക്ക് മോഡിലാകും. ഈ മോഡിലാകുമ്പോൾ ഡാറ്റ കണക്ഷൻ ഉപയോഗിക്കുന്ന അപ്ലിക്കേഷനുകളൊന്നും ഉപയോഗിക്കാനാവില്ല. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനമൊന്നും ലഭ്യമാകില്ല. <xliff:g id="COUNT_1">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ ഈ മോഡിലാകും. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
+      <item quantity="one">അടിയന്തര കോൾബാക്ക് മോഡിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനമൊന്നും ലഭ്യമാകില്ല. <xliff:g id="COUNT_0">%s</xliff:g> മിനിറ്റിനുള്ളിൽ ഫോൺ ഈ മോഡിലാകും. നിങ്ങൾക്കിപ്പോൾ പുറത്തുപോകണോ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"അടിയന്തര കോളിലായിരിക്കുമ്പോൾ തിരഞ്ഞെടുത്ത പ്രവർത്തനം ലഭ്യമാകില്ല."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"നിലവിലെ അടിയന്തര കോൾബാക്ക് മോഡ്"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"വേണം"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"അടിയന്തിര കോളുകൾ"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"അടിയന്തിര കോൾചെയ്യൽ മാത്രം"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM കാർഡ്, സ്ലോട്ട്: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"പ്രവേശനക്ഷമത"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ഇൻകമിംഗ് Wi-Fi കോൾ"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi കോൾ"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"തുറക്കുന്നതിന് വീണ്ടും സ്‌പർശിക്കുക"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"സന്ദേശം ഡീകോഡുചെയ്യുമ്പോൾ ഒരു പിശകുണ്ടായി."</string>
 </resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 1b84b7b..14b084b 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Гар утасны акаунт"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP акаунт нэмэх"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Акаунтын тохиргоог хийх"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi дуудлага"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi дуудлага"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi дуудлагыг бүү ашигла"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Дуудлагын туслагчийг бүү ашигла"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Байхгүй"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Тохируулах"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Суурилагдсан холболтын үйлчилгээ"</string>
     <string name="voicemail" msgid="8693759337917898954">"Дуут шуудан"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Дуут шуудан ( <xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g> )"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ДШ:"</string>
     <string name="networks" msgid="8873030692174541976">"Сүлжээний операторууд"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Онцгой байдлын нэвтрүүлэг"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Роумингтэй үед дата үйлчилгээнд холбогдох"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Роумингтэй үед дата үйлчилгээнд холбогдох"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Та төрөлх сүлжээнээс дата роумингыг унтраагаад гарсан тул дата холболтоо алдлаа."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Чөлөөтэй хандах үед өгөгдөл ашиглахыг зөвшөөрөх үү? Төлбөрийн хэмжээ харьцангуй их гарахыг анхаарна уу."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Таны төлбөр өндөр гарах магадлалтайг анхааруулж байна."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Дата роуминг үйлчилгээг идэвхжүүлэх үү?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS Тохиргоо"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA Тохиргоо"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Дата ашиглалт"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY төлвийг тохируулах"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Автоматаар дахин оролдох"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Автоматаар дахин оролдох төлвийг идэвхжүүлэх"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Видео дуудлагын үед TTY горимыг өөрчилж үл болно"</string>
     <string name="menu_add" msgid="1882023737425114762">"Харилцагч нэмэх"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Харилцагчийг засварлах"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Харилцагч устгах"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM картаас уншиж байна…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Таны SIM картанд харилцагчид байхгүй байна."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Оруулах харилцагчдыг сонгоно уу"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Харилцагчдыг SIM картаас оруулахын тулд Нислэгийн төлвийг унтраана уу."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Сим картнаас дугаар импортлохын тулд онгоцны горимыг унтраа"</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN Идэвхжүүлэх/идэвхгүйжүүлэх"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN өөрчлөх"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Таслах"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Буцааж залгах"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Зурвас"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Дуудлага хийхийн тулд юуны өмнө Нислэгийн төлвийг идэвхгүйжүүлнэ үү."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Дуудлага хийхийн тулд онгоцны горимыг унтраа."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Дуудлага хийхийн тулд онгоцны горимыг унтраа эсвэл утасгүй интернетэд холбогдоно уу."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Сүлжээнд бүртгэгдээгүй."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Үүрэн сүлжээ байхгүй."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Үүрэн сүлжээнд холбогдох боломжгүй байна. Дуудлага хийхийн тулд утасгүй интернетэд холбогдоно уу."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Дуудлага хийхийн тулд хүчин төгөлдөр дугаар оруулна уу."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Дуудлага хийх боломжгүй байна."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI дарааллыг эхлүүлж байна…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Утсан хурал хийх боломжгүй."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Дуудлага татгалзах боломжгүй байна."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Дуудлага чөлөөлөх боломжгүй байна."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Дуудлага хийхийн тулд утасгүй интернетэд холбогдоно уу."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Ослын дуудлага"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Радиог асааж байна…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ажиллагаагүй байна. Дахин оролдоно уу..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Ослын Дуудлага хүлээн авах төлөвт орлоо"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Ослын Дуудлага хүлээн авах Төлөв"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Дата холболтыг идэвхгүйжүүлсэн"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Дата холболт <xliff:g id="COUNT">%s</xliff:g> минутын турш байхгүй"</item>
-    <item quantity="other" msgid="3122217344579273583">"Өгөгдлийн сүлжээ <xliff:g id="COUNT">%s</xliff:g> минутын турш байхгүй"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Утас Ослын Дуудлага хүлээн авах төлөвт <xliff:g id="COUNT">%s</xliff:g> минут байх болно. Энэ төлөвт өгөгдлийн сүлжээ ашигладаг ямар ч апп-г ашиглах боломжгүй. Энэ төлвөөс одоо гаргах уу?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Утас Ослын Дуудлага хүлээн авах төлөвт <xliff:g id="COUNT">%s</xliff:g> минут байх болно. Энэ төлөвт өгөгдлийн сүлжээ ашигладаг ямар ч аппликешнийг ашиглах боломжгүй. Энэ төлвөөс одоо гаргах уу?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Сонгосон үйлдлийг Ослын Дуудлага хүлээн авах төлөвт гүйцэтгэх боломжгүй. Утас энэ төлөвт <xliff:g id="COUNT">%s</xliff:g> минут байх болно. Энэ төлвөөс одоо гаргах уу?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Сонгосон үйлдлийг Ослын Дуудлага хүлээн авах төлөвт гүйцэтгэх боломжгүй. Утас энэ төлөвт <xliff:g id="COUNT">%s</xliff:g> минут байх болно. Энэ төлвөөс одоо гаргах уу?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Интернет <xliff:g id="COUNT_1">%s</xliff:g> минут тасарсан байна</item>
+      <item quantity="one">Интернет <xliff:g id="COUNT_0">%s</xliff:g> минут тасарсан байна</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Таны гар утас яаралтай түргэн тусламжийн дуудлагын хэлбэрт<xliff:g id="COUNT_1">%s</xliff:g> минут байна. Энэ горимд байгаа тохиолдолд интернет холболт ашигладаг ямар ч програмыг ашиглаж үл болно. Та гарахыг хүсэж байна уу?</item>
+      <item quantity="one">Таны гар утас яаралтай түргэн тусламжийн дуудлагын хэлбэрт <xliff:g id="COUNT_0">%s</xliff:g> минут байна. Энэ горимд байгаа тохиолдолд интернет холболт ашигладаг ямар ч програмыг ашиглаж үл болно. Та гарахыг хүсэж байна уу?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Сонгосон үйлдлийг яаралтай түргэн тусламжийн горимд байгаа үед ашиглах боломжгүй. Таны гар утас энэ горимд <xliff:g id="COUNT_1">%s</xliff:g> минут байх болно. Та гарахыг хүсэж байна уу?</item>
+      <item quantity="one">Сонгосон үйлдлийг яаралтай түргэн тусламжийн горимд байгаа үед ашиглах боломжгүй. Таны гар утас энэ горимд <xliff:g id="COUNT_0">%s</xliff:g> минут байх болно. Та гарахыг хүсэж байна уу?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Сонгосон үйлдлийг ослын дуудлагын үед гүйцэтгэх боломжгүй."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Ослын Дуудлага хүлээн авах төлвөөс гарч байна"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Тийм"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Яаралтай дуудлага"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Зөвхөн яаралтай дуудлага"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM карт, оролт: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Хандалт"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Орж ирсэн Wi-Fi дуудлага"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi дуудлага"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Нээхийн тулд дахин хүрнэ үү"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Зурвасын кодыг тайлах явцад алдаа гарсан."</string>
 </resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
index 32330d0..83706c4 100644
--- a/res/values-mr-rIN/strings.xml
+++ b/res/values-mr-rIN/strings.xml
@@ -57,7 +57,7 @@
     <string name="labelCDMAMore" msgid="1630676740428229339">"CDMA कॉल सेटिंग्ज"</string>
     <string name="apn_settings" msgid="9043423184895642077">"प्रवेश बिंदू नावे"</string>
     <string name="settings_label" msgid="3876743539816984008">"नेटवर्क सेटिंग्ज"</string>
-    <string name="phone_accounts" msgid="6376603393888116364">"कॉल करणे खाती"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"कॉल करण्याची खाती"</string>
     <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"यासह कॉल करा"</string>
     <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"यासह SIP कॉल करा"</string>
     <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"प्रथम विचारा"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"फोन खाती"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP खाते जोडा"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"खाते सेटिंग्ज कॉन्‍फिगर करा"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"वाय-फाय कॉल करणे"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"वाय-फाय कॉलिंग"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"वाय-फाय कॉल करणे वापरू नका"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"कॉल सहाय्यक वापरू नका"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"काहीही नाही"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"कॉन्फिगर करा"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"अंगभूत कनेक्शन सेवा"</string>
     <string name="voicemail" msgid="8693759337917898954">"व्हॉइसमेल"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"व्हॉइसमेल (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"नेटवर्क ऑपरेटर"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"आणीबाणी प्रसारणे"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"रोमिंग असताना डेटा सेवांना कनेक्ट करा"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"रोमिंग असताना डेटा सेवांना कनेक्ट करा"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"आपण डेटा रोमिंग बंद करून आपले होम नेटवर्क सोडल्यामुळे आपण डेटा कनेक्टिव्हिटी गमावली आहे."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"रोमिंग असताना डेटा वापरास अनुमती द्यायची? लक्षणीय शुल्क लागू शकतात."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"आपल्‍याला लक्षणीय रोमिंग शुल्‍क लागू शकते."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"डेटा रोमिंगला अनुमती द्यायची?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS पर्याय"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA पर्याय"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"डेटा वापर"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY मोड सेट करा"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"स्‍वयं-पुन्‍हा प्रयत्‍न करा"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"स्‍वयं-पुन्हा प्रयत्‍न करा मोड सक्षम करा"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"व्हिहिओ कॉल दरम्यान TTY मोड बदलास अनुमती नाही"</string>
     <string name="menu_add" msgid="1882023737425114762">"संपर्क जोडा"</string>
     <string name="menu_edit" msgid="7143003705504672374">"संपर्क संपादित करा"</string>
     <string name="menu_delete" msgid="3977150783449642851">"संपर्क हटवा"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"सिक कार्डमधून वाचत आहे..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"आपल्‍या सिम कार्डवर कोणतेही संपर्क नाहीत."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"आयात करण्यासाठी संपर्क निवडा"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"सिम कार्ड वरून संपर्क आयात करण्‍यासाठी, प्रथम विमान मोड बंद करा."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"सिम कार्डमधील संपर्क आयात करण्‍यासाठी विमान मोड बंद करा."</string>
     <string name="enable_pin" msgid="5422767284133234860">"सिम पिन सक्षम करा/अक्षम करा"</string>
     <string name="change_pin" msgid="9174186126330785343">"सिम पिन बदला"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"सिम पिन"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"हँग अप"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"पुन्हा कॉल करा"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"संदेश"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"कॉल करण्यासाठी, प्रथम विमान मोड बंद करा."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"कॉल करण्‍यासाठी विमान मोड बंद करा."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"कॉल करण्‍यासाठी विमान मोड बंद करा किंवा वायरलेस नेटवर्कशी कनेक्‍ट करा."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"नेटवर्कवर नोंदणीकृत नाही."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"सेल्युलर नेटवर्क उपलब्ध नाही."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"सेल्युलर नेटवर्क उपलब्‍ध नाही. कॉल करण्‍यासाठी वायरलेस नेटवर्कशी कनेक्‍ट करा."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"कॉल करण्यासाठी, एक वैध नंबर प्रविष्ट करा."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"कॉल करू शकत नाही."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI क्रम प्रारंभ करीत आहे..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"परिषद कॉल करण्‍यात अक्षम."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"कॉल नाकारू शकत नाही."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"कॉल रिलीझ करू शकत नाही."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"कॉल करण्‍यासाठी वायरलेस नेटवर्कशी कनेक्‍ट करा."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"आणीबाणीचा कॉल"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"रेडिओ चालू करीत आहे..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"सेवा नाही. पुन्हा प्रयत्न करत आहे…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"आणीबाणी कॉलबॅक मोड प्रविष्‍ट केला"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"आणीबाणी कॉलबॅक मोड"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"डेटा कनेक्शन अक्षम केले"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> मिनिटासाठी कोणतेही डेटा कनेक्‍शन नाही"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> मिनिटांसाठी कोणतेही डेटा कनेक्‍शन नाही"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"फोन <xliff:g id="COUNT">%s</xliff:g> मिनिटासाठी आणीबाणी कॉलबॅक मोडमध्‍ये असेल. या मोडमध्‍ये असताना डेटा कनेक्‍शन वापरणारे कोणतेही अ‍ॅप्‍स वापरले जाऊ शकत नाहीत. आपण आता बाहेर पडू इच्छिता?"</item>
-    <item quantity="other" msgid="8617116564023933114">"फोन <xliff:g id="COUNT">%s</xliff:g> मिनिटांसाठी आणीबाणी कॉलबॅक मोडमध्‍ये असेल. या मोडमध्‍ये असताना डेटा कनेक्‍शन वापरणारे कोणतेही अनुप्रयोग वापरले जाऊ शकत नाहीत. आपण आता बाहेर पडू इच्छिता?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"आणीबाणी कॉलबॅक मोडमध्‍ये असताना निवडलेली क्रिया उपलब्‍ध नाही. फोन <xliff:g id="COUNT">%s</xliff:g> मिनिटासाठी या मोडमध्‍ये असेल. आपण आता बाहेर पडू इच्छिता?"</item>
-    <item quantity="other" msgid="6115622137771382224">"आणीबाणी कॉलबॅक मोडमध्‍ये असताना निवडलेली क्रिया उपलब्‍ध नाही. फोन <xliff:g id="COUNT">%s</xliff:g> मिनिटांसाठी या मोडमध्‍ये असेल. आपण आता बाहेर पडू इच्छिता?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"><xliff:g id="COUNT_1">%s</xliff:g> मिनिटासाठी कोणतेही डेटा कनेक्‍शन नाही</item>
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> मिनिटांसाठी कोणतेही डेटा कनेक्‍शन नाही</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटासाठी आणीबाणी कॉलबॅक मोडमध्ये राहील. या मोडमध्ये असताना डेटा कनेक्शन वापरणारे कोणतेही अनुप्रयोग वापरले जाऊ शकत नाहीत. आपण आता बाहेर पडू इच्छिता?</item>
+      <item quantity="other">फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटांसाठी आणीबाणी कॉलबॅक मोडमध्ये राहील. या मोडमध्ये असताना डेटा कनेक्शन वापरणारे कोणतेही अनुप्रयोग वापरले जाऊ शकत नाहीत. आपण आता बाहेर पडू इच्छिता?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">आणीबाणी कॉलबॅक मोडमध्ये असताना निवडलेली क्रिया उपलब्ध नसते. फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटासाठी या मोडमध्ये राहील. आपण आता बाहेर पडू इच्छिता?</item>
+      <item quantity="other">आणीबाणी कॉलबॅक मोडमध्ये असताना निवडलेली क्रिया उपलब्ध नसते. फोन <xliff:g id="COUNT_1">%s</xliff:g> मिनिटांसाठी या मोडमध्ये राहील. आपण आता बाहेर पडू इच्छिता?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"आणीबाणीच्‍या कॉलमध्‍ये असताना निवडलेली क्रिया उपलब्‍ध नसते."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"आणीबाणी कॉलबॅक मोडमधून बाहेर पडत आहे"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"होय"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"आणीबाणी कॉल"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"केवळ आणीबाणी कॉल करणे"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"सिम कार्ड, स्लॉट: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"प्रवेशयोग्यता"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"येणारा वाय-फाय कॉल"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"वाय-फाय कॉल"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"उघडण्यासाठी पुन्हा स्पर्श करा"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"संदेश डीकोड करताना एक त्रुटी आली."</string>
 </resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 600eb98..f12d4d1 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Akaun telefon"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Tambah akaun SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurasi tetapan akaun"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Panggilan Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Panggilan Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Jangan gunakan panggilan Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Jangan gunakan pembantu panggilan"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Tiada"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurasi"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Perkhidmatan sambungan terbina dalam"</string>
     <string name="voicemail" msgid="8693759337917898954">"Mel suara"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Mel suara (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Pengendali rangkaian"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Siaran kecemasan"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Sambung ke perkhidmatan data apabila melakukan perayauan"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Bersambung ke perkhidmatan data semasa melakukan perayauan"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Anda telah kehilangan kesambungan data kerana anda meninggalkan rangkaian rumah anda dengan data perayauan dimatikan."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Benarkan penggunaan data semasa perayauan? Caj yang tinggi mungkin dikenakan."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Anda boleh dikenakan caj yang ketara."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Benarkan perayauan data?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Pilihan GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Pilihan CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Penggunaan data"</string>
@@ -330,7 +332,7 @@
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"Penyediaan perkhidmatan data"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"Tetapan pembawa"</string>
     <string name="fdn" msgid="7878832555095183202">"Nombor Dailan Tetap"</string>
-    <string name="fdn_with_label" msgid="187084204115493366">"Nombor Pendailan Tetap (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Nombor Dailan Tetap (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"Senarai FDN"</string>
     <string name="fdn_list_with_label" msgid="7437232552210469217">"Senarai FDN (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2156479741307463576">"Pengaktifan FDN"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Tetapkan mod TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Autocuba Semula"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Dayakan mod Autocuba Semula"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Pertukaran mod TTY tidak dibenarkan semasa panggilan video"</string>
     <string name="menu_add" msgid="1882023737425114762">"Tambah kenalan"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Edit kenalan"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Padamkan kenalan"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Membaca dari kad SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Tiada kenalan pada kad SIM anda."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Pilih kenalan untuk diimport"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Untuk mengimport kenalan dari kad SIM, mula-mula matikan mod Pesawat."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Matikan mod pesawat untuk mengimport kenalan daripada kad SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Dayakan/lumpuhkan PIN SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Tukar PIN SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Letakkan gagang"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Panggil balik"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesej"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Untuk membuat panggilan, matikan mod Pesawat terlebih dahulu."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Matikan mod pesawat untuk membuat panggilan."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Matikan mod pesawat atau sambungkan ke rangkaian wayarles untuk membuat panggilan."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tidak didaftarkan pada rangkaian."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rangkaian selular tidak tersedia."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Rangkaian selular tidak tersedia. Sambungkan ke rangkaian wayarles untuk membuat panggilan."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Untuk membuat panggilan, masukkan nombor yang sah."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Tidak dapat memanggil."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Memulakan jujukan MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Tidak boleh membuat panggilan sidang."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Tidak dapat menolak panggilan."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Tidak dapat melepaskan panggilan."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Sambungkan ke rangkaian wayarles untuk membuat panggilan."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Panggilan kecemasan"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Menghidupkan radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Tiada perkhidmatan. Mencuba lagi..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Telah Memasuki Mod Panggil Balik Kecemasan"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Mod Paggil Balik Kecemasan"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Sambungan data dilumpuhkan"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Tiada sambungan data selama <xliff:g id="COUNT">%s</xliff:g> minit"</item>
-    <item quantity="other" msgid="3122217344579273583">"Tiada sambungan data selama <xliff:g id="COUNT">%s</xliff:g> minit"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon akan berada dalam mod Panggilan Balik Kecemasan untuk <xliff:g id="COUNT">%s</xliff:g> minit. Semasa dalam mod ini tiada sebarang aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon akan berada dalam mod Panggilan Balik Kecemasan untuk <xliff:g id="COUNT">%s</xliff:g> minit. Semasa dalam mod ini tiada sebarang aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Tindakan yang dipilih tidak tersedia dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini untuk <xliff:g id="COUNT">%s</xliff:g> minit. Adakah anda mahu keluar sekarang?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Tindakan yang dipilih tidak tersedia dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini untuk <xliff:g id="COUNT">%s</xliff:g> minit. Adakah anda mahu keluar sekarang?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Tiada sambungan data selama <xliff:g id="COUNT_1">%s</xliff:g> minit</item>
+      <item quantity="one">Tiada sambungan data selama <xliff:g id="COUNT_0">%s</xliff:g> minit</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefon akan berada dalam mod Panggilan Balik Kecemasan selama <xliff:g id="COUNT_1">%s</xliff:g> minit. Semasa berada dalam mod ini tiada aplikasi yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?</item>
+      <item quantity="one">Telefon akan berada dalam mod Panggilan Balik Kecemasan selama <xliff:g id="COUNT_0">%s</xliff:g> seminit. Semasa berada dalam mod ini tiada apl yang menggunakan sambungan data boleh digunakan. Adakah anda mahu keluar sekarang?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Tindakan yang dipilih tidak tersedia semasa berada dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini selama <xliff:g id="COUNT_1">%s</xliff:g> minit. Adakah anda mahu keluar sekarang?</item>
+      <item quantity="one">Tindakan yang dipilih tidak tersedia semasa berada dalam mod Panggilan Balik Kecemasan. Telefon akan berada dalam mod ini selama <xliff:g id="COUNT_0">%s</xliff:g> minit. Adakah anda mahu keluar sekarang?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Tindakan yang dipilih tidak tersedia semasa berada dalam panggilan kecemasan."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Keluar Daripada mod Panggil Balik Kecemasan"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ya"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Panggilan kecemasan"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Panggilan kecemasan sahaja"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Kad SIM, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Kebolehaksesan"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Panggilan Wi-Fi masuk"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Panggilan Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Sentuh lagi untuk membuka"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Terdapat ralat semasa menyahkodkan mesej."</string>
 </resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
index 0cb93bf..ab96987 100644
--- a/res/values-my-rMM/strings.xml
+++ b/res/values-my-rMM/strings.xml
@@ -23,7 +23,7 @@
     <string name="fdnListLabel" msgid="8630418672279521003">"FDN အမှတ်စဉ်"</string>
     <string name="unknown" msgid="6878797917991465859">"အကြောင်းအရာ မသိရှိ"</string>
     <string name="private_num" msgid="6713286113000232309">"လျို့ဝှက် နံပါတ်"</string>
-    <string name="payphone" msgid="4793877574636445118">"ငွေပေးရသည့်ဖုန်း"</string>
+    <string name="payphone" msgid="4793877574636445118">"ငွေပေးရသည့်ဖုန်း"</string>
     <string name="onHold" msgid="9035493194749959955">"ခဏ ကိုင်ထားစဉ်"</string>
     <string name="mmiStarted" msgid="6347869857061147003">"MMIကုတ်နံပါတ်ကို စတင်ပြီးပါပြီ"</string>
     <string name="ussdRunning" msgid="485588686340541690">"USSD ကုဒ် လုပ်ဆောင်နေပါသည်…"</string>
@@ -47,7 +47,7 @@
     <string name="add_vm_number_str" msgid="4676479471644687453">"နံပါတ်ထပ်ထည့်ရန်"</string>
     <string name="puk_unlocked" msgid="2284912838477558454">"သင့် ဆင်းမ်ကဒ်အား ပိတ်ဆို့မှုကို ဖယ်ရှားပြီးပါပြီ။ သင့်ဖုန်းဟာ သော့ဖွင့်နေပါသည်…"</string>
     <string name="label_ndp" msgid="780479633159517250">"ဆင်းမ်ကဒ် ကွန်ရက် သော့ဖွင့်သော ပင်နံပါတ်"</string>
-    <string name="sim_ndp_unlock_text" msgid="683628237760543009">"ဖွင့်ရန်"</string>
+    <string name="sim_ndp_unlock_text" msgid="683628237760543009">"ဖွင့်ရန်"</string>
     <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"လွှတ်လိုက်သည်"</string>
     <string name="requesting_unlock" msgid="6412629401033249351">"ကွန်ယက်သော့ဖွင့်ခြင်း တောင်းဆိုနေပါသည်…"</string>
     <string name="unlock_failed" msgid="6490531697031504225">"ကွန်ယက်ဖွင့်ရန် တောင်းဆိုမှု မအောင်မြင်ပါ"</string>
@@ -55,9 +55,9 @@
     <string name="mobile_network_settings_not_available" msgid="3831911315358856062">"ဒီအသုံးပြုသူ အတွက် မိုဘိုင်း ကွန်ရက် ဆက်တင်များ မရှိ"</string>
     <string name="labelGSMMore" msgid="5930842194056092106">"ဂျီအက်စ်အမ် ခေါ်ဆိုမှု ဆက်တင်"</string>
     <string name="labelCDMAMore" msgid="1630676740428229339">"CDMA ဖုန်းခေါ်ဆိုမှု ဆက်တင်"</string>
-    <string name="apn_settings" msgid="9043423184895642077">"ချိတ်ဆက်သောပွိုင့်အမည်များ"</string>
+    <string name="apn_settings" msgid="9043423184895642077">"ချိတ်ဆက်သောပွိုင့်အမည်များ"</string>
     <string name="settings_label" msgid="3876743539816984008">"ကွန်ရက် ဆက်တင်များ"</string>
-    <string name="phone_accounts" msgid="6376603393888116364">"ခေါ်ဆိုသော အကောင့်များ"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"ခေါ်ဆိုသော အကောင့်များ"</string>
     <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"ဖြင့် ခေါ်ဆိုမှုများပြုလုပ်မည်"</string>
     <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"ဖြင့် SIP ခေါ်ဆိုမှုများ ပြုလုပ်မည်"</string>
     <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"အရင်မေးပါ"</string>
@@ -66,58 +66,59 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ဖုန်းအကောင့်များ"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP အကောင့်ပေါင်းထည့်မည်။"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"အကောင့် ချိန်ညှိချက်များ ပြုပြင်မည်"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"ကြိုးမဲ့ ခေါ်ဆိုမှု"</string>
-    <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ကြိုးမဲ့ ခေါ်ဆိုမှုကို မသုံးပါနှင့်"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"ဝိုင်ဖိုင် ခေါ်ဆိုမှု"</string>
+    <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ကြိုးမဲ့ ခေါ်ဆိုမှုကို မသုံးပါနှင့်"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ခေါ်ဆိုမှု အကူ အသုံးမပြုပါ"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"မရှိ"</string>
     <string name="wifi_calling_call_assistant" msgid="229102032881680320">"ခေါ်ဆိုမှု အကူ"</string>
     <string name="wifi_calling_use_call_assistant" msgid="8460024827012666199">"ခေါ်ဆိုမှု အကူအသုံးပြုမည်"</string>
     <string name="wifi_calling_select_call_assistant" msgid="9296558058772293">"ခေါ်ဆိုမှုအကူ ရွေးချယ်မည်"</string>
-    <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"ခေါ်ဆိုရန် အသုံးပြုသည့် ကွန်ရက်များကို စီမံကွပ်ကဲရန်"</string>
+    <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"ခေါ်ဆိုရန် အသုံးပြုသည့် ကွန်ရက်များကို စီမံကွပ်ကဲရန်"</string>
     <string name="wifi_calling_use_call_assistant_summary" msgid="6599987137133339698">"ခေါ်ဆိုမှုအတွက် အသုံးပြုမည့် ကွန်ရကန်များအား app များသို့မဟုတ် ဝန်ဆောင်မှုများကို စီမံစေမည်"</string>
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"ပုံပေါ်စေသည်"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"တပ်ဆင်ပြီး ချိတ်ဆက်ရေး ဝန်ဆောင်မှု"</string>
     <string name="voicemail" msgid="8693759337917898954">"အသံစာပို့စနစ်"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"အသံစာပို့စနစ် ( <xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g> )"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"အသံစာပို့နစ်အမှတ် -"</string>
     <string name="networks" msgid="8873030692174541976">"ကွန်ရက် အော်ပရေတာများ"</string>
-    <string name="cell_broadcast_settings" msgid="8740238216690502563">"အရေးပေါ် ထုတ်လွှင့်မှုများ"</string>
+    <string name="cell_broadcast_settings" msgid="8740238216690502563">"အရေးပေါ် ထုတ်လွှင့်မှုများ"</string>
     <string name="call_settings" msgid="6112441768261754562">"ခေါ်ဆိုခြင်း အဆင်အပြင်များ"</string>
     <string name="additional_gsm_call_settings" msgid="1391795981938800617">"ပိုမိုသော အပြင်အဆင်များ"</string>
     <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"နောက်ထပ် ချိန်ညှိချက်များ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"GSM ခေါ်ဆိုမှုအတွက်သာ ဖြည့်စွက်အပြင်အဆင်"</string>
+    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"GSM ခေါ်ဆိုမှုအတွက်သာ ဖြည့်စွက်အပြင်အဆင်"</string>
     <string name="additional_cdma_call_settings" msgid="8628958775721886909">"ပိုမိုသော CDMA ခေါ်ဆိုမှု အပြင်အဆင်"</string>
-    <string name="sum_cdma_call_settings" msgid="284753265979035549">"CDMA ခေါ်ဆိုမှုအတွက်သာ ဖြည့်စွက်အပြင်အဆင်"</string>
+    <string name="sum_cdma_call_settings" msgid="284753265979035549">"CDMA ခေါ်ဆိုမှုအတွက်သာ ဖြည့်စွက်အပြင်အဆင်"</string>
     <string name="labelNwService" msgid="4699970172021870983">"ကွန်ရက် ဝန်ဆောင်မှု ဆက်တင်"</string>
     <string name="labelCallerId" msgid="3888899447379069198">"ခေါ်ဆိုသူအိုင်ဒီ"</string>
     <string name="sum_loading_settings" msgid="1826692909391168620">"ဆက်တင်များကို ကြည့်ရှုရန် လုပ်နေပါသည်…"</string>
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"အထွက်ဖုန်းများတွင် နံပါတ်ဖျောက်ထားပါ"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"အထွက်ဖုန်းများတွင် နံပါတ်မြင်ရသည်"</string>
     <string name="sum_default_caller_id" msgid="1954518825510901365">"အထွက်ခေါ်ဆိုခြင်းများတွင် မိမိနံပါတ်အားပြသရန် ဝန်ဆောင်မှုပေးသူ၏ ပုံသေ ဆက်တင်ကို အသုံးပြုပါ"</string>
-    <string name="labelCW" msgid="6120513814915920200">"ခေါ်ဆိုမှု စောင့်ဆိုင်းခြင်း"</string>
+    <string name="labelCW" msgid="6120513814915920200">"ခေါ်ဆိုမှု စောင့်ဆိုင်းခြင်း"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"ဖုန်းပြောနေစဉ် အဝင်ခေါ်ဆိုမှုရှိပါက အသိပေးပါ"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"ဖုန်းပြောနေစဉ် အဝင်ခေါ်ဆိုမှုရှိပါက အသိပေးပါ"</string>
     <string name="call_forwarding_settings" msgid="3378927671091537173">"ဖုန်းခေါ်ဆိုမှု ထပ်မံလွှဲပြောင်းခြင်း အပြင်အဆင်"</string>
     <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"ခေါ်ဆိုမှု ထပ်ဆင့်ပို့ခြင်း ချိန်ညှိချက်များ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="labelCF" msgid="2574386948026924737">"အဝင်ခေါ်ဆိုမှုအား ထပ်ဆင့်ပို့ခြင်း"</string>
+    <string name="labelCF" msgid="2574386948026924737">"အဝင်ခေါ်ဆိုမှုအား ထပ်ဆင့်ပို့ခြင်း"</string>
     <string name="labelCFU" msgid="8147177368148660600">"အမြဲတမ်း ထပ်ဆင့်ပို့ပါ"</string>
     <string name="messageCFU" msgid="3560082430662923687">"ဤနံပါတ်ကို အမြဲသုံးပါ"</string>
-    <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"ခေါ်ဆိုမှုအားလုံးအား တဆင့်ထပ်ပို့နေသည်"</string>
-    <string name="sum_cfu_enabled" msgid="2450052502198827927">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအားလုံးအား တဆင့်ထပ်ပို့နေသည်"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"ခေါ်ဆိုမှုအားလုံးအား တဆင့်ထပ်ပို့နေသည်"</string>
+    <string name="sum_cfu_enabled" msgid="2450052502198827927">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအားလုံးအား တဆင့်ထပ်ပို့နေသည်"</string>
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"ဖုန်းနံပါတ်မှာ မရှိပါ"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"ပိတ်ထားရန်"</string>
     <string name="labelCFB" msgid="6139853033106283172">"မအားလပ်ချိန်"</string>
     <string name="messageCFB" msgid="3711089705936187129">"ဖုန်းမအားလျှင် ပို့ရန် နံပါတ်"</string>
-    <string name="sum_cfb_enabled" msgid="5984198104833116690">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအား တဆင့်ထပ်ပို့နေသည်"</string>
+    <string name="sum_cfb_enabled" msgid="5984198104833116690">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအား တဆင့်ထပ်ပို့နေသည်"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"ပိတ်ထားရန်"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"သင့် ဖုန်း အလုပ်များနေစဉ် call forwarding ပြုလုပ်မှု ပယ်ဖျက်ရန် သင့် အော်ပရေတာမှ ခွင့်မပြုပါ"</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"ဖုန်းမကိုင်ချိန်"</string>
     <string name="messageCFNRy" msgid="672317899884380374">"ဖုန်းမကိုင်လျှင်ပို့ရန် နံပါတ်"</string>
-    <string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအား တဆင့်ထပ်ပို့နေသည်"</string>
+    <string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအား တဆင့်ထပ်ပို့နေသည်"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"ပိတ်ထားရန်"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"သင့် ဖုန်း မကိုင်စဉ် call forwarding ပြုလုပ်မှု ပယ်ဖျက်ရန် သင့် အော်ပရေတာမှ ခွင့်မပြုပါ"</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"ဆက်သွယ်၍ မရချိန်"</string>
     <string name="messageCFNRc" msgid="6380695421020295119">"ဖုန်းခေါ်မရလျှင် ပို့ရန် နံပါတ်"</string>
-    <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအား တဆင့်ထပ်ပို့နေသည်"</string>
+    <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"<xliff:g id="PHONENUMBER">{0}</xliff:g> သို့ခေါ်ဆိုမှုအား တဆင့်ထပ်ပို့နေသည်"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"သုံးမရအောင် ပိတ်ထားခြင်း"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"သင့် ဖုန်း ဆက်သွယ်မှု လုပ်လို့မရစဉ် call forwarding ပြုလုပ်မှု ပယ်ဖျက်ရန် သင့် အော်ပရေတာမှ ခွင့်မပြုပါ"</string>
     <string name="updating_title" msgid="6146755386174019046">"ခေါ်ဆိုခြင်း အဆင်အပြင်များ"</string>
@@ -196,15 +197,16 @@
     <item msgid="1524224863879435516">"GSM သာ"</item>
     <item msgid="3817924849415716259">"GSM/WCDMA preferred"</item>
   </string-array>
-    <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"မြှင့်တင်ထား 4G LTE မုဒ်"</string>
+    <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"မြှင့်တင်ထား 4G LTE မုဒ်"</string>
     <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"အသံခေါ်ဆိုမှုနှင့် အခြားဆက်သွယ်ရေးများ တိုးတက်စေရန် LTE ဝန်ဆောင်မှုများ ကိုအသုံးပြုမည် (အကြံပြုထား)"</string>
-    <string name="data_enabled" msgid="5972538663568715366">"ဒေတာ ဖွင့်ထားပြီး"</string>
-    <string name="data_enable_summary" msgid="2382798156640007971">"ဒေတာ သုံးစွဲမှု ခွင့်ပြုရန်"</string>
+    <string name="data_enabled" msgid="5972538663568715366">"ဒေတာ ဖွင့်ထားပြီး"</string>
+    <string name="data_enable_summary" msgid="2382798156640007971">"ဒေတာ သုံးစွဲမှု ခွင့်ပြုရန်"</string>
     <string name="roaming" msgid="8871412572928323707">"ဒေတာရုန်းမင်း"</string>
     <string name="roaming_enable" msgid="7331106985174381987">"ရုန်းမင်းပြုလုပ်နေစဉ် ဒေတာဝန်ဆောင်မှုများကို ဆက်သွယ်ခြင်း"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"ရုန်းမင်းပြုလုပ်နေစဉ် ဒေတာဝန်ဆောင်မှုများကို ဆက်သွယ်ခြင်း"</string>
-    <string name="roaming_reenable_message" msgid="8913735676127858115">"ဒေတာဆက်သွယ်မှုပြတ်တောက်သွားပါသည် အဘယ်ကြောင့်ဆိုသော် သင့်အိမ်၏ကွန်ယက်မှထွက်ကာ ဒေတာရုန်းမင်းကွန်ယက်ကိုလဲပိတ်ထားသောကြောင့်ဖြစ်သည်"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"ရွမ်မင်းသုံးချိန်တွင် ဒေတာအသုံးပြုမှု ခွင့်ပြုမလား? သိသာသည့် ကုန်ကျမှုများ ရှိမည်ဖြစ်ပါသည်။"</string>
+    <string name="roaming_reenable_message" msgid="8913735676127858115">"ဒေတာဆက်သွယ်မှုပြတ်တောက်သွားပါသည် အဘယ်ကြောင့်ဆိုသော် သင့်အိမ်၏ကွန်ယက်မှထွက်ကာ ဒေတာရုန်းမင်းကွန်ယက်ကိုလဲပိတ်ထားသောကြောင့်ဖြစ်သည်"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"သိသာသည့် ငွေနူန်းထားသင့်အား ကျသင့်နိုင်ပါသည်။"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ကွန်ရက်ပြင်ပဒေတာအသုံးပြုခြင်း ခွင့်​ပြုမည်လား?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ရွေးချယ်မှုများ"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA ရွေးချယ်စရာများ"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ဒေတာအသုံးပြုမှု"</string>
@@ -217,7 +219,7 @@
     <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"<xliff:g id="USED_0">%1$s</xliff:g> အမြင့်ဆုံး ကျော်လွန်\nဒေတာနှုန်း <xliff:g id="USED_1">%2$d</xliff:g> Kb/s သို့လျှော့ချလိုက်သည်"</string>
     <string name="throttle_time_frame_subtext" msgid="7732763021560399960">"<xliff:g id="USED_0">%1$d</xliff:g>٪ ကုန်ဆုံးပြီး \n နောက်သတ်မှတ်ကာလစရန် <xliff:g id="USED_1">%2$d</xliff:g> ရက်(<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
     <string name="throttle_rate_subtext" msgid="2149102656120726855">"ဒေတာအသုံးပြုမှု သတ်မှတ်ချက်ထက်ကျော်လွန်ပါက ဒေတာမြန်နှုန်းဟာ <xliff:g id="USED">%1$d</xliff:g> Kb/s သို့လျှော့ချပါမည်"</string>
-    <string name="throttle_help_subtext" msgid="3633091498168446044">"သင့် အတွက် စီမံပေးသူ၏ မိုဘိုင်ကွန်ရက် ဒေတာအသုံးပြုမှု မူဝါဒ အကြောင်း အချက်အလက်များကို ပိုမိုသိရှိရန်"</string>
+    <string name="throttle_help_subtext" msgid="3633091498168446044">"သင့် အတွက် စီမံပေးသူ၏ မိုဘိုင်ကွန်ရက် ဒေတာအသုံးပြုမှု မူဝါဒ အကြောင်း အချက်အလက်များကို ပိုမိုသိရှိရန်"</string>
     <string name="cell_broadcast_sms" msgid="5584192824053625842">"စာတိုများ ဖြန့်ဝေခြင်းစနစ် စာတိုသည်"</string>
     <string name="enable_disable_cell_bc_sms" msgid="4851147873691392255">"စာတိုများ ဖြန့်ဝေခြင်းစနစ် စာတို"</string>
     <string name="cell_bc_sms_enable" msgid="6441688565738921084">"စာတိုများ ဖြန့်ဝေခြင်းစနစ် စာတို ကို ဖွင့်ထား"</string>
@@ -329,7 +331,7 @@
     <string name="cdma_activate_device" msgid="3793805892364814518">"စက်ကို အက်တီဗိတ် လုပ်ရန်"</string>
     <string name="cdma_lte_data_service" msgid="4255018217292548962">"ဒေတာဝန်ဆောင်မှု စတင်ရန်"</string>
     <string name="carrier_settings_title" msgid="9028166176523012300">"ဖုန်းလိုင်းဝန်ဆောင်မှုပေးသူ၏ အပြင်အဆင်"</string>
-    <string name="fdn" msgid="7878832555095183202">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်များ"</string>
+    <string name="fdn" msgid="7878832555095183202">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်များ"</string>
     <string name="fdn_with_label" msgid="187084204115493366">"အထိုင်ဖုန်းနံပါတ် (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"FDN စာရင်း"</string>
     <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN စာရင်း (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
@@ -341,7 +343,7 @@
     <string name="change_pin2" msgid="2153563695382176676">"ပင်နံပါတ်၂ ကို ပြောင်းရန်"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"FDN ကို ပယ်ဖျက်ရန်"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"FDN ကို သုံးနိုင်ရန်"</string>
-    <string name="sum_fdn" msgid="1959399454900272878">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားကြီးကြပ်သည်"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားကြီးကြပ်သည်"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"FDN သုံးစွဲမှုအတွက် ပင် နံပါတ်ပြောင်းပါ"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"ဖုန်းနံပါတ်စာရင်းကို ကြီးကြပ်ရန်"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"အသံလုံခြုံရေး"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"တယ်လီဖုန်းဖြင့် စာရိုက်ခြင်း သတ်မှတ်ပါ"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"အလိုအလျောက် ပြန်ကြိုးစားခြင်း"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"အလိုအလျောက် ပြန်ကြိုးစားခြင်းအား ပြုလုပ်ထားခြင်း"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ဗီဒီယိုခေါ်ဆိုမှုအတွင်း TTY မုဒ်ပြောင်းလဲရန် ခွင့်မပြုပါ"</string>
     <string name="menu_add" msgid="1882023737425114762">"လိပ်စာထပ်ထည့်ပါ"</string>
     <string name="menu_edit" msgid="7143003705504672374">"လိပ်စာပြင်ပါ"</string>
     <string name="menu_delete" msgid="3977150783449642851">"လိပ်စာဖျက်ပါ"</string>
@@ -357,23 +360,23 @@
     <string name="name" msgid="7329028332786872378">"အမည်"</string>
     <string name="number" msgid="7905950798349903858">"နံပါတ်"</string>
     <string name="save" msgid="4094274636321939086">"သိမ်းဆည်းသည်"</string>
-    <string name="add_fdn_contact" msgid="2481915899633353976">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားထည့်သည်"</string>
-    <string name="adding_fdn_contact" msgid="7627379633721940991">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားထည့်နေသည်"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားထည့်သည်"</string>
+    <string name="adding_fdn_contact" msgid="7627379633721940991">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားထည့်နေသည်"</string>
     <string name="fdn_contact_added" msgid="7458335758501736665">"ပုံသေခေါ်ဆိုမှု နံပါတ် ထပ်ထည့်ပြီး"</string>
-    <string name="edit_fdn_contact" msgid="7976936035587081480">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားပြင်သည်"</string>
-    <string name="updating_fdn_contact" msgid="8370929876849803600">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အား အဆင့်မြှင့်နေသည်"</string>
+    <string name="edit_fdn_contact" msgid="7976936035587081480">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားပြင်သည်"</string>
+    <string name="updating_fdn_contact" msgid="8370929876849803600">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အား အဆင့်မြှင့်နေသည်"</string>
     <string name="fdn_contact_updated" msgid="5497828782609005017">"ပုံသေခေါ်ဆိုမှု နံပါတ် ပြင်ဆင်ပြီး"</string>
-    <string name="delete_fdn_contact" msgid="6668958073074151717">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားဖျက်သည်"</string>
-    <string name="deleting_fdn_contact" msgid="5669163206349319969">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားဖျက်နေသည်"</string>
+    <string name="delete_fdn_contact" msgid="6668958073074151717">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားဖျက်သည်"</string>
+    <string name="deleting_fdn_contact" msgid="5669163206349319969">"ခေါ်ဆိုသည့်အခြေစိုက်နံပါတ်အားဖျက်နေသည်"</string>
     <string name="fdn_contact_deleted" msgid="7154162327112259569">"ပုံသေ ခေါ်ဆိုမှု နံပါတ် ဖျက်ပြီး"</string>
-    <string name="pin2_invalid" msgid="5470854099230755944">"ပင်နံပါတ် မမှန်သောကြောင့် FDNကို အဆင့်မြှင့်တင်ခြင်းမပြုလုပ်နိုင်ပါ"</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"ပင်နံပါတ် မမှန်သောကြောင့် FDNကို အဆင့်မြှင့်တင်ခြင်းမပြုလုပ်နိုင်ပါ"</string>
     <string name="fdn_invalid_number" msgid="1494755047900009147">"နံပါတ် အလုံးရေ (၂၀) ထက် ရှည်လို့ မရသောကြောင့် FDN ကို မပြင်ဆင်ဖြစ်ပါ"</string>
     <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN ပြောင်းလဲမှု မဖြစ်ပါ။ ပင်နံပါတ် ၂ မှားယွင်းခြင်း သို့မဟုတ် ဖုန်းနံပါတ်ကို ငြင်းဖယ်ခံရခြင်း တစ်ခုခုဖြစ်ပါသည်"</string>
     <string name="fdn_failed" msgid="540018079008319747">"FDN လုပ်ဆောင်ချက် မအောင်မြင်ပါ"</string>
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"ဆင်းမ်ကဒ်မှ ဖတ်နေပါသည်..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"ဆင်းမ်ကဒ်ထဲတွင် လိပ်စာများ မရှိပါ"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ထည့်ယူရန် လိပ်စာများ ရွေးပါ"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"ဆင်းမ်ကဒ်ထဲမှာ လိပ်စာများ ယူထည့်ရန် အရင်ဆုံး လေယာဉ်ပေါ်အသုံးပြုမှု စနစ်အား ပိတ်ပါ"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM ကဒ်မှ အဆက်အသွယ်များ သွင်းယူရန် လေယာဉ်ပျံမုဒ် ပိတ်ထားပါ။"</string>
     <string name="enable_pin" msgid="5422767284133234860">"ဆင်းမ် ပင်နံပါတ်ကို ပယ်ဖျက်၊ပြုလုပ်ရန်"</string>
     <string name="change_pin" msgid="9174186126330785343">"ဆင်းမ်ကဒ် ပင်နံပါတ်ပြောင်းရန်"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"ဆင်းမ်ကဒ် ပင်နံပါတ်:"</string>
@@ -434,10 +437,12 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"ဖုန်းချလိုက်ပါပြီ"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ပြန်ခေါ်ပါ"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"စာတို"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ဖုန်းခေါ်ဆိုမှုပြုရန်, လေယာဥ်ပျံပေါ်အသုံးပြုသောစနစ်ကို ပိတ်ပါ"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ဖုန်းခေါ်ရန် လေယာဉ်ပျံမုဒ် ပိတ်ထားပါ။"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ဖုန်းခေါ်ရန် လေယာဉ်ပျံမုဒ် ပိတ်ပါ သို့မဟုတ် ကြိုးမဲ့ကွန်ယက်သို့ ချိတ်ဆက်ပါ။"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ကွန်ယက်ပေါ်မှာ မှတ်ပုံတင်မှု မပြုလုပ်ထားပါ"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"ဆယ်လူလာ ကွန်ရက် မရှိပါ။"</string>
-    <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ဖုန်းခေါ်ရန်အတွက်၊ သင့်လျော်သည့်နံပါတ် ရိုက်ထည့်ပါ။"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"ဆဲလူလာ ကွန်ယက် မရပါ။ ဖုန်းခေါ်ရန် ကြိုးမဲ့ကွန်ယက်သို့ ချိတ်ဆက်ပါ။"</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ဖုန်းခေါ်ရန်အတွက်၊ သင့်လျော်သည့်နံပါတ် ရိုက်ထည့်ပါ။"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"မခေါ်ဆိုနိုင်ပါ။"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI အမှတ်စဉ်ကို စတင်နေပါသည်…"</string>
     <string name="incall_error_supp_service_unknown" msgid="655570339115407698">"ဤဝန်ဆောင်မှုအား မပံ့ပိုးပါ။"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ကွန်းဖရင့် ပြုလုပ်၍ မရပါ"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ဖုန်းခေါ်ခြင်းအား မငြင်းဆိုနိုင်ပါ။"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ဖုန်းခေါ်ခြင်း(များ)အား လွှတ်မပေးနိုင်ပါ။"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ဖုန်းခေါ်ရန် ကြိုးမဲကွန်ယက်တစ်ခုသို့ ချိတ်ဆက်ပါ။"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"အရေးပေါ်ခေါ်ဆိုမှု"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ရေဒီယို ဖွင့်နေစဉ်…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"ဝန်ဆောင်မှု မရှိပါ။ ထပ်မံကြိုးစားပါ…"</string>
@@ -457,7 +463,7 @@
     <string name="onscreenEndCallText" msgid="4403855834875398585">"ပြီးပါပြီ"</string>
     <string name="onscreenShowDialpadText" msgid="8561805492659639893">"နံပါတ်ကွက်"</string>
     <string name="onscreenMuteText" msgid="5011369181754261374">"အသံတိတ်"</string>
-    <string name="onscreenAddCallText" msgid="5140385634712287403">"ဖုန်းခေါ်မှု ထပ်ထည့်ပါ"</string>
+    <string name="onscreenAddCallText" msgid="5140385634712287403">"ဖုန်းခေါ်မှု ထပ်ထည့်ပါ"</string>
     <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ဖုန်းခေါ်မှုများကို ပူးပေါင်းသည်"</string>
     <string name="onscreenSwapCallsText" msgid="1602990689244030047">"လဲပြောင်းသည်"</string>
     <string name="onscreenManageCallsText" msgid="5473231160123254154">"ဖုန်းခေါ်မှုကို ကြီးကြပ်သည်"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှုအား ရိုက်သွင်းပြီး"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှု"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ဒေတာဆက်သွယ်မှု မရှိပါ"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> မိနစ် ဒေတာဆက်သွယ်မှု မရှိပါ။"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> မိနစ် ဒေတာဆက်သွယ်မှု  မရှိပါ။"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ဖုန်းဟာ အရေးပေါ်ပြန်ခေါ်ရေး အခြေအနေမှာ <xliff:g id="COUNT">%s</xliff:g> မိနစ် ဖြစ်နေပါမည်။ ဒီအခြေအနေမှာ ရှိနေစဉ် ဒေတာ သုံးစွဲသော အပ်ပလီကေးရှင်းများ အသုံးပြုလို့ မရပါ။ ဒီကနေ ထွက်ချင်ပါသလား?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ဖုန်းဟာ အရေးပေါ်ပြန်ခေါ်ရေး အခြေအနေမှာ <xliff:g id="COUNT">%s</xliff:g> မိနစ် ဖြစ်နေပါမည်။ ဒီအခြေအနေမှာ ရှိနေစဉ် ဒေတာ သုံးစွဲသော အပ်ပလီကေးရှင်းများ အသုံးပြုလို့ မရပါ။ ဒီကနေ ထွက်ချင်ပါသလား?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"ရွေးချယ်သော အပြုအမူဟာ အရေးပေါ် ပြန်ခေါ်မှု အခြေအနေမှာ မပြုလုပ်နိုင်ပါ။ ဖုန်းဟာ ဒီအခြေအနေမှာ <xliff:g id="COUNT">%s</xliff:g> မိနစ် ရှိနေမှာ ဖြစ်ပါသည်။ ဒီကနေ ထွက်ချင်ပါသလား?"</item>
-    <item quantity="other" msgid="6115622137771382224">"ရွေးချယ်သော အပြုအမူဟာ အရေးပေါ် ပြန်ခေါ်မှု အခြေအနေမှာ မပြုလုပ်နိုင်ပါ။ ဖုန်းဟာ ဒီအခြေအနေမှာ <xliff:g id="COUNT">%s</xliff:g> မိနစ် ရှိနေမှာ ဖြစ်ပါသည်။  ဒီကနေ ထွက်ချင်ပါသလား?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"> ဒေတာဆက်သွယ်မှု <xliff:g id="COUNT_1">%s</xliff:g> မိနစ်မရှိပါ</item>
+      <item quantity="one"> ဒေတာဆက်သွယ်မှု <xliff:g id="COUNT_0">%s</xliff:g> မိနစ်မရှိပါ</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other"> ဖုန်းသည် <xliff:g id="COUNT_1">%s</xliff:g> မိနစ်လောက် အရေးပေါ် ပြန်ခေါ်ခြင်းမုဒ်တွင် ရှိနေလိမ့်မည်။ ဤမုဒ်တွင် ဒေတာချိတ်ဆက်မှုအသုံးပြုသည့် app များကို အသုံးပြု၍ ရနိုင်မည်မဟုတ်ပါ။ ယခုထွက်လိုပါသလား? </item>
+      <item quantity="one"> ဖုန်းသည် <xliff:g id="COUNT_0">%s</xliff:g> မိနစ်လောက် အရေးပေါ် ပြန်ခေါ်ခြင်းမုဒ်တွင် ရှိနေလိမ့်မည်။ ဤမုဒ်တွင် ဒေတာချိတ်ဆက်မှုအသုံးပြုသည့် app များကို အသုံးပြု၍ ရနိုင်မည်မဟုတ်ပါ။ ယခုထွက်လိုပါသလား?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other"> ရွေးချယ်ထားသော အပြုအမူမှာ အရေပေါ်ခေါ်ဆိုမှုပြုလုပ်နေစဉ် မရှိနိုင်ပါ။ ဖုန်းသည်ဤ မုဒ်တွင် <xliff:g id="COUNT_1">%s</xliff:g> မိနစ်ရှိနေမည်ဖြစ်သည်။ ယခုထွက်လိုပါသလား?</item>
+      <item quantity="one"> အရေးပေါ် ပြန်လည်ခေါ်ဆိုခြင်းမုဒ်တွင် ရွေးချယ်သည့် လုပ်ရပ်မလုပ်ဆောင်နိုင်ပါ။ ဖုန်းသည်ဤ မုဒ်တွင် <xliff:g id="COUNT_0">%s</xliff:g> မိနစ်ရှိနေမည်ဖြစ်သည်။ ယခုထွက်လိုပါသလား?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"ရွေးချယ်ထားသော အပြုအမူမှာ အရေပေါ်ခေါ်ဆိုမှုပြုလုပ်နေစဉ် မရှိနိုင်ပါ"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"အရေးပေါ်ပြန်လည်ခေါ်ဆိုမှု အခြေအနေအား ထွက်ပါမည်"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ဟုတ်သည်"</string>
@@ -538,14 +544,19 @@
     <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"တုန်ခါခြင်း"</string>
     <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"တုန်ခါခြင်း"</string>
     <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"အသံ"</string>
-    <string name="dial_pad_autocomplete" msgid="7683489952557536398">"နံပါတ်ကွက် အလိုအလျောက်ဖြည့်ရန်"</string>
+    <string name="dial_pad_autocomplete" msgid="7683489952557536398">"နံပါတ်ကွက် အလိုအလျောက်ဖြည့်ရန်"</string>
     <string name="preference_category_ringtone" msgid="5197960752529332721">"ဖုန်းမြည်သံ &amp; တုန်ခါသံ"</string>
     <string name="pstn_connection_service_label" msgid="1743245930577325900">"တပ်ဆင်ပြီး ဆင်းမ် ကဒ်များ"</string>
-    <string name="enable_video_calling_title" msgid="7237253660669000899">"ဗီဒီယို ခေါ်ဆိုမှုများကို ဖွင့်ထားရန်"</string>
+    <string name="enable_video_calling_title" msgid="7237253660669000899">"ဗီဒီယို ခေါ်ဆိုမှုများကို ဖွင့်ထားရန်"</string>
     <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"ဗွီဒီယို ခေါ်ဆိုမှု ဖွင့်ရန်၊ မြှင့်ထားသည့် 4G LTE မုဒ်ကို ကွန်ရက် ချိိန်ညှိချက်များတွင် ဖွင့်ပေးရပါမည်။"</string>
     <string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"ကွန်ရက် ဆက်တင်များ"</string>
     <string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"ပိတ်ရန်"</string>
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"အရေးပေါ် ခေါ်ဆိုမှုများ"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"အရေးပေါ် ခေါ်ဆိုမှုသာလျှင်"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM ကဒ်၊ အပေါက်: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ရယူသုံးနိုင်မှု"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ဝင်လာသော ဝိုင်ဖိုင်ခေါ်ဆိုမှု"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"ဝိုင်ဖိုင်ခေါ်ဆိုမှု"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"ဖွင့်ရန် ထပ်ပြီး ထိပါ"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"စာကို ကုဒ်ဖွင့်နေစဉ် အမှားရှိခဲ့သည်။"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 0258a24..554c929 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefonkontoer"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Legg til SIP-konto"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurer kontoinnstillingene"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi-anrop"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-anrop"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ikke bruk Wi-Fi for å ringe"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ikke bruk ringeassistenten"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ingen"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurer"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Innebygd tilkoblingstjeneste"</string>
     <string name="voicemail" msgid="8693759337917898954">"Telefonsvarer"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Talpostkasse (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Svarer:"</string>
     <string name="networks" msgid="8873030692174541976">"Nettoperatører"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Nødvarsler"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Koble til datatjenester ved roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Koble til datatjenester ved roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Du har mistet datatilkoblingen fordi du forlot hjemmenettet med roaming avslått."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Vil du tillate databruk ved roaming? Dette kan medføre betydelige kostnader."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Det kan medføre betydelige kostnader."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Vil du tillate roaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS-innstillinger"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-innstillinger"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Databruk"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Velg TTY-modus"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatisk nytt forsøk"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktiver Automatisk nytt forsøk"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Endring av TTY-modus under videosamtaler er ikke tillatt"</string>
     <string name="menu_add" msgid="1882023737425114762">"Legg til kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Rediger kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Fjern kontakt"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Leser fra SIM-kort…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Ingen kontakter på SIM-kortet."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Velg kontakter som skal importeres"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Du må slå av flymodus før du kan importere kontakter fra SIM-kortet."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Slå av flymodus for å importere kontakter fra SIM-kortet."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Slå av/på PIN-kode for SIM-kort"</string>
     <string name="change_pin" msgid="9174186126330785343">"Endre PIN-kode for SIM-kort"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM-kortets PIN-kode:"</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Legg på"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ring tilbake"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Melding"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"For å ringe, slå av flymodus først."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Slå av flymodus for å ringe."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Slå av flymodus eller koble til et trådløst nettverk for å ringe."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ikke registrert på nettverket."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilnettverket er ikke tilgjengelig."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilnettverk er ikke tilgjengelig. Koble til et trådløst nettverk for å ringe."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Skriv inn et gyldig nummer for å plassere en samtale."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Kan ikke ringe."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Begynner MMI-sekvens…"</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Kan ikke opprette telefonmøte."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Kan ikke avvise anropet."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Kan ikke frigjøre samtale(r)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Koble til et trådløst nettverk for å ringe."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Nødanrop"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Slår på radio…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ingen tjeneste. Prøver på nytt …"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Startet modusen nødsamtale-tilbakeringing"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modusen nødsamtale-tilbakeringing"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Datatilkobling deaktivert"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Ingen datatilkobling i <xliff:g id="COUNT">%s</xliff:g> minutt"</item>
-    <item quantity="other" msgid="3122217344579273583">"Ingen datatilkobling i <xliff:g id="COUNT">%s</xliff:g> minutter"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefonen kommer til å være i nødsamtalemodus i <xliff:g id="COUNT">%s</xliff:g> minutt. Ingen apper som bruker en datatilkobling, kan brukes i denne modusen. Vil du avslutte nå?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefonen kommer til å være i nødsamtalesmodus i <xliff:g id="COUNT">%s</xliff:g> minutter. Ingen apper som bruker en datatilkobling, kan brukes i denne modusen. Vil du avslutte nå?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen kommer til å være i denne modusen i <xliff:g id="COUNT">%s</xliff:g> minutt(er). Vil du avslutte nå?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen kommer til å være i denne modusen i <xliff:g id="COUNT">%s</xliff:g> minutter. Vil du avslutte nå?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Ingen datatilkobling i <xliff:g id="COUNT_1">%s</xliff:g> minutter</item>
+      <item quantity="one">Ingen datatilkobling i <xliff:g id="COUNT_0">%s</xliff:g> minutt</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefonen er i nødsamtalemodus i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Når telefonen er i denne modusen, kan du ikke bruke apper som krever datatilkobling. Vil du avslutte nå?</item>
+      <item quantity="one">Telefonen er i nødsamtalemodus i <xliff:g id="COUNT_0">%s</xliff:g> minutt. Når telefonen er i denne modusen, kan du ikke bruke apper som krever datatilkobling. Vil du avslutte nå?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen er i nødsamtalemodus i <xliff:g id="COUNT_1">%s</xliff:g> minutter. Vil du avslutte nå?</item>
+      <item quantity="one">Den valgte handlingen er ikke tilgjengelig i nødsamtalemodus. Telefonen er i denne modusen i <xliff:g id="COUNT_0">%s</xliff:g> minutt. Vil du avslutte nå?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Den valgte handlingen er ikke mulig under en nødsamtale."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Avslutter modusen nødsamtale-tilbakeringing"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ja"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Nødanrop"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Kun nødanrop"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kort, spor: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Tilgjengelighet"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Wi-Fi-oppringing inn"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Oppringing via Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Trykk på nytt for å åpne"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Det oppsto en feil under dekoding av meldingen."</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
index 9f75ead..6c1558a 100644
--- a/res/values-ne-rNP/strings.xml
+++ b/res/values-ne-rNP/strings.xml
@@ -31,11 +31,11 @@
     <string name="cancel" msgid="5044513931633602634">"रद्द गर्नुहोस्"</string>
     <string name="enter_input" msgid="1810529547726803893">"USSD सन्देश  <xliff:g id="MIN_LEN">%d</xliff:g> र <xliff:g id="MAX_LEN">%d</xliff:g> अक्षरहरूका बिच हुनै पर्दछ। कृपया पुनःप्रयास गर्नुहोस्।"</string>
     <string name="manageConferenceLabel" msgid="4691922394301969053">"सम्मेलन कल प्रबन्ध गर्नुहोस्"</string>
-    <string name="ok" msgid="3811371167865772377">"ठिक छ"</string>
+    <string name="ok" msgid="3811371167865772377">"ठीक छ"</string>
     <string name="audio_mode_speaker" msgid="27649582100085266">"स्पिकर"</string>
     <string name="audio_mode_earpiece" msgid="4156527186373869107">"ह्यान्डसेट इयरपिस"</string>
     <string name="audio_mode_wired_headset" msgid="1465350758489175975">"तारसहितको हेडसेट"</string>
-    <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ब्लुटुथ"</string>
+    <string name="audio_mode_bluetooth" msgid="3047641300848211128">"ब्लुटूथ"</string>
     <string name="wait_prompt_str" msgid="7601815427707856238">"निम्न टोनहरू पठाउने? \n"</string>
     <string name="pause_prompt_str" msgid="1789964702154314806">"टोनहरू \n पठाउँदै"</string>
     <string name="send_button" msgid="4106860097497818751">"पठाउनुहोस्"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"फोन खाता"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP खाता थप्नुहोस्"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"खाता सेटिङ कन्फिगर गर्नुहोस्"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi कलिङ"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi कलिङ"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi कल प्रयोग नगर्नुहोस्"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"कल सहायक प्रयोग नगर्नुहोस्"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"कुनै पनि होइन"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"कन्फिगर गर्नुहोस्"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"निर्मित जडान सेवा"</string>
     <string name="voicemail" msgid="8693759337917898954">"भ्वाइसमेल"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"भ्वाइस मेल (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"नेटवर्क संचालकहरू"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"आकस्मिक प्रसारणहरू"</string>
@@ -93,7 +94,7 @@
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"बहिर्गमन कलहरूमा नम्बर लुकाइएको"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"बहिर्गमन कलहरूमा प्रदर्शित नम्बर"</string>
     <string name="sum_default_caller_id" msgid="1954518825510901365">"बहिर्गमन कलमा मेरो नम्बर देखाउन पूर्वनिर्धारित अपरेटर सेटिङहरू प्रयोग गर्नुहोस्"</string>
-    <string name="labelCW" msgid="6120513814915920200">"कल प्रतिक्षा गर्दै"</string>
+    <string name="labelCW" msgid="6120513814915920200">"कल प्रतीक्षा गर्दै"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"कल गरेको बखत मलाई आगमन कलको जानकारी गराउनुहोस्"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"कल गरेको बेलामा आगमन कलहरूको बारेमा मलाई जानकारी गराउनुहोस्"</string>
     <string name="call_forwarding_settings" msgid="3378927671091537173">"कल फर्वार्डिङ सेटिङहरू"</string>
@@ -131,7 +132,7 @@
     <string name="exception_error" msgid="7027667130619518211">"नेटवर्क वा SIM कार्ड त्रुटि।"</string>
     <string name="fdn_check_failure" msgid="18200614306525434">"तपाईंको फोन अनुप्रयोग स्थिर डायल गर्ने नम्बर सेटिङहरू खोलिएको छ। केही कल-सम्बन्धित विशेषताहरूले कार्य गरिरहेका छैनन्।"</string>
     <string name="radio_off_error" msgid="2304459933248513376">"यी सेटिङहरू हेर्नु पहिले रेडियो खोल्नुहोस्।"</string>
-    <string name="close_dialog" msgid="2365884406356986917">"ठिक छ"</string>
+    <string name="close_dialog" msgid="2365884406356986917">"ठीक छ"</string>
     <string name="enable" msgid="7248657275000173526">"सकृय पार्नुहोस्"</string>
     <string name="disable" msgid="4678348128118573672">"निस्कृय पार्नुहोस्"</string>
     <string name="change_num" msgid="239476305819844391">"अपडेट गर्नुहोस्"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"रोमिङको समयमा डेटा सेवामा जडान गर्नुहोस्"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"रोमिङको समयमा डेटा सेवा जडान गर्नुहोस्"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"तपाईँले डेटा गुमाउनु भएको छ किनभने तपाईँले डेटासहितको घर नेटवर्क रोमिङ बन्द गरेर छोड्नुभएको छ।"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"रोमिङ हुँदा डेटा उपयोग अनुमति दिने हो? महत्वपूर्ण शुल्क लागू हुन सक्छ।"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"तपाईंलाई महत्त्वपूर्ण शुल्क लाग्न सक्छ।"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"डेटा रोमिङको अनुमति दिने हो?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS  विकल्पहरू"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA विकल्पहरू"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"डेटा उपयोग"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY मोड सेट गर्नुहोस्"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"स्वतः पुनः प्रयास गर्नुहोस्"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"स्वतः-पुनः प्रयास मोड सक्षम गर्नुहोस्"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"भिडियो कल गर्ने क्रममा TTY मोड परिवर्तन गर्न अनुमति छैन"</string>
     <string name="menu_add" msgid="1882023737425114762">"सम्पर्क थप्नुहोस्"</string>
     <string name="menu_edit" msgid="7143003705504672374">"सम्पर्क सम्पादन गर्नुहोस्"</string>
     <string name="menu_delete" msgid="3977150783449642851">"सम्पर्क मेटाउनुहोस्"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM कार्ड पढ्दै..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"तपाईँको SIM कार्डमा कुनै पनि सम्पर्क छैन।"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"सम्पर्कहरू आयात गर्न चयन गर्नुहोस्"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM कार्डबाट सम्पर्क आयात गर्न पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM कार्डबाट सम्पर्कहरू आयात गर्न हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN सक्षम/अक्षम गर्नुहोस्"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN परिवर्तन गर्नुहोस्"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"छुटाउनुहोस्"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"फेरि कल गर्नुहोस्"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"सन्देश"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"कल राख्नका लागि, पहिले हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"एक कल गर्न हवाइजहाज मोड बन्द गर्नुहोस्।"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"एक कल गर्न हवाइजहाज मोड बन्द गर्नुहोस् वा एक ताररहितको सञ्जालमा जडान गर्नुहोस्।"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"नेटवर्कमा दर्ता भएको छैन।"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"सेलुलर सञ्जाल उपलब्ध छैन।"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"सेलुलर सञ्जाल उपलब्ध छैन। एक कल गर्न ताररहितको सञ्जालमा जडान गर्नुहोस्।"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"एक कल गर्नको लागि, एक वैध नम्बर प्रविष्ट गर्नुहोस्।"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"कल गर्न सक्दैन।"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI अनुक्रम सुरु गर्दै..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"सम्मेलन कलहरू गर्न असमर्थ।"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"कल अस्वीकार गर्न सक्दैन।"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"कल (हरू) जारी गर्न सकिँदैन ।"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"एक कल गर्न एक ताररहितको सञ्जालमा जडान गर्नुहोस्।"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"आपतकालीन कल"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"रेडियो खोल्दै..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"कुनै सेवा छैन। फेरि प्रयास गर्दै ..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"आपतकालीन कलब्याक मोड प्रविष्टि गरियो"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"आपतकालीन कलब्याक मोड"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"डेटा जडान अक्षम भयो"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> मिनेटका लागि कुनै पनि डेटा सम्पर्क उपलब्ध छैन"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> मिनटका लागि डेटा जडान छैन"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"फोन <xliff:g id="COUNT">%s</xliff:g> मिनटका लागि आपतकालिन कलब्याक मोडमा हुने छ। यो मोडमा हुँदा अनुप्रयोग बिना नै  डेटा जडान प्रयोग गरेर प्रयोग गर्न सकिन्छ। के तपाईं अहिले निस्कन चाहनु हुन्छ?"</item>
-    <item quantity="other" msgid="8617116564023933114">"फोन <xliff:g id="COUNT">%s</xliff:g> मिनटका लागि आपतकालिन कलब्याक मोडमा हुने छ। यो मोडमा हुँदा अनुप्रयोग बिना नै डेटा जडान प्रयोग गरेर प्रयोग गर्न सकिन्छ। के तपाईं अहिले निस्कन चाहनु हुन्छ?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"चयन कार्य आपतकालिन कलब्याक मोडमा हुँदा यो उपलब्ध हुँदैन। फोन <xliff:g id="COUNT">%s</xliff:g> मिनटका लागि आपतकालिन कलब्याक मोडमा हुने छ। के तपाईं अहिले निस्कन चाहनु हुन्छ?"</item>
-    <item quantity="other" msgid="6115622137771382224">"चयन कार्य आपतकालिन कलब्याक मोडमा हुँदा यो उपलब्ध हुँदैन। फोन <xliff:g id="COUNT">%s</xliff:g> मिनटका लागि आपतकालिन कलब्याक मोडमा हुने छ। के तपाईं अहिले निस्कन चाहनुहुन्छ?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"> <xliff:g id="COUNT_1">%s</xliff:g> मिनेटको लागि कुनै डेटा जडान छैन</item>
+      <item quantity="one"> <xliff:g id="COUNT_0">%s</xliff:g> मिनेटको लागि कुनै डेटा जडान छैन</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other"> फोन आपतकालीन कलब्याक मोडमा <xliff:g id="COUNT_1">%s</xliff:g> मिनेटको लागि हुनेछ। यस मोडको अवस्थामा एक डेटा जडान प्रयोग गरेर कुनै पनि अनुप्रयोगहरू प्रयोग गर्न सकिँदैन। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
+      <item quantity="one"> फोन आपतकालीन कलब्याक मोडमा <xliff:g id="COUNT_0">%s</xliff:g> मिनेटको लागि हुनेछ। यस मोडको समयमा एक डेटा जडान प्रयोग गरेर कुनै पनि अनुप्रयोगहरू प्रयोग गर्न सकिँदैन। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other"> आपतकालीन कलब्याक मोडको समयमा चयनित कार्य उपलब्ध छैन। फोन यस मोडमा <xliff:g id="COUNT_1">%s</xliff:g> मिनेटको लागि हुनेछ। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
+      <item quantity="one"> आपतकालीन कलब्याक मोडको समयमा चयनित कार्य उपलब्ध छैन। फोन यस मोडमा <xliff:g id="COUNT_0">%s</xliff:g> मिनेटको लागि हुनेछ। के तपाईं अहिले निस्कन चाहनुहुन्छ?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"आपतकालीन कल हुँदा चयन भएको कार्य उपलब्ध हुँदैन।"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"आपतकालीन कलब्याक मोडबाट निस्कदै"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"हो"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"आपताकालीन कल"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"आपातकालीन कल मात्र"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM कार्ड, स्लट: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"पहुँचता"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"आगमन Wi-Fi कल"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi कल"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"खोल्न फेरि छुनुहोस्"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"सन्देश डिकोड गर्दा एउटा समस्या भयो।"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index feef11c..8bc5e7f 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefoonaccounts"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP-account toevoegen"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Accountinstellingen configureren"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Bellen via wifi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Bellen via wifi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Bellen via wifi niet gebruiken"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Oproepassistent niet gebruiken"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Geen"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configureren"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Ingebouwde verbindingsservice"</string>
     <string name="voicemail" msgid="8693759337917898954">"Voicemail"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Mobiele providers"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Nooduitzendingen"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Verbinding maken met gegevensservices tijdens roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Verbinding maken met gegevensservices tijdens roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"De gegevensverbinding is verbroken, omdat u uw thuisnetwerk heeft verlaten terwijl gegevensroaming was uitgeschakeld."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Gegevensgebruik toestaan tijdens roaming? Er kunnen aanzienlijke kosten in rekening worden gebracht."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Er kunnen hoge roamingkosten in rekening worden gebracht."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Gegevensroaming toestaan?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM-/UMTS-opties"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-opties"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Gegevensgebruik"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY-modus instellen"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatisch opnieuw proberen"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Modus voor automatisch opnieuw proberen inschakelen"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"De TTY-modus mag niet worden gewijzigd tijdens een videogesprek"</string>
     <string name="menu_add" msgid="1882023737425114762">"Contact toevoegen"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Contact bewerken"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Contact verwijderen"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lezen vanaf SIM-kaart..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Geen contacten op uw SIM-kaart."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Contacten selecteren om te importeren"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Voor het importeren van contacten vanaf de simkaart moet u eerst de vliegmodus uitschakelen."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Schakel de vliegtuigmodus uit om contacten van de simkaart te importeren."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN-code in-/uitschakelen"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN-code wijzigen"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN-code:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Ophangen"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Terugbellen"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Bericht"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Als u wilt bellen, moet u eerst de Vliegmodus uitschakelen."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Schakel de vliegtuigmodus uit om te bellen."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Schakel de vliegtuigmodus uit of maak verbinding met een draadloos netwerk om te bellen."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Niet geregistreerd op netwerk."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobiel netwerk niet beschikbaar."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobiel netwerk is niet beschikbaar. Maak verbinding met een draadloos netwerk om te bellen."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Als u wilt bellen, moet u een geldig nummer invoeren."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Kan niet bellen."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI-reeks starten..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Telefonische vergaderingen niet mogelijk."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Kan oproep niet weigeren."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Kan oproep(en) niet vrijgeven."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Maak verbinding met een draadloos netwerk om te bellen."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Noodoproep"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Radio aanzetten..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Geen bereik. Opnieuw proberen…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Modus voor noodoproepen ingeschakeld"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modus voor noodoproepen"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Gegevensverbinding uitgeschakeld"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Er is al <xliff:g id="COUNT">%s</xliff:g> minuut geen dataverbinding"</item>
-    <item quantity="other" msgid="3122217344579273583">"Er is al <xliff:g id="COUNT">%s</xliff:g> minuten geen dataverbinding"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"De telefoon blijft <xliff:g id="COUNT">%s</xliff:g> minuut in de noodoproepmodus. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wilt u nu sluiten?"</item>
-    <item quantity="other" msgid="8617116564023933114">"De telefoon blijft <xliff:g id="COUNT">%s</xliff:g> minuten in de noodoproepmodus. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wilt u nu sluiten?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"De geselecteerde actie is niet beschikbaar in de noodoproepmodus. De telefoon blijft <xliff:g id="COUNT">%s</xliff:g> minuut in deze modus. Wilt u nu sluiten?"</item>
-    <item quantity="other" msgid="6115622137771382224">"De geselecteerde actie is niet beschikbaar in de noodoproepmodus. De telefoon blijft <xliff:g id="COUNT">%s</xliff:g> minuten in deze modus. Wilt u nu sluiten?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Er is al <xliff:g id="COUNT_1">%s</xliff:g> minuten geen gegevensverbinding</item>
+      <item quantity="one">Er is al <xliff:g id="COUNT_0">%s</xliff:g> minuut geen gegevensverbinding</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">De telefoon bevindt zich <xliff:g id="COUNT_1">%s</xliff:g> minuten in de modus voor noodoproepen. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wilt u nu afsluiten?</item>
+      <item quantity="one">De telefoon bevindt zich <xliff:g id="COUNT_0">%s</xliff:g> minuut in de modus voor noodoproepen. In deze modus kunnen geen apps worden gebruikt waarvoor een gegevensverbinding nodig is. Wilt u nu afsluiten?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon bevindt zich <xliff:g id="COUNT_1">%s</xliff:g> minuten in deze modus. Wilt u nu afsluiten?</item>
+      <item quantity="one">De geselecteerde actie is niet beschikbaar in de modus voor noodoproepen. De telefoon bevindt zich <xliff:g id="COUNT_0">%s</xliff:g> minuut in deze modus. Wilt u nu afsluiten?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"De geselecteerde actie is niet beschikbaar tijdens noodoproepen."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Modus voor noodoproepen verlaten"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ja"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Noodoproepen"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Alleen noodoproepen"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Simkaart, sleuf: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Toegankelijkheid"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Inkomende wifi-oproep"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wifi-oproep"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Tik nogmaals om te openen"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Er is een fout opgetreden tijdens het decoderen van het bericht."</string>
 </resources>
diff --git a/res/values-pa-rIN/arrays.xml b/res/values-pa-rIN/arrays.xml
new file mode 100644
index 0000000..0a015ca
--- /dev/null
+++ b/res/values-pa-rIN/arrays.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+     Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="preferred_network_mode_choices_world_mode">
+    <item msgid="3391522821603584785">"ਗਲੋਬਲ"</item>
+    <item msgid="6753774959494729275">"LTE / CDMA"</item>
+    <item msgid="8658695584186942227">"LTE / GSM / UMTS"</item>
+  </string-array>
+  <string-array name="preferred_network_mode_values_world_mode">
+    <item msgid="8390941159766263625">"10"</item>
+    <item msgid="6103348346295810336">"8"</item>
+    <item msgid="3494519853214024879">"9"</item>
+  </string-array>
+</resources>
diff --git a/res/values-pa-rIN/strings.xml b/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..b2d84b6
--- /dev/null
+++ b/res/values-pa-rIN/strings.xml
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="phoneAppLabel" product="tablet" msgid="1107073389495104784">"ਸੈਲਿਊਲਰ ਡਾਟਾ"</string>
+    <string name="phoneAppLabel" product="default" msgid="906161039445636857">"ਫੋਨ"</string>
+    <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"ਐਮਰਜੈਂਸੀ ਡਾਇਲਰ"</string>
+    <string name="phoneIconLabel" msgid="2331230813161304895">"ਫੋਨ"</string>
+    <string name="fdnListLabel" msgid="8630418672279521003">"FDN ਸੂਚੀ"</string>
+    <string name="unknown" msgid="6878797917991465859">"ਅਗਿਆਤ"</string>
+    <string name="private_num" msgid="6713286113000232309">"ਨਿੱਜੀ ਨੰਬਰ"</string>
+    <string name="payphone" msgid="4793877574636445118">"ਪੇਫੋਨ"</string>
+    <string name="onHold" msgid="9035493194749959955">"ਹੋਲਡ ਤੇ"</string>
+    <string name="mmiStarted" msgid="6347869857061147003">"MMI ਕੋਡ ਚਾਲੂ ਕੀਤਾ"</string>
+    <string name="ussdRunning" msgid="485588686340541690">"USSD ਕੋਡ ਚੱਲ ਰਿਹਾ ਹੈ…"</string>
+    <string name="mmiCancelled" msgid="2771923949751842276">"MMI ਕੋਡ ਰੱਦ ਕੀਤਾ"</string>
+    <string name="cancel" msgid="5044513931633602634">"ਰੱਦ ਕਰੋ"</string>
+    <string name="enter_input" msgid="1810529547726803893">"USSD ਸੁਨੇਹਾ <xliff:g id="MIN_LEN">%d</xliff:g> ਅਤੇ <xliff:g id="MAX_LEN">%d</xliff:g> ਅੱਖਰਾਂ ਵਿਚਕਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="manageConferenceLabel" msgid="4691922394301969053">"ਕਾਨਫਰੰਸ ਕਾਲ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="ok" msgid="3811371167865772377">"ਠੀਕ"</string>
+    <string name="audio_mode_speaker" msgid="27649582100085266">"ਸਪੀਕਰ"</string>
+    <string name="audio_mode_earpiece" msgid="4156527186373869107">"ਹੈਂਡਸੈਟ ਈਅਰਪੀਸ"</string>
+    <string name="audio_mode_wired_headset" msgid="1465350758489175975">"ਵਾਇਰ ਵਾਲਾ ਹੈਡਸੈਟ"</string>
+    <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+    <string name="wait_prompt_str" msgid="7601815427707856238">"ਕੀ ਇਹ ਟੋਨਾਂ ਭੇਜਣੀਆਂ ਹਨ?\n"</string>
+    <string name="pause_prompt_str" msgid="1789964702154314806">"ਟੋਨਾਂ\n ਭੇਜ ਰਿਹਾ ਹੈ"</string>
+    <string name="send_button" msgid="4106860097497818751">"ਭੇਜੋ"</string>
+    <string name="pause_prompt_yes" msgid="3564467212025151797">"ਹਾਂ"</string>
+    <string name="pause_prompt_no" msgid="6686238803236884877">"ਨਹੀਂ"</string>
+    <string name="wild_prompt_str" msgid="5543521676355533577">"ਇਸ ਨਾਲ ਵਾਈਲਡ ਅੱਖਰ ਬਦਲੋ"</string>
+    <string name="no_vm_number" msgid="4164780423805688336">"ਲੁਪਤ ਵੌਇਸਮੇਲ ਨੰਬਰ"</string>
+    <string name="no_vm_number_msg" msgid="1300729501030053828">"SIM ਕਾਰਡ ਤੇ ਕੋਈ ਵੌਇਸਮੇਲ ਨੰਬਰ ਸਟੋਰ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।"</string>
+    <string name="add_vm_number_str" msgid="4676479471644687453">"ਨੰਬਰ ਜੋੜੋ"</string>
+    <string name="puk_unlocked" msgid="2284912838477558454">"ਤੁਹਾਡਾ SIM ਕਾਰਡ ਅਨਬਲੌਕ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਤੁਹਾਡਾ ਫੋਨ ਅਨੌਲਕ ਹੋ ਰਿਹਾ ਹੈ..."</string>
+    <string name="label_ndp" msgid="780479633159517250">"SIM ਨੈਟਵਰਕ ਅਨਲੌਕ PIN"</string>
+    <string name="sim_ndp_unlock_text" msgid="683628237760543009">"ਅਨਲੌਕ ਕਰੋ"</string>
+    <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"ਬਰਖਾਸਤ ਕਰੋ"</string>
+    <string name="requesting_unlock" msgid="6412629401033249351">"ਨੈਟਵਰਕ ਅਨਲੌਕ ਦੀ ਬੇਨਤੀ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="unlock_failed" msgid="6490531697031504225">"ਨੈਟਵਰਕ ਅਨਲੌਕ ਬੇਨਤੀ ਅਸਫਲ।"</string>
+    <string name="unlock_success" msgid="6770085622238180152">"ਨੈਟਵਰਕ ਅਨਲੌਕ ਸਫਲ।"</string>
+    <string name="mobile_network_settings_not_available" msgid="3831911315358856062">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ ਇਸ ਉਪਭੋਗਤਾ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਹਨ"</string>
+    <string name="labelGSMMore" msgid="5930842194056092106">"GSM ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="labelCDMAMore" msgid="1630676740428229339">"CDMA ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="apn_settings" msgid="9043423184895642077">"ਪਹੁੰਚ ਬਿੰਦੂ ਨਾਮ"</string>
+    <string name="settings_label" msgid="3876743539816984008">"ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"ਕਾਲਿੰਗ ਖਾਤੇ"</string>
+    <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"ਇਸ ਨਾਲ ਕਾਲਾਂ ਕਰੋ"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"ਇਸ ਨਾਲ SIP ਕਾਲਾਂ ਕਰੋ"</string>
+    <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"ਪਹਿਲਾਂ ਪੁੱਛੋ"</string>
+    <string name="phone_accounts_settings_header" msgid="4141710640883261094">"ਸੈਟਿੰਗਾਂ"</string>
+    <string name="phone_accounts_choose_accounts" msgid="5232948804226424002">"ਖਾਤੇ ਚੁਣੋ"</string>
+    <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ਫੋਨ ਖਾਤੇ"</string>
+    <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ਖਾਤਾ ਜੋੜੋ"</string>
+    <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ਖਾਤਾ ਸੈਟਿੰਗਾਂ ਕੌਂਫਿਗਰ ਕਰੋ"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi ਕਾਲਿੰਗ"</string>
+    <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi ਕਾਲਿੰਗ ਨਾ ਵਰਤੋ"</string>
+    <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ਕਾਲ ਸਹਾਇਕ ਨਾ ਵਰਤੋ"</string>
+    <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ਕੋਈ ਨਹੀਂ"</string>
+    <string name="wifi_calling_call_assistant" msgid="229102032881680320">"ਕਾਲ ਸਹਾਇਕ"</string>
+    <string name="wifi_calling_use_call_assistant" msgid="8460024827012666199">"ਕਾਲ ਸਹਾਇਕ ਵਰਤੋ"</string>
+    <string name="wifi_calling_select_call_assistant" msgid="9296558058772293">"ਕਾਲ ਸਹਾਇਕ ਚੁਣੋ"</string>
+    <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"ਇਸ ਨਾਲ ਕਾਲਾਂ ਲਈ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਨੈਟਵਰਕਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="wifi_calling_use_call_assistant_summary" msgid="6599987137133339698">"ਐਪਸ ਜਾਂ ਸੇਵਾਵਾਂ ਨੂੰ ਕਾਲਾਂ ਲਈ ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਨੈਟਵਰਕਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਦਿਓ"</string>
+    <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"ਕੌਂਫਿਗਰ ਕਰੋ"</string>
+    <string name="connection_service_default_label" msgid="1498481943805913754">"ਬਿਲਟ-ਇਨ ਕਨੈਕਸ਼ਨ ਸੇਵਾ"</string>
+    <string name="voicemail" msgid="8693759337917898954">"ਵੌਇਸਮੇਲ"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ਵੌਇਸਮੇਲ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
+    <string name="networks" msgid="8873030692174541976">"ਨੈਟਵਰਕ ਓਪਰੇਟਰ"</string>
+    <string name="cell_broadcast_settings" msgid="8740238216690502563">"ਐਮਰਜੈਂਸੀ ਪ੍ਰਸਾਰਨ"</string>
+    <string name="call_settings" msgid="6112441768261754562">"ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="additional_gsm_call_settings" msgid="1391795981938800617">"ਵਾਧੂ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"ਵਾਧੂ ਸੈਟਿੰਗਾਂ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"ਵਾਧੂ ਕੇਵਲ GSM ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="additional_cdma_call_settings" msgid="8628958775721886909">"ਵਾਧੂ CDMA ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="sum_cdma_call_settings" msgid="284753265979035549">"ਵਾਧੂ ਕੇਵਲ CDMA ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="labelNwService" msgid="4699970172021870983">"ਨੈਟਵਰਕ ਸੇਵਾ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="labelCallerId" msgid="3888899447379069198">"ਕਾਲਰ ID"</string>
+    <string name="sum_loading_settings" msgid="1826692909391168620">"ਸੈਟਿੰਗਾਂ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="sum_hide_caller_id" msgid="1071407020290873782">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਵਿੱਚ ਲੁਕਾਇਆ ਨੰਬਰ"</string>
+    <string name="sum_show_caller_id" msgid="6768534125447290401">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਵਿੱਚ ਡਿਸਪਲੇ ਕੀਤਾ ਨੰਬਰ"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"ਆਊਟਗੋਇੰਗ ਕਾਲਾਂ ਵਿੱਚ ਮੇਰਾ ਨੰਬਰ ਡਿਸਪਲੇ ਕਰਨ ਲਈ ਡਿਫੌਲਟ ਓਪਰੇਟਰ ਸੈਟਿੰਗਾਂ ਵਰਤੋ।"</string>
+    <string name="labelCW" msgid="6120513814915920200">"ਕਾਲ ਵੇਟਿੰਗ"</string>
+    <string name="sum_cw_enabled" msgid="8083061901633671397">"ਇੱਕ ਕਾਲ ਦੇ ਦੌਰਾਨ, ਮੈਨੂੰ ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਦੀ ਸੂਚਨਾ ਦਿਓ"</string>
+    <string name="sum_cw_disabled" msgid="3648693907300104575">"ਇੱਕ ਕਾਲ ਦੇ ਦੌਰਾਨ, ਮੈਨੂੰ ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਦੀ ਸੂਚਨਾ ਦਿਓ"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ ਸੈਟਿੰਗਾਂ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="labelCF" msgid="2574386948026924737">"ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ"</string>
+    <string name="labelCFU" msgid="8147177368148660600">"ਹਮੇਸ਼ਾਂ ਫੌਰਵਰਡ ਕਰੋ"</string>
+    <string name="messageCFU" msgid="3560082430662923687">"ਹਮੇਸ਼ਾਂ ਇਹ ਨੰਬਰ ਵਰਤੋ"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"ਸਾਰੀਆਂ ਕਾਲਾਂ ਫੌਰਵਾਰਡ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="sum_cfu_enabled" msgid="2450052502198827927">"ਸਾਰੀਆਂ ਕਾਲਾਂ <xliff:g id="PHONENUMBER">{0}</xliff:g> ਨੂੰ ਫੌਰਵਾਰਡ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"ਨੰਬਰ ਅਣਉਪਲਬਧ ਹੈ"</string>
+    <string name="sum_cfu_disabled" msgid="8384177689501334080">"ਬੰਦ"</string>
+    <string name="labelCFB" msgid="6139853033106283172">"ਜਦੋਂ ਰੁੱਝਾ ਹੋਵੇ"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"ਜਦੋਂ ਰੁੱਝਾ ਹੋਵੇ ਤਾਂ ਨੰਬਰ"</string>
+    <string name="sum_cfb_enabled" msgid="5984198104833116690">"<xliff:g id="PHONENUMBER">{0}</xliff:g> ਨੂੰ ਫੌਰਵਾਰਡ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="sum_cfb_disabled" msgid="4913145177320506827">"ਬੰਦ"</string>
+    <string name="disable_cfb_forbidden" msgid="3506984333877998061">"ਜਦੋਂ ਤੁਹਾਡਾ ਫੋਨ ਰੁੱਝਾ ਹੋਇਆ ਹੁੰਦਾ ਹੈ ਤਾਂ ਤੁਹਾਡਾ ਓਪਰੇਟਰ ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ।"</string>
+    <string name="labelCFNRy" msgid="1736067178393744351">"ਜਦੋਂ ਜਵਾਬ ਨਾ ਦਿੱਤਾ ਜਾਏ"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"ਜਦੋਂ ਜਵਾਬ ਨਾ ਦਿੱਤਾ ਜਾਏ ਤਾਂ ਨੰਬਰ"</string>
+    <string name="sum_cfnry_enabled" msgid="6955775691317662910">"<xliff:g id="PHONENUMBER">{0}</xliff:g> ਨੂੰ ਫੌਰਵਾਰਡ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="sum_cfnry_disabled" msgid="3884684060443538097">"ਬੰਦ"</string>
+    <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"ਜਦੋਂ ਤੁਹਾਡਾ ਫੋਨ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ ਤਾਂ ਤੁਹਾਡਾ ਓਪਰੇਟਰ ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ।"</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"ਜਦੋਂ ਨਾ ਪਹੁੰਚਯੋਗ ਹੋਵੇ"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"ਜਦੋਂ ਨਾ ਪਹੁੰਚਯੋਗ ਹੋਵੇ ਤਾਂ ਨੰਬਰ"</string>
+    <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"<xliff:g id="PHONENUMBER">{0}</xliff:g> ਨੂੰ ਫੌਰਵਾਰਡ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"ਅਸਮਰੱਥ ਬਣਾਇਆ"</string>
+    <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"ਜਦੋਂ ਤੁਹਾਡਾ ਫੋਨ ਨਾਪਹੁੰਚਯੋਗ ਹੁੰਦਾ ਹੈ ਤਾਂ ਤੁਹਾਡਾ ਕੈਰੀਅਰ ਕਾਲ ਫੌਰਵਾਰਡਿੰਗ ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਉਣ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦਾ।"</string>
+    <string name="updating_title" msgid="6146755386174019046">"ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"ਕਾਲ ਸੈਟਿੰਗਾਂ ਕੇਵਲ ਮੁੱਖ ਉਪਭੋਗਤਾ ਵੱਲੋਂ ਬਦਲੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ।"</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"ਕਾਲ ਸੈਟਿੰਗਾਂ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="error_updating_title" msgid="7970259216988931777">"ਕਾਲ ਸੈਟਿੰਗਾਂ ਅਸ਼ੁੱਧੀ"</string>
+    <string name="reading_settings" msgid="1920291699287055284">"ਸੈਟਿੰਗਾਂ ਪੜ੍ਹ ਰਿਹਾ ਹੈ…"</string>
+    <string name="updating_settings" msgid="8171225533884883252">"ਸੈਟਿੰਗਾਂ ਅਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="reverting_settings" msgid="4752151682666912828">"ਸੈਟਿੰਗਾਂ ਵਾਪਸ ਲਿਆ ਰਿਹਾ ਹੈ…"</string>
+    <string name="response_error" msgid="6674110501330139405">"ਨੈਟਵਰਕ ਤੋਂ ਅਕਲਪਿਤ ਜਵਾਬ"</string>
+    <string name="exception_error" msgid="7027667130619518211">"ਨੈਟਵਰਕ ਜਾਂ SIM ਕਾਰਡ ਅਸ਼ੁੱਧੀ।"</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"ਤੁਹਾਡੇ ਫੋਨ ਐਪ ਦੀ ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਸੈਟਿੰਗ ਚਾਲੂ ਕੀਤੀ ਗਈ ਹੈ। ਸਿੱਟੇ ਵਜੋਂ, ਕੁਝ ਕਾਲ-ਸੰਬੰਧਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕੰਮ ਨਹੀਂ ਕਰ ਰਹੀਆਂ ਹਨ।"</string>
+    <string name="radio_off_error" msgid="2304459933248513376">"ਇਹਨਾਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਦੇਖਣ ਤੋਂ ਪਹਿਲਾਂ ਰੇਡੀਓ ਚਾਲੂ ਕਰੋ।"</string>
+    <string name="close_dialog" msgid="2365884406356986917">"ਠੀਕ"</string>
+    <string name="enable" msgid="7248657275000173526">"ਚਾਲੂ ਕਰੋ"</string>
+    <string name="disable" msgid="4678348128118573672">"ਬੰਦ ਕਰੋ"</string>
+    <string name="change_num" msgid="239476305819844391">"ਅਪਡੇਟ"</string>
+  <string-array name="clir_display_values">
+    <item msgid="5560134294467334594">"ਨੈਟਵਰਕ ਡਿਫੌਲਟ"</item>
+    <item msgid="7876195870037833661">"ਨੰਬਰ ਲੁਕਾਓ"</item>
+    <item msgid="1108394741608734023">"ਨੰਬਰ ਦਿਖਾਓ"</item>
+  </string-array>
+    <string name="vm_changed" msgid="380744030726254139">"ਵੌਇਸਮੇਲ ਨੰਬਰ ਬਦਲ ਗਿਆ"</string>
+    <string name="vm_change_failed" msgid="3352934863246208918">"ਵੌਇਸਮੇਲ ਨੰਬਰ ਨਹੀਂ ਬਦਲ ਸਕਿਆ।\nਜੇਕਰ ਸਮੱਸਿਆ ਬਣੀ ਰਹਿੰਦੀ ਹੈ ਤਾਂ ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="fw_change_failed" msgid="5298103228470214665">"ਫੌਰਵਾਰਡਿੰਗ ਨੰਬਰ ਬਦਲ ਨਹੀਂ ਸਕਿਆ। \nਜੇਕਰ ਸਮੱਸਿਆ ਬਣੀ ਰਹਿੰਦੀ ਹੈ ਤਾਂ ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="fw_get_in_vm_failed" msgid="8862896836093833973">"ਮੌਜੂਦਾ ਫੌਰਵਰਡਿੰਗ ਨੰਬਰ ਸੈਟਿੰਗਾਂ ਨੁੰ ਮੁੜ ਪ੍ਰਾਪਤ ਅਤੇ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਕਰ ਸਕਿਆ।\nਕੀ ਫੇਰ ਵੀ ਨਵੇਂ ਪ੍ਰਦਾਤਾ ਤੇ ਸਵਿਚ ਕਰਨਾ ਹੈ?"</string>
+    <string name="no_change" msgid="3186040086622435212">"ਕੋਈ ਬਦਲਾਵ ਨਹੀਂ ਕੀਤੇ ਗਏ ਹਨ।"</string>
+    <string name="sum_voicemail_choose_provider" msgid="59911196126278922">"ਵੌਇਸਮੇਲ ਸੇਵਾ ਚੁਣੋ"</string>
+    <string name="voicemail_default" msgid="2001233554889016880">"ਤੁਹਾਡਾ ਕੈਰੀਅਰ"</string>
+    <string name="mobile_networks" msgid="2843854043339307375">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="label_available" msgid="1181658289009300430">"ਉਪਲਬਧ ਨੈਟਵਰਕ"</string>
+    <string name="load_networks_progress" msgid="5230707536168902952">"ਖੋਜ ਰਿਹਾ ਹੈ..."</string>
+    <string name="empty_networks_list" msgid="4249426905018815316">"ਕੋਈ ਨੈਟਵਰਕ ਨਹੀਂ ਮਿਲੇ।"</string>
+    <string name="search_networks" msgid="1601136049300882441">"ਖੋਜ ਨੈਟਵਰਕ"</string>
+    <string name="network_query_error" msgid="6828516148953325006">"ਨੈਟਵਰਕਾਂ ਦੀ ਖੋਜ ਕਰਦੇ ਸਮੇਂ ਅਸ਼ੁੱਧੀ।"</string>
+    <string name="register_on_network" msgid="9055203954040805084">"<xliff:g id="NETWORK">%s</xliff:g> ਤੇ ਰਜਿਸਟਰ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="not_allowed" msgid="5613353860205691579">"ਤੁਹਾਡਾ SIM ਇਸ ਨੈਟਵਰਕ ਲਈ ਇੱਕ ਕਨੈਕਸ਼ਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ।"</string>
+    <string name="connect_later" msgid="2308119155752343975">"ਹੁਣ ਇਸ ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਬਾਅਦ ਵਿੱਚ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="registration_done" msgid="495135664535876612">"ਨੈਟਵਰਕ ਤੇ ਰਜਿਸਟਰ ਕੀਤਾ।"</string>
+    <string name="sum_carrier_select" msgid="3494252551249882718">"ਇੱਕ ਨੈਟਵਰਕ ਓਪਰੇਟਰ ਚੁਣੋ"</string>
+    <string name="sum_search_networks" msgid="2921092249873272715">"ਸਾਰੇ ਉਪਲਬਧ ਨੈਟਵਰਕਾਂ ਦੀ ਖੋਜ"</string>
+    <string name="select_automatically" msgid="5628402124471810174">"ਆਟੋਮੈਟਿਕਲੀ ਚੁਣੋ"</string>
+    <string name="sum_select_automatically" msgid="5614890115123292400">"ਆਟੋਮੈਟਿਕਲੀ ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਚੁਣੋ"</string>
+    <string name="register_automatically" msgid="6017849844573519637">"ਆਟੋਮੈਟਿਕ ਰਜਿਸਟਰੇਸ਼ਨ…"</string>
+    <string name="preferred_network_mode_title" msgid="2336624679902659306">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਪ੍ਰਕਾਰ"</string>
+    <string name="preferred_network_mode_summary" msgid="1434820673166126609">"ਨੈਟਵਰਕ ਓਪਰੇਟਿੰਗ ਮੋਡ ਬਦਲੋ"</string>
+    <string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਪ੍ਰਕਾਰ"</string>
+    <string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਤਰਜੀਹੀ WCDMA"</string>
+    <string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ GSM"</string>
+    <string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ WCDMA"</string>
+    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="3161255745326408587">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: GSM / WCDMA"</string>
+    <string name="preferred_network_mode_cdma_summary" msgid="3175690187294334241">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: CDMA"</string>
+    <string name="preferred_network_mode_cdma_evdo_summary" msgid="8332063064712726618">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: CDMA / EvDo"</string>
+    <string name="preferred_network_mode_cdma_only_summary" msgid="1309770926198634150">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ CDMA"</string>
+    <string name="preferred_network_mode_evdo_only_summary" msgid="8472220691721269155">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਕੇਵਲ EvDo"</string>
+    <string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary" msgid="4726682079415227330">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_lte_summary" msgid="574752287596469136">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE"</string>
+    <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="8455358514068283935">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: GSM/WCDMA/LTE"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="228702246343742853">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_global_summary" msgid="1633134285545730364">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: ਗਲੋਬਲ"</string>
+    <string name="preferred_network_mode_lte_wcdma_summary" msgid="9180775701594742750">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE / WCDMA"</string>
+    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="633315028976225026">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE / GSM / UMTS"</string>
+    <string name="preferred_network_mode_lte_cdma_summary" msgid="3722647806454528426">"ਤਰਜੀਹੀ ਨੈਟਵਰਕ ਮੋਡ: LTE / CDMA"</string>
+  <string-array name="preferred_network_mode_choices">
+    <item msgid="7886739962255042385">"LTE / WCDMA"</item>
+    <item msgid="577652050447385699">"LTE"</item>
+    <item msgid="6813597571293773656">"ਗਲੋਬਲ"</item>
+    <item msgid="127064712132619032">"GSM/WCDMA/LTE"</item>
+    <item msgid="1126767511633425977">"CDMA + LTE/EvDo"</item>
+    <item msgid="6389676313771670660">"CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="545430093607698090">"ਕੇਵਲ EvDo"</item>
+    <item msgid="1508557726283094448">"CDMA w/o EvDo"</item>
+    <item msgid="4341433122263841224">"CDMA/EvDo auto"</item>
+    <item msgid="5958053792390386668">"GSM/WCDMA ਆਟੋ"</item>
+    <item msgid="7913148405605373434">"ਕੇਵਲ WCDMA"</item>
+    <item msgid="1524224863879435516">"ਕੇਵਲ GSM"</item>
+    <item msgid="3817924849415716259">"GSM/WCDMA ਤਰਜੀਹੀ"</item>
+  </string-array>
+    <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"ਵਿਸਤ੍ਰਿਤ 4G LTE ਮੋਡ"</string>
+    <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"ਵੌਇਸ ਅਤੇ ਹੋਰ ਸੰਚਾਰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ  LTE ਸੇਵਾਵਾਂ ਵਰਤੋ (ਸਿਫਾਰਿਸ਼ ਕੀਤਾ)"</string>
+    <string name="data_enabled" msgid="5972538663568715366">"ਡਾਟਾ ਸਮਰਥਿਤ"</string>
+    <string name="data_enable_summary" msgid="2382798156640007971">"ਡਾਟਾ ਵਰਤੋਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="roaming" msgid="8871412572928323707">"ਡਾਟਾ ਰੋਮਿੰਗ"</string>
+    <string name="roaming_enable" msgid="7331106985174381987">"ਰੋਮਿੰਗ ਵੇਲੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+    <string name="roaming_disable" msgid="1843417228755568110">"ਰੋਮਿੰਗ ਵੇਲੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+    <string name="roaming_reenable_message" msgid="8913735676127858115">"ਤੁਹਾਡੀ ਡਾਟਾ ਕਨੈਕਟੀਵਿਟੀ ਨਸ਼ਟ ਹੋ ਗਈ ਹੈ ਕਿਉਂਕਿ ਤੁਸੀਂ ਆਪਣਾ ਡਾਟਾ ਰੋਮਿੰਗ ਬੰਦ ਨਾਲ ਹੋਮ ਨੈਟਵਰਕ ਛੱਡ ਦਿੱਤਾ ਸੀ।"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"ਤੁਹਾਨੂੰ ਖ਼ਾਸ ਖ਼ਰਚੇ ਪੈ ਸਕਦੇ ਹਨ।"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ਕੀ ਡਾਟਾ ਰੋਮਿੰਗ ਦੀ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
+    <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ਚੋਣਾਂ"</string>
+    <string name="cdma_options" msgid="4016822858172249884">"CDMA ਚੋਣਾਂ"</string>
+    <string name="throttle_data_usage" msgid="3715677828160555808">"ਡਾਟਾ ਵਰਤੋਂ"</string>
+    <string name="throttle_current_usage" msgid="8762280193043815361">"ਮੌਜੂਦਾ ਮਿਆਦ ਵਿੱਚ ਵਰਤਿਆ ਡਾਟਾ"</string>
+    <string name="throttle_time_frame" msgid="1915198770363734685">"ਡਾਟਾ ਵਰਤੋਂ ਮਿਆਦ"</string>
+    <string name="throttle_rate" msgid="4710388992676803508">"ਡਾਟਾ ਰੇਟ ਨੀਤੀ"</string>
+    <string name="throttle_help" msgid="243651091785169900">"ਹੋਰ ਜਾਣੋ"</string>
+    <string name="throttle_status_subtext" msgid="1657318943142085170">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) <xliff:g id="USED_2">%3$s</xliff:g> ਦੀ ਅਧਿਕਤਮ ਮਿਆਦ\nਅਗਲੀ ਮਿਆਦ <xliff:g id="USED_3">%4$d</xliff:g> ਦਿਨਾਂ ਵਿੱਚ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
+    <string name="throttle_data_usage_subtext" msgid="6029276011123694701">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) <xliff:g id="USED_2">%3$s</xliff:g> ਦੀ ਅਧਿਕਤਮ ਮਿਆਦ"</string>
+    <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"<xliff:g id="USED_0">%1$s</xliff:g> ਅਧਿਕਤਮ ਸੀਮਾ ਵਧ ਗਈ\nਡਾਟਾ ਰੇਟ <xliff:g id="USED_1">%2$d</xliff:g> Kb/s ਤੱਕ ਘਟ ਗਿਆ"</string>
+    <string name="throttle_time_frame_subtext" msgid="7732763021560399960">"<xliff:g id="USED_0">%1$d</xliff:g>٪ ਚੱਕਰ ਪੂਰਾ ਹੋਇਆ\nਅਗਲੀ ਮਿਆਦ <xliff:g id="USED_1">%2$d</xliff:g> ਦਿਨਾਂ ਵਿੱਚ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
+    <string name="throttle_rate_subtext" msgid="2149102656120726855">"ਜੇਕਰ ਡਾਟਾ ਵਰਤੋਂ ਸੀਮਾ ਵਧਦੀ ਹੈ ਤਾਂ ਡਾਟਾ ਰੇਟ <xliff:g id="USED">%1$d</xliff:g> Kb/s ਤੱਕ ਘਟਿਆ"</string>
+    <string name="throttle_help_subtext" msgid="3633091498168446044">"ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਦੀ ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਡਾਟਾ ਵਰਤੋਂ ਨੀਤੀ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ"</string>
+    <string name="cell_broadcast_sms" msgid="5584192824053625842">"ਸੈਲ ਪ੍ਰਸਾਰਨ SMS"</string>
+    <string name="enable_disable_cell_bc_sms" msgid="4851147873691392255">"ਸੈਲ ਪ੍ਰਸਾਰਨ SMS"</string>
+    <string name="cell_bc_sms_enable" msgid="6441688565738921084">"ਸੈਲ ਪ੍ਰਸਾਰਨ SMS ਸਮਰਥਿਤ"</string>
+    <string name="cell_bc_sms_disable" msgid="3398365088309408749">"ਸੈਲ ਪ੍ਰਸਾਰਨ SMS ਅਸਮਰਥਿਤ"</string>
+    <string name="cb_sms_settings" msgid="651715019785107312">"ਸੈਲ ਪ੍ਰਸਾਰਨ SMS ਸੈਟਿੰਗਾਂ"</string>
+    <string name="enable_disable_emergency_broadcast" msgid="2157014609041245335">"ਸੈਲ ਪ੍ਰਸਾਰਨ"</string>
+    <string name="emergency_broadcast_enable" msgid="2645980025414010211">"ਸੈਲ ਪ੍ਰਸਾਰਨ ਸਮਰਥਿਤ"</string>
+    <string name="emergency_broadcast_disable" msgid="3665199821267569426">"ਸੈਲ ਪ੍ਰਸਾਰਨ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_administrative" msgid="6501582322182059412">"ਪ੍ਰਬੰਧਕੀ"</string>
+    <string name="administrative_enable" msgid="1750086122962032235">"ਪ੍ਰਬੰਧਕੀ ਸਮਰਥਿਤ"</string>
+    <string name="administrative_disable" msgid="8433273857248698539">"ਪ੍ਰਬੰਧਕੀ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_maintenance" msgid="1819693083025106678">"ਪ੍ਰਬੰਧਨ"</string>
+    <string name="maintenance_enable" msgid="8566636458770971189">"ਪ੍ਰਬੰਧਨ ਸਮਰਥਿਤ"</string>
+    <string name="maintenance_disable" msgid="7340189100885066077">"ਪ੍ਰਬੰਧਨ ਅਸਮਰਥਿਤ"</string>
+    <string name="general_news_settings" msgid="4968779723948432978">"ਸਧਾਰਨ ਖ਼ਬਰਾਂ"</string>
+    <string name="bf_news_settings" msgid="3935593091894685267">"ਵਪਾਰਕ ਅਤੇ ਵਿੱਤੀ ਖ਼ਬਰਾਂ"</string>
+    <string name="sports_news_settings" msgid="7649399631270052835">"ਖੇਡ ਦੀਆਂ ਖ਼ਬਰਾਂ"</string>
+    <string name="entertainment_news_settings" msgid="5051153952959405035">"ਮਨੋਰੰਜਕ ਖ਼ਬਰਾਂ"</string>
+    <string name="enable_disable_local" msgid="7890281063123416120">"ਸਥਾਨਕ"</string>
+    <string name="local_enable" msgid="6370463247609136359">"ਸਥਾਨਕ ਖ਼ਬਰਾਂ ਸਮਰਥਿਤ"</string>
+    <string name="local_disable" msgid="4405691986943795798">"ਸਥਾਨਕ ਖ਼ਬਰਾਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_regional" msgid="4905652414535565872">"ਖੇਤਰੀ"</string>
+    <string name="regional_enable" msgid="4434680415437834759">"ਖੇਤਰੀ ਖ਼ਬਰਾਂ ਸਮਰਥਿਤ"</string>
+    <string name="regional_disable" msgid="5359325527213850077">"ਖੇਤਰੀ ਖ਼ਬਰਾਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_national" msgid="236278090206880734">"ਰਾਸ਼ਟਰੀ"</string>
+    <string name="national_enable" msgid="1172443648912246952">"ਰਾਸ਼ਟਰੀ ਖ਼ਬਰਾਂ ਸਮਰਥਿਤ"</string>
+    <string name="national_disable" msgid="326018148178601166">"ਰਾਸ਼ਟਰੀ ਖ਼ਬਰਾਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_international" msgid="7535348799604565592">"ਅੰਤਰਰਾਸ਼ਟਰੀ"</string>
+    <string name="international_enable" msgid="5855356769925044927">"ਅੰਤਰਰਾਸ਼ਟਰੀ ਖ਼ਬਰਾਂ ਸਮਰਥਿਤ"</string>
+    <string name="international_disable" msgid="2850648591041088931">"ਅੰਤਰਰਾਸ਼ਟਰੀ ਖ਼ਬਰਾਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="list_language_title" msgid="2841683501919760043">"ਭਾਸ਼ਾ"</string>
+    <string name="list_language_summary" msgid="8109546531071241601">"ਖ਼ਬਰਾਂ ਦੀ ਭਾਸ਼ਾ ਚੁਣੋ"</string>
+  <string-array name="list_language_entries">
+    <item msgid="6137851079727305485">"ਅੰਗ੍ਰੇਜ਼ੀ"</item>
+    <item msgid="1151988412809572526">"ਫਰਾਂਸੀਸੀ"</item>
+    <item msgid="577840534704312665">"ਸਪੇਨੀ"</item>
+    <item msgid="8385712091143148180">"ਜਾਪਾਨੀ"</item>
+    <item msgid="1858401628368130638">"ਕੋਰੀਆਈ"</item>
+    <item msgid="1933212028684529632">"ਚੀਨੀ"</item>
+    <item msgid="1908428006803639064">"ਹਿਬਰੀ"</item>
+  </string-array>
+  <string-array name="list_language_values">
+    <item msgid="1804908636436467150">"1"</item>
+    <item msgid="289708030346890334">"2"</item>
+    <item msgid="1121469729692402684">"3"</item>
+    <item msgid="2614093115912897722">"4"</item>
+    <item msgid="2411164639857960614">"5"</item>
+    <item msgid="5884448729274543324">"6"</item>
+    <item msgid="5511864807618312598">"7"</item>
+  </string-array>
+    <string name="list_language_dtitle" msgid="5442908726538951934">"ਭਾਸ਼ਾਵਾਂ"</string>
+    <string name="enable_disable_local_weather" msgid="986967454867219114">"ਸਥਾਨਕ ਮੌਸਮ"</string>
+    <string name="local_weather_enable" msgid="6199315114382448922">"ਸਥਾਨਕ ਮੌਸਮ ਸਮਰਥਿਤ"</string>
+    <string name="local_weather_disable" msgid="2510158089142626480">"ਸਥਾਨਕ ਮੌਸਮ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_atr" msgid="8339572391278872343">"ਖੇਤਰ ਟ੍ਰੈਫਿਕ ਰਿਪੋਰਟਾਂ"</string>
+    <string name="atr_enable" msgid="5541757457789181799">"ਏਰੀਆ ਟ੍ਰੈਫਿਕ ਰਿਪੋਰਟਾਂ ਸਮਰਥਿਤ"</string>
+    <string name="atr_disable" msgid="7085558154727596455">"ਏਰੀਆ ਟ੍ਰੈਫਿਕ ਰਿਪੋਰਟਾਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_lafs" msgid="668189073721277199">"ਸਥਾਨਕ ਏਅਰਪੋਰਟ ਫਲਾਈਟ ਦੀਆਂ ਸਮਾਂ ਸੂੂਚੀਆਂ"</string>
+    <string name="lafs_enable" msgid="2791978667205137052">"ਸਥਾਨਕ ਏਅਰਪੋਰਟ ਫਲਾਈਟ ਦੀਆਂ ਸਮਾਂ ਸੂੂਚੀਆਂ ਸਮਰਥਿਤ"</string>
+    <string name="lafs_disable" msgid="2391212397725495350">"ਸਥਾਨਕ ਏਅਰਪੋਰਟ ਫਲਾਈਟ ਦੀਆਂ ਸਮਾਂ ਸੂੂਚੀਆਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_restaurants" msgid="6240381945336814024">"ਰੈਸਟੋਰੈਂਟ"</string>
+    <string name="restaurants_enable" msgid="5137657479469118847">"ਰੈਸਟੋਰੈਂਟ ਸਮਰਥਿਤ"</string>
+    <string name="restaurants_disable" msgid="3678480270938424092">"ਰੈਸਟੋਰੈਂਟ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_lodgings" msgid="1822029172658551202">"ਆਵਾਸ"</string>
+    <string name="lodgings_enable" msgid="3230042508992850322">"ਆਵਾਸ ਸਮਰਥਿਤ"</string>
+    <string name="lodgings_disable" msgid="3387879742320682391">"ਆਵਾਸ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_retail_directory" msgid="1357809784475660303">"ਰੀਟੇਲ ਡਾਇਰੈਕਟਰੀ"</string>
+    <string name="retail_directory_enable" msgid="3280626290436111496">"ਰੀਟੇਲ ਡਾਇਰੈਕਟਰੀ ਸਮਰਥਿਤ"</string>
+    <string name="retail_directory_disable" msgid="6479739816662879027">"ਰੀਟੇਲ ਡਾਇਰੈਕਟਰੀ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_advertisements" msgid="5999495926176182128">"ਇਸ਼ਤਿਹਾਰ"</string>
+    <string name="advertisements_enable" msgid="2050305021264683786">"ਇਸ਼ਤਿਹਾਰ ਸਮਰਥਿਤ"</string>
+    <string name="advertisements_disable" msgid="8350985908788707935">"ਇਸ਼ਤਿਹਾਰ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_stock_quotes" msgid="6397810445293533603">"ਸਟੌਕ ਕੋਟਸ"</string>
+    <string name="stock_quotes_enable" msgid="4384802470887170543">"ਸਟੌਕ ਕੋਟਸ ਸਮਰਥਿਤ"</string>
+    <string name="stock_quotes_disable" msgid="4781450084565594998">"ਸਟੌਕ ਕੋਟਸ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_eo" msgid="4863043263443942494">"ਰੁਜ਼ਗਾਰ ਮੌਕੇ"</string>
+    <string name="eo_enable" msgid="8623559062015685813">"ਰੁਜ਼ਗਾਰ ਮੌਕੇ ਸਮਰਥਿਤ"</string>
+    <string name="eo_disable" msgid="3863812478090907609">"ਰੁਜ਼ਗਾਰ ਮੌਕੇ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_mhh" msgid="908214593528968522">"ਚਿਕਿਤਸਾ, ਸਿਹਤ ਅਤੇ ਹਸਪਤਾਲ"</string>
+    <string name="mhh_enable" msgid="5544500632306446815">"ਚਿਕਿਤਸਾ, ਸਿਹਤ ਅਤੇ ਹਸਪਤਾਲ ਸਮਰਥਿਤ"</string>
+    <string name="mhh_disable" msgid="8998210550117117437">"ਚਿਕਿਤਸਾ, ਸਿਹਤ ਅਤੇ ਹਸਪਤਾਲ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_technology_news" msgid="3517184627114999149">"ਟੈਕਨਾਲੋਜੀ ਖ਼ਬਰਾਂ"</string>
+    <string name="technology_news_enable" msgid="7995209394210455181">"ਟੈਕਨਾਲੋਜੀ ਖ਼ਬਰਾਂ ਸਮਰਥਿਤ"</string>
+    <string name="technology_news_disable" msgid="5483490380561851946">"ਟੈਕਨਾਲੋਜੀ ਖ਼ਬਰਾਂ ਅਸਮਰਥਿਤ"</string>
+    <string name="enable_disable_multi_category" msgid="626771003122899280">"ਮਲਟੀ-ਸ਼੍ਰੇਣੀ"</string>
+    <string name="multi_category_enable" msgid="1179299804641721768">"ਮਲਟੀ-ਸ਼੍ਰੇਣੀ ਸਮਰਥਿਤ"</string>
+    <string name="multi_category_disable" msgid="880104702904139505">"ਮਲਟੀ-ਸ਼੍ਰੇਣੀ ਅਸਮਰਥਿਤ"</string>
+    <string name="network_lte" msgid="7702681952521375754">"LTE (ਸਿਫਾਰਿਸ਼ ਕੀਤਾ)"</string>
+    <string name="network_4G" msgid="2723512640529983138">"4G (ਸਿਫਾਰਿਸ਼ ਕੀਤਾ)"</string>
+    <string name="network_global" msgid="1323190488685355309">"ਗਲੋਬਲ"</string>
+    <string name="cdma_system_select_title" msgid="5757657769327732833">"ਸਿਸਟਮ ਚੁਣੋ"</string>
+    <string name="cdma_system_select_summary" msgid="60460043745797517">"CDMA ਰੋਮਿੰਗ ਮੋਡ ਬਦਲੋ"</string>
+    <string name="cdma_system_select_dialogtitle" msgid="6083355415165359075">"ਸਿਸਟਮ ਚੁਣੋ"</string>
+  <string-array name="cdma_system_select_choices">
+    <item msgid="176474317493999285">"ਕੇਵਲ ਘਰ"</item>
+    <item msgid="1205664026446156265">"ਆਟੋਮੈਟਿਕ"</item>
+  </string-array>
+    <string name="cdma_subscription_title" msgid="1162564010076763284">"CDMA ਸਬਸਕ੍ਰਿਪਸ਼ਨ"</string>
+    <string name="cdma_subscription_summary" msgid="2530890766115781140">"RUIM/SIM ਅਤੇ NV ਵਿਚਕਾਰ ਬਦਲੋ"</string>
+    <string name="cdma_subscription_dialogtitle" msgid="2699527950523333110">"ਸਬਸਕ੍ਰਿਪਸ਼ਨ"</string>
+  <string-array name="cdma_subscription_choices">
+    <item msgid="2258014151300708431">"RUIM/SIM"</item>
+    <item msgid="5127722015571873880">"NV"</item>
+  </string-array>
+  <string-array name="cdma_subscription_values">
+    <item msgid="7494167883478914080">"0"</item>
+    <item msgid="6043847456049107742">"1"</item>
+  </string-array>
+    <string name="cdma_activate_device" msgid="3793805892364814518">"ਡਿਵਾਈਸ ਨੂੰ ਸਕਿਰਿਆ ਕਰੋ"</string>
+    <string name="cdma_lte_data_service" msgid="4255018217292548962">"ਡਾਟਾ ਸੇਵਾ ਸੈਟ ਅਪ ਕਰੋ"</string>
+    <string name="carrier_settings_title" msgid="9028166176523012300">"ਕੈਰੀਅਰ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="fdn" msgid="7878832555095183202">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="manage_fdn_list" msgid="8777755791892122369">"FDN ਸੂਚੀ"</string>
+    <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN ਸੂਚੀ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2156479741307463576">"FDN ਸਕਿਰਿਆਕਰਨ"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਸਮਰਥਿਤ ਹਨ"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅਸਮਰਥਿਤ ਹਨ"</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"FDN ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="disable_fdn" msgid="7944020890722540616">"FDN ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"PIN2 ਬਦਲੋ"</string>
+    <string name="enable_fdn_ok" msgid="7215588870329688132">"FDN ਨੂੰ ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"FDN ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"FDN ਪਹੁੰਚ ਲਈ PIN ਬਦਲੋ"</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"ਫੋਨ ਨੰਬਰ ਸੂਚੀ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="voice_privacy" msgid="3776841382844614716">"ਵੌਇਸ ਪ੍ਰਾਈਵੇਸੀ"</string>
+    <string name="voice_privacy_summary" msgid="3159383389833516214">"ਵਿਸਤ੍ਰਿਤ ਪ੍ਰਾਈਵੇਸੀ ਮੋਡ ਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="tty_mode_option_title" msgid="9033098925144434669">"TTY ਮੋਡ"</string>
+    <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY ਮੋਡ ਸੈਟ ਕਰੋ"</string>
+    <string name="auto_retry_mode_title" msgid="4073265511427813322">"ਆਟੋ-ਰੀਟ੍ਰਾਈ"</string>
+    <string name="auto_retry_mode_summary" msgid="4973886004067532288">"ਆਟੋ-ਰੀਟ੍ਰਾਈ ਮੋਡ ਨੂੰ ਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"TTY ਮੋਡ ਪਰਿਵਰਤਨ ਨੂੰ ਵੀਡੀਓ ਕਾਲ ਦੇ ਦੌਰਾਨ ਅਨੁਮਤੀ ਨਹੀਂ ਹੈ"</string>
+    <string name="menu_add" msgid="1882023737425114762">"ਸੰਪਰਕ ਜੋੜੋ"</string>
+    <string name="menu_edit" msgid="7143003705504672374">"ਸੰਪਰਕ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
+    <string name="menu_delete" msgid="3977150783449642851">"ਸੰਪਰਕ ਮਿਟਾਓ"</string>
+    <string name="get_pin2" msgid="8204677063922225311">"PIN2 ਟਾਈਪ ਕਰੋ"</string>
+    <string name="name" msgid="7329028332786872378">"ਨਾਮ"</string>
+    <string name="number" msgid="7905950798349903858">"ਨੰਬਰ"</string>
+    <string name="save" msgid="4094274636321939086">"ਸੁਰੱਖਿਅਤ ਕਰੋ"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਜੋੜੋ"</string>
+    <string name="adding_fdn_contact" msgid="7627379633721940991">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਜੋੜ ਰਿਹਾ ਹੈ…"</string>
+    <string name="fdn_contact_added" msgid="7458335758501736665">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਜੋੜਿਆ ਗਿਆ।"</string>
+    <string name="edit_fdn_contact" msgid="7976936035587081480">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਸੰਪਾਦਿਤ ਕਰੋ"</string>
+    <string name="updating_fdn_contact" msgid="8370929876849803600">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅਪਡੇਟ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="fdn_contact_updated" msgid="5497828782609005017">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਅਪਡੇਟ ਕੀਤਾ।"</string>
+    <string name="delete_fdn_contact" msgid="6668958073074151717">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾਓ"</string>
+    <string name="deleting_fdn_contact" msgid="5669163206349319969">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="fdn_contact_deleted" msgid="7154162327112259569">"ਫਿਕਸਡ ਡਾਇਲਿੰਗ ਨੰਬਰ ਮਿਟਾਇਆ।"</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"FDN ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ ਕਿਉਂਕਿ ਤੁਸੀਂ ਇੱਕ ਗ਼ਲਤ PIN ਟਾਈਪ ਕੀਤਾ ਸੀ।"</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"FDN ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ ਕਿਉਂਕਿ ਨੰਬਰ 20 ਅੰਕਾਂ ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੋ ਸਕਦਾ।"</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN ਅਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ। PIN2 ਗ਼ਲਤ ਸੀ ਜਾਂ ਫੋਨ ਨੰਬਰ ਅਸਵੀਕਾਰ ਕੀਤਾ ਗਿਆ ਸੀ।"</string>
+    <string name="fdn_failed" msgid="540018079008319747">"FDN ਓਪਰੇਸ਼ਨ ਅਸਫਲ।"</string>
+    <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM ਕਾਰਡ ਤੋਂ ਪੜ੍ਹ ਰਿਹਾ ਹੈ…"</string>
+    <string name="simContacts_empty" msgid="5270660846489561932">"ਤੁਹਾਡੇ SIM ਕਾਰਡ ਤੇ ਕੋਈ ਸੰਪਰਕ ਨਹੀਂ।"</string>
+    <string name="simContacts_title" msgid="1861472842524839921">"ਆਯਾਤ ਕਰਨ ਲਈ ਸੰਪਰਕ ਚੁਣੋ"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM ਕਾਰਡ ਤੋਂ ਸੰਪਰਕ ਆਯਾਤ ਕਰਨ ਲਈ ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ ਕਰੋ।"</string>
+    <string name="enable_pin" msgid="5422767284133234860">"SIM PIN ਨੂੰ ਸਮਰੱਥ/ਅਸਮਰੱਥ ਬਣਾਓ"</string>
+    <string name="change_pin" msgid="9174186126330785343">"SIM PIN ਬਦਲੋ"</string>
+    <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
+    <string name="oldPinLabel" msgid="5287773661246368314">"ਪੁਰਾਣਾ PIN"</string>
+    <string name="newPinLabel" msgid="207488227285336897">"ਨਵਾਂ PIN"</string>
+    <string name="confirmPinLabel" msgid="257597715098070206">"ਨਵੇਂ PIN ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+    <string name="badPin" msgid="8955102849303984935">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤਾ ਪੁਰਾਣਾ PIN ਠੀਕ ਨਹੀਂ ਹੈ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="mismatchPin" msgid="5923253370683071889">"ਤੁਹਾਡੇ ਵੱਲੋਂ ਟਾਈਪ ਕੀਤੇ PIN ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="invalidPin" msgid="5981171102258684792">"ਇੱਕ PIN ਟਾਈਪ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਵੇ।"</string>
+    <string name="disable_sim_pin" msgid="3419351358300716472">"SIM PIN ਹਟਾਓ"</string>
+    <string name="enable_sim_pin" msgid="4845145659651484248">"SIM PIN ਸੈਟ ਕਰੋ"</string>
+    <string name="enable_in_progress" msgid="3417917024688497010">"PIN ਸੈਟ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="enable_pin_ok" msgid="2918545971413270063">"PIN ਸੈਟ ਕਰੋ"</string>
+    <string name="disable_pin_ok" msgid="2109571368635883688">"PIN ਹਟਾਇਆ"</string>
+    <string name="pin_failed" msgid="5644377896213584760">"PIN ਗ਼ਲਤ"</string>
+    <string name="pin_changed" msgid="4455736268023261662">"PIN ਅਪਡੇਟ ਕੀਤਾ"</string>
+    <string name="puk_requested" msgid="5921393215789090200">"ਪਾਸਵਰਡ ਗ਼ਲਤ। PIN ਹੁਣ ਬਲੌਕ ਕੀਤਾ। PUK ਦੀ ਬੇਨਤੀ ਕੀਤੀ।"</string>
+    <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"ਪੁਰਾਣਾ PIN2"</string>
+    <string name="newPin2Label" msgid="4573956902204349054">"ਨਵਾਂ PIN2"</string>
+    <string name="confirmPin2Label" msgid="8100319484454787708">"ਨਵੇਂ PIN2 ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
+    <string name="badPuk2" msgid="7910064009531541708">"PUK2 ਗ਼ਲਤ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="badPin2" msgid="6646896629970023109">"ਪੁਰਾਣਾ PIN2 ਗ਼ਲਤ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="mismatchPin2" msgid="4177967478551851117">"PIN ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="invalidPin2" msgid="1757045131429105595">"ਇੱਕ PIN2 ਦਰਜ ਕਰੋ ਜੋ 4 ਤੋਂ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਵੇ।"</string>
+    <string name="invalidPuk2" msgid="7059081153334815973">"ਇੱਕ PUK2 ਦਰਜ ਕਰੋ ਜੋ 8 ਸੰਖਿਆਵਾਂ ਦਾ ਹੋਵੇ।"</string>
+    <string name="pin2_changed" msgid="3724522579945610956">"PIN2 ਅਪਡੇਟ ਕੀਤਾ"</string>
+    <string name="label_puk2_code" msgid="4688069961795341948">"PUK2 ਕੋਡ ਦਰਜ ਕਰੋ"</string>
+    <string name="fdn_enable_puk2_requested" msgid="4991074891459554705">"ਪਾਸਵਰਡ ਗ਼ਲਤ। PIN2 ਹੁਣ ਬਲੌਕ ਕੀਤਾ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ PIN 2 ਬਦਲੋ।"</string>
+    <string name="puk2_requested" msgid="5831015200030161434">"ਪਾਸਵਰਡ ਗ਼ਲਤ। SIM ਹੁਣ ਲੌਕ ਹੈ। PUK2 ਦਰਜ ਕਰੋ।"</string>
+    <string name="puk2_blocked" msgid="3150263853077280049">"PUK2 ਸਥਾਈ ਤੌਰ ਤੇ ਬਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
+    <string name="pin2_attempts" msgid="720736232885011507">\n"ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।"</string>
+    <string name="pin2_unblocked" msgid="7791600368153469078">"PIN2 ਹੁਣ ਬਲੌਕ ਨਹੀਂ ਹੈ"</string>
+    <string name="doneButton" msgid="2859593360997984240">"ਹੋ ਗਿਆ"</string>
+    <string name="voicemail_settings_number_label" msgid="8524164258691887790">"ਵੌਇਸਮੇਲ ਨੰਬਰ"</string>
+    <string name="card_title_dialing" msgid="5769417478498348054">"ਡਾਇਲ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="card_title_redialing" msgid="8253487008234167266">"ਮੁੜ ਡਾਇਲ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="card_title_conf_call" msgid="1162980346189744501">"ਕਾਨਫਰੰਸ ਕਾਲ"</string>
+    <string name="card_title_incoming_call" msgid="7364539451234646909">"ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+    <string name="card_title_call_ended" msgid="5544730338889702298">"ਕਾਲ ਖ਼ਤਮ ਹੋਈ"</string>
+    <string name="card_title_on_hold" msgid="821463117892339942">"ਹੋਲਡ ਤੇ"</string>
+    <string name="card_title_hanging_up" msgid="3999101620995182450">"ਹੈਂਗ ਅਪ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="card_title_in_call" msgid="6346543933068225205">"ਇਨ ਕਾਲ"</string>
+    <string name="notification_dialing" msgid="2107666444937350731">"ਡਾਇਲ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="notification_missedCallTitle" msgid="7554385905572364535">"ਮਿਸਡ ਕਾਲ"</string>
+    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"ਮਿਸਡ ਕਾਲਾਂ"</string>
+    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ਮਿਸਡ ਕਾਲਾਂ"</string>
+    <string name="notification_missedCallTicker" msgid="504686252427747209">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> ਵੱਲੋਂ ਮਿਸਡ ਕਾਲ"</string>
+    <string name="notification_ongoing_call" msgid="7068688957273482989">"ਜਾਰੀ ਕਾਲ"</string>
+    <string name="notification_on_hold" msgid="3480694969511790465">"ਹੋਲਡ ਤੇ"</string>
+    <string name="notification_incoming_call" msgid="2820429205043529642">"ਇਨਕਮਿੰਗ ਕਾਲ"</string>
+    <string name="notification_voicemail_title" msgid="8933468752045550523">"ਨਵੀਂ ਵੌਇਸਮੇਲ"</string>
+    <string name="notification_voicemail_title_count" msgid="4366360747660929916">"ਨਵੀਂ ਵੌਇਸਮੇਲ (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+    <string name="notification_voicemail_text_format" msgid="4447323569453981685">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> ਡਾਇਲ ਕਰੋ"</string>
+    <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ਵੌਇਸਮੇਲ ਨੰਬਰ ਅਗਿਆਤ"</string>
+    <string name="notification_network_selection_title" msgid="4224455487793492772">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ"</string>
+    <string name="notification_network_selection_text" msgid="2607085729661923269">"ਚੁਣੇ ਗਏ ਨੈਟਵਰਕ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ਅਣਉਪਲਬਧ"</string>
+    <string name="notification_action_end_call" msgid="6069460915123531620">"ਹੈਂਗ ਅਪ ਕਰੋ"</string>
+    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"ਕਾਲ ਬੈਕ ਕਰੋ"</string>
+    <string name="notification_missedCall_message" msgid="3049928912736917988">"ਸੁਨੇਹਾ"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ ਕਰੋ।"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ਏਅਰਪਲੇਨ ਮੋਡ ਬੰਦ ਕਰੋ ਜਾਂ ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ ਇੱਕ ਵਾਇਰਲੈਸ ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰੋ।"</string>
+    <string name="incall_error_emergency_only" msgid="4678640422710818317">"ਨੈਟਵਰਕ ਤੇ ਰਜਿਸਟਰ ਨਹੀਂ ਕੀਤਾ।"</string>
+    <string name="incall_error_out_of_service" msgid="4100065333878929223">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"ਸੈਲਿਊਲਰ ਨੈਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ ਹੈ। ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ ਇੱਕ ਵਾਇਰਲੈਸ ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰੋ।"</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ, ਇੱਕ ਪ੍ਰਮਾਣਿਕ ਨੰਬਰ ਦਰਜ ਕਰੋ।"</string>
+    <string name="incall_error_call_failed" msgid="6302746943230078197">"ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+    <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI ਕੜੀ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="incall_error_supp_service_unknown" msgid="655570339115407698">"ਸੇਵਾ ਸਮਰਥਿਤ ਨਹੀਂ"</string>
+    <string name="incall_error_supp_service_switch" msgid="5237002176899962862">"ਕਾਲਾਂ ਸਵਿਚ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+    <string name="incall_error_supp_service_separate" msgid="7224393405134545246">"ਕਾਲ ਵੱਖ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+    <string name="incall_error_supp_service_transfer" msgid="7235952238189391438">"ਟ੍ਰਾਂਸਫਰ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+    <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ਕਾਨਫਰੰਸ ਕਾਲਾਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ।"</string>
+    <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ਕਾਲ ਅਸਵੀਕਾਰ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+    <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ਕਾਲ(ਕਾਲਾਂ) ਰਿਲੀਜ ਨਹੀਂ ਕਰ ਸਕਦਾ।"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ਇੱਕ ਕਾਲ ਕਰਨ ਲਈ ਇੱਕ ਵਾਇਰਲੈਸ ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰੋ।"</string>
+    <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ਐਮਰਜੈਂਸੀ ਕਾਲ"</string>
+    <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ਰੇਡੀਓ ਚਾਲੂ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"ਕੋਈ ਸੇਵਾ ਨਹੀਂ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="dial_emergency_error" msgid="1509085166367420355">"ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ। <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> ਇੱਕ ਐਮਰਜੈਂਸੀ ਨੰਬਰ ਨਹੀਂ ਹੈ।"</string>
+    <string name="dial_emergency_empty_error" msgid="9130194953830414638">"ਕਾਲ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਇੱਕ ਐਮਰਜੈਂਸੀ ਨੰਬਰ ਡਾਇਲ ਕਰੋ।"</string>
+    <string name="dialerKeyboardHintText" msgid="9192914825413747792">"ਡਾਇਲ ਕਰਨ ਲਈ ਕੀਬੋਰਡ ਵਰਤੋ"</string>
+    <string name="onscreenHoldText" msgid="2285258239691145872">"ਹੋਲਡ ਕਰੋ"</string>
+    <string name="onscreenEndCallText" msgid="4403855834875398585">"ਖ਼ਤਮ"</string>
+    <string name="onscreenShowDialpadText" msgid="8561805492659639893">"ਡਾਇਲਪੈਡ"</string>
+    <string name="onscreenMuteText" msgid="5011369181754261374">"ਮਿਊਟ ਕਰੋ"</string>
+    <string name="onscreenAddCallText" msgid="5140385634712287403">"ਕਾਲ ਜੋੜੋ"</string>
+    <string name="onscreenMergeCallsText" msgid="6640195098064538950">"ਕਾਲਾਂ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="onscreenSwapCallsText" msgid="1602990689244030047">"ਸਵੈਪ ਕਰੋ"</string>
+    <string name="onscreenManageCallsText" msgid="5473231160123254154">"ਕਾਲਾਂ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="onscreenManageConferenceText" msgid="6485935856534311346">"ਕਾਨਫਰੰਸ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="onscreenAudioText" msgid="1710087112800041743">"ਔਡੀਓ"</string>
+    <string name="onscreenVideoCallText" msgid="4800924186056115442">"ਵੀਡੀਓ ਕਾਲ"</string>
+    <string name="importSimEntry" msgid="6614358325359736031">"ਆਯਾਤ ਕਰੋ"</string>
+    <string name="importAllSimEntries" msgid="1503181169636198673">"ਸਾਰੇ ਆਯਾਤ ਕਰੋ"</string>
+    <string name="importingSimContacts" msgid="7374056215462575769">"SIM ਸੰਪਰਕ ਆਯਾਤ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="importToFDNfromContacts" msgid="2130620207013368580">"ਸੰਪਰਕਾਂ ਤੋਂ ਆਯਾਤ ਕਰੋ"</string>
+    <string name="hac_mode_title" msgid="8740268574688743289">"ਹੀਅਰਿੰਗ ਏਡਸ"</string>
+    <string name="hac_mode_summary" msgid="6833851160514929341">"ਹੀਅਰਿੰਗ ਏਡ ਅਨੁਕੂਲਤਾ ਚਾਲੂ ਕਰੋ"</string>
+  <string-array name="tty_mode_entries">
+    <item msgid="512950011423868021">"TTY ਬੰਦ"</item>
+    <item msgid="3971695875449640648">"TTY ਪੂਰਾ"</item>
+    <item msgid="1937509904407445684">"TTY HCO"</item>
+    <item msgid="5644925873488772224">"TTY VCO"</item>
+  </string-array>
+    <string name="dtmf_tones_title" msgid="5163153771291340803">"DTMF ਟੋਨਾਂ"</string>
+    <string name="dtmf_tones_summary" msgid="3351820372864020331">"DTMF ਟੋਨਾਂ ਦੀ ਲੰਮਾਈ ਸੈਟ ਕਰੋ"</string>
+  <string-array name="dtmf_tone_entries">
+    <item msgid="899650777817315681">"ਸਧਾਰਨ"</item>
+    <item msgid="2883365539347850535">"ਲੰਮਾ"</item>
+  </string-array>
+    <string name="network_info_message" msgid="7738596060242881930">"ਨੈਟਵਰਕ ਸੁਨੇਹਾ"</string>
+    <string name="network_error_message" msgid="3394780436230411413">"ਅਸ਼ੁੱਧੀ ਸੁਨੇਹਾ"</string>
+    <string name="ota_title_activate" msgid="8616918561356194398">"ਆਪਣਾ ਫੋਨ ਸਕਿਰਿਆ ਬਣਾਓ"</string>
+    <string name="ota_touch_activate" msgid="6553212803262586244">"ਤੁਹਾਡੇ ਫੋਨ ਨੂੰ ਸਕਿਰਿਆ ਬਣਾਉਣ ਲਈ ਇੱਕ ਖ਼ਾਸ ਕਾਲ ਕੀਤੇ ਜਾਣ ਦੀ ਲੋੜ ਹੈ। \n\n“ਸਕਿਰਿਆ ਬਣਾਓ”, ਨੂੰ ਦਬਾਉਣ ਤੋਂ ਬਾਅਦ, ਤੁਹਾਡੇ ਫੋਨ ਸਕਿਰਿਆ ਬਣਾਉਣ ਲਈ ਮੁਹੱਈਆ ਕੀਤੇ ਨਿਰਦੇਸ਼ ਸੁਣੋ।"</string>
+    <string name="ota_hfa_activation_title" msgid="2234246934160473981">"ਸਕਿਰਿਆ ਬਣਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="ota_hfa_activation_dialog_message" msgid="8092479227918463415">"ਫੋਨ ਤੁਹਾਡੀ ਮੋਬਾਈਲ ਡਾਟਾ ਸੇਵਾ ਸਕਿਰਿਆ ਨਹੀਂ ਬਣਾ ਸਕਦਾ।\n\nਇਸ ਵਿੱਚ 5 ਮਿੰਟ ਤੱਕ ਲੱਗ ਸਕਦੇ ਹਨ।"</string>
+    <string name="ota_skip_activation_dialog_title" msgid="2943366608272261306">"ਕੀ ਸਕਿਰਿਆਕਰਨ ਛੱਡਣਾ ਹੈ?"</string>
+    <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"ਜੇਕਰ ਤੁਸੀਂ ਸਕਿਰਿਆਕਰਨ ਛੱਡਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਕਾਲਾਂ ਨਹੀਂ ਕਰ ਸਕਦੇ ਜਾਂ ਮੋਬਾਈਲ ਡਾਟਾ ਨੈਟਵਰਕਾਂ ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਦੇ (ਹਾਲਾਂਕਿ ਤੁੁਸੀਂ Wi-Fi ਨੈਟਵਰਕਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰ ਸਕਦੇ ਹੋ)। ਜਦੋਂ ਤੱਕ ਤੁਹਾਡਾ ਫੋਨ ਸਕਿਰਿਆ ਨਾ ਹੋਵੇ, ਜਦੋਂ ਵੀ ਤੁਸੀਂ ਇਸਨੂੰ ਚਾਲੂ ਕਰੋਗੇ, ਹਰ ਵਾਰ ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਸਕਿਰਿਆ ਬਣਾਉਣ ਲਈ ਕਿਹਾ ਜਾਏਗਾ।"</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="3458532775091563208">"ਛੱਡੋ"</string>
+    <string name="ota_activate" msgid="1368528132525626264">"ਸਕਿਰਿਆ ਬਣਾਓ"</string>
+    <string name="ota_title_activate_success" msgid="6570240212263372046">"ਫੋਨ ਸਕਿਰਿਆ ਬਣਾਇਆ ਗਿਆ ਹੈ।"</string>
+    <string name="ota_title_problem_with_activation" msgid="7095824491970084367">"ਸਕਿਰਿਆਕਰਨ ਵਿੱਚ ਸਮੱਸਿਆ"</string>
+    <string name="ota_listen" msgid="162923839877584937">"ਬੋਲੇ ਗਏ ਨਿਰਦੇਸ਼ਾਂ ਦੀ ਪਾਲਣਾ ਕਰੋ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇਹ ਨਾ ਸੁਣ ਲਓ ਕਿ ਸਕਿਰਿਆਕਰਨ ਪੂਰਾ ਹੈ।"</string>
+    <string name="ota_speaker" msgid="6904589278542719647">"ਸਪੀਕਰ"</string>
+    <string name="ota_progress" msgid="460876637828044519">"ਤੁਹਾਡਾ ਫੋਨ ਪ੍ਰੋਗ੍ਰਾਮਿੰਗ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="ota_failure" msgid="7713756181204620397">"ਤੁਹਾਡਾ ਫੋਨ ਪ੍ਰੋਗਰਾਮ ਨਹੀਂ ਕਰ ਸਕਿਆ"</string>
+    <string name="ota_successful" msgid="1880780692887077407">"ਤੁਹਾਡਾ ਫੋਨ ਹੁਣ ਸਕਿਰਿਆ ਬਣਾਇਆ ਗਿਆ ਹੈ। ਸੇਵਾ ਨੂੰ ਚਾਲੂ ਹੋਣ ਵਿੱਚ 15 ਮਿੰਟ ਤੱਕ ਲੱਗ ਸਕਦੇ ਹਨ।"</string>
+    <string name="ota_unsuccessful" msgid="8072141612635635357">"ਤੁਹਾਡਾ ਫੋਨ ਸਕਿਰਿਆ ਨਹੀਂ ਹੋਇਆ ਸੀ। \nਤੁਹਾਨੂੰ ਬਿਹਤਰ ਕਵਰੇਜ ਵਾਲਾ ਇੱਕ ਖੇਤਰ ਲੱਭਣ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ (ਇੱਕ ਖਿੜਕੀ ਦੇ ਨੇੜੇ ਜਾਂ ਬਾਹਰ ਵੱਲ)। \n\n ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜਾਂ ਹੋਰ ਚੋਣਾਂ ਲਈ ਗਾਹਕ ਸੇਵਾ ਨੂੰ  ਕਾਲ ਕਰੋ।"</string>
+    <string name="ota_spc_failure" msgid="3909983542575030796">"ਵਾਧੂ SPC ਅਸਫਲਤਾਵਾਂ"</string>
+    <string name="ota_call_end" msgid="4537279738134612388">"ਪਿੱਛੇ"</string>
+    <string name="ota_try_again" msgid="7685477206465902290">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+    <string name="ota_next" msgid="3904945374358235910">"ਅਗਲਾ"</string>
+    <string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
+    <string name="phone_entered_ecm_text" msgid="6266424252578731203">"ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਦਰਜ ਕੀਤਾ"</string>
+    <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ"</string>
+    <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਅਸਮਰਥਿਤ"</string>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one"> <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਕੋਈ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਨਹੀਂ</item>
+      <item quantity="other"> <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਕੋਈ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਨਹੀਂ</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋ ਜਾਏਗਾ। ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਇੱਕ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਵਰਤ ਰਹੇ ਕੋਈ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੇ ਨਹੀਂ ਜਾ ਸਕਦੇ ਹਨ।  ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
+      <item quantity="other">ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋ ਜਾਏਗਾ। ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਇੱਕ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਵਰਤ ਰਹੇ ਕੋਈ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੇ ਨਹੀਂ ਜਾ ਸਕਦੇ ਹਨ।  ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">ਚੁਣੀ ਗਈ ਕਿਰਿਆ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
+      <item quantity="other">ਚੁਣੀ ਗਈ ਕਿਰਿਆ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ। ਫੋਨ <xliff:g id="COUNT_1">%s</xliff:g> ਮਿੰਟਾਂ ਲਈ ਇਸ ਮੋਡ ਵਿੱਚ ਹੋਵੇਗਾ। ਕੀ ਤੁਸੀਂ ਹੁਣ ਬਾਹਰ ਜਾਣਾ ਚਾਹੁੰਦੇ ਹੋ?</item>
+    </plurals>
+    <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"ਚੁਣੀ ਗਈ ਕਿਰਿਆ ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚ ਹੋਣ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।"</string>
+    <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"ਐਮਰਜੈਂਸੀ ਕਾਲਬੈਕ ਮੋਡ ਵਿੱਚੋਂ ਬਾਹਰ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="alert_dialog_yes" msgid="6674268047820703974">"ਹਾਂ"</string>
+    <string name="alert_dialog_no" msgid="1476091437797628703">"ਨਹੀਂ"</string>
+    <string name="alert_dialog_dismiss" msgid="2491494287075907171">"ਬਰਖਾਸਤ ਕਰੋ"</string>
+    <string name="voicemail_provider" msgid="5135942703327136909">"ਸੇਵਾ"</string>
+    <string name="voicemail_settings" msgid="72448049107749316">"ਸੈਟਅਪ"</string>
+    <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;ਸੈਟ ਨਹੀਂ ਕੀਤਾ&gt;"</string>
+    <string name="other_settings" msgid="3672912580359716394">"ਹੋਰ ਕਾਲ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="calling_via_template" msgid="4839419581866928142">"<xliff:g id="PROVIDER_NAME">%s</xliff:g> ਰਾਹੀਂ ਕਾਲ ਕਰ ਰਿਹਾ ਹੈ"</string>
+    <string name="contactPhoto" msgid="4713193418046639466">"ਸੰਪਰਕ ਫੋਟੋ"</string>
+    <string name="goPrivate" msgid="865837794424530980">"ਨਿੱਜੀ ਜਾਓ"</string>
+    <string name="selectContact" msgid="781975788478987237">"ਸੰਪਰਕ ਚੁਣੋ"</string>
+    <string name="not_voice_capable" msgid="2739898841461577811">"ਵੌਇਸ ਕਾਲਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ"</string>
+    <string name="description_dial_button" msgid="7459705245418435351">"ਡਾਇਲ ਕਰੋ"</string>
+    <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"ਵਾਈਬ੍ਰੇਟ"</string>
+    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"ਵਾਈਬ੍ਰੇਟ"</string>
+    <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"ਅਵਾਜ਼"</string>
+    <string name="dial_pad_autocomplete" msgid="7683489952557536398">"ਡਾਇਲਪੈਡ ਆਟੋਕੰਪਲੀਟ"</string>
+    <string name="preference_category_ringtone" msgid="5197960752529332721">"ਰਿੰਗਟੋਨ &amp; ਵਾਈਬ੍ਰੇਟ"</string>
+    <string name="pstn_connection_service_label" msgid="1743245930577325900">"ਬਿਲਟ-ਇਨ SIM ਕਾਰਡ"</string>
+    <string name="enable_video_calling_title" msgid="7237253660669000899">"ਵੀਡੀਓ ਕਾਲਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"ਵੀਡੀਓ ਕਾਲਿੰਗ ਚਾਲੂ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਵਿਸਤ੍ਰਿਤ 4G LTE ਮੋਡ ਸਮਰੱਥ ਬਣਾਉਣ ਦੀ ਲੋੜ ਹੈ।"</string>
+    <string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"ਬੰਦ ਕਰੋ"</string>
+    <string name="sim_label_emergency_calls" msgid="4847699229529306397">"ਐਮਰਜੈਂਸੀ ਕਾਲਾਂ"</string>
+    <string name="sim_description_emergency_calls" msgid="7535215397212301562">"ਕੇਵਲ ਐਮਰਜੈਂਸੀ ਕਾਲਿੰਗ"</string>
+    <string name="sim_description_default" msgid="4778679519938775515">"SIM ਕਾਰਡ, ਸਲੌਟ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ਪਹੁੰਚਯੋਗਤਾ"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ਇਨਕਮਿੰਗ Wi-Fi ਕਾਲ"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi ਕਾਲ"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"ਖੋਲ੍ਹਣ ਲਈ ਦੁਬਾਰਾ ਛੋਹਵੋ"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"ਸੁਨੇਹਾ ਡੀਕੋਡ ਕਰਦੇ ਸਮੇਂ ਇੱਕ ਅਸ਼ੁੱਧੀ ਹੋਈ ਸੀ।"</string>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 1807818..1e31f3b 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -55,9 +55,9 @@
     <string name="mobile_network_settings_not_available" msgid="3831911315358856062">"Ustawienia sieci komórkowej są niedostępne dla tego użytkownika"</string>
     <string name="labelGSMMore" msgid="5930842194056092106">"Ustawienia połączenia GSM"</string>
     <string name="labelCDMAMore" msgid="1630676740428229339">"Ustawienia połączenia CDMA"</string>
-    <string name="apn_settings" msgid="9043423184895642077">"Punkty dostępowe"</string>
+    <string name="apn_settings" msgid="9043423184895642077">"Punkty dostępu"</string>
     <string name="settings_label" msgid="3876743539816984008">"Ustawienia sieci"</string>
-    <string name="phone_accounts" msgid="6376603393888116364">"Połączenia z kontami"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"Konta telefoniczne"</string>
     <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"Nawiązuj połączenia z konta"</string>
     <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"Nawiązuj połączenia SIP z konta"</string>
     <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"Najpierw zapytaj"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Konta telefonu"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Dodaj konto SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurowanie ustawień konta"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Połączenie Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Połączenia przez Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nie używaj połączeń Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nie używaj asystenta połączeń"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Brak"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfiguruj"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Wbudowana usługa połączeń"</string>
     <string name="voicemail" msgid="8693759337917898954">"Poczta głosowa"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Poczta głosowa (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Poczta głosowa:"</string>
     <string name="networks" msgid="8873030692174541976">"Operatorzy sieci"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Komunikaty alarmowe"</string>
@@ -88,7 +89,7 @@
     <string name="additional_cdma_call_settings" msgid="8628958775721886909">"Dodatkowe ustawienia połączenia CDMA"</string>
     <string name="sum_cdma_call_settings" msgid="284753265979035549">"Dodatkowe ustawienia tylko połączenia CDMA"</string>
     <string name="labelNwService" msgid="4699970172021870983">"Ustawienia usługi sieciowej"</string>
-    <string name="labelCallerId" msgid="3888899447379069198">"ID rozmówcy"</string>
+    <string name="labelCallerId" msgid="3888899447379069198">"Nazwa rozmówcy"</string>
     <string name="sum_loading_settings" msgid="1826692909391168620">"Wczytywanie ustawień…"</string>
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"Ukrycie numeru podczas rozmów wychodzących"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"Numer wyświetlany w połączeniach wychodzących"</string>
@@ -106,17 +107,17 @@
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"Numer jest niedostępny"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"Wyłączone"</string>
     <string name="labelCFB" msgid="6139853033106283172">"Gdy zajęty"</string>
-    <string name="messageCFB" msgid="3711089705936187129">"Numer, gdy zajęty"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"Przekieruj na numer"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"Przekazywanie do <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"Wyłączone"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer jest zajęty."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"Gdy nie odbieram"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"Numer, gdy nieodebrane"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Przekieruj na numer"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Przekazywanie do <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Wyłączone"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer nie odpowiada."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Gdy niedostępny"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Numer, gdy nieosiągalny."</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Przekieruj na numer"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Przekazywanie do <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Wyłączone"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Twój operator nie umożliwia wyłączenia przekazywania połączeń, gdy numer jest nieosiągalny."</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Połącz z usługami przesyłu danych podczas roamingu"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Połącz z usługami przesyłu danych podczas roamingu"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Połączenie transmisji danych zostało utracone, ponieważ opuszczono sieć macierzystą przy wyłączonej opcji danych w roamingu."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Zezwalać na przesyłanie danych w roamingu? Mogą obowiązywać wysokie opłaty."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Mogą się z tym wiązać wysokie opłaty."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Zezwolić na roaming danych?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opcje GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opcje CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Użycie danych"</string>
@@ -343,13 +345,14 @@
     <string name="disable_fdn_ok" msgid="5727046928930740173">"Włącz ustalone numery"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"Zarządzanie ustalonymi numerami"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Zmień kod PIN pozwalający na zarządzanie ustalonymi numerami"</string>
-    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Zarządzanie listą numerów telefonów"</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Zarządzaj listą numerów telefonów"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Prywatność połączeń głosowych"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"Włącz rozszerzony tryb prywatności"</string>
     <string name="tty_mode_option_title" msgid="9033098925144434669">"Tryb TTY"</string>
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Ustaw tryb TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automatyczne ponawianie próby"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Włącz tryb automatycznego ponawiania próby"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Trybu TTY nie można zmienić w trakcie rozmowy wideo"</string>
     <string name="menu_add" msgid="1882023737425114762">"Dodaj kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Edytuj kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Usuń kontakt"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Czytanie z karty SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Brak kontaktów na karcie SIM"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Wybierz kontakty do importowania"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Aby zaimportować kontakty z karty SIM, najpierw wyłącz tryb samolotowy."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Wyłącz tryb samolotowy, by zaimportować kontakty z karty SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Włącz/wyłącz kod PIN do karty SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Zmień PIN do karty SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Kod PIN do karty SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Rozłącz"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Oddzwoń"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Wiadomość"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Aby rozpocząć połączenie, wyłącz najpierw tryb samolotowy"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Wyłącz tryb samolotowy, by zadzwonić."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Wyłącz tryb samolotowy lub połącz się z siecią bezprzewodową, by zadzwonić."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Nie zarejestrowano w sieci"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Sieć komórkowa jest niedostępna."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Sieć komórkowa jest niedostępna. Połącz się z siecią bezprzewodową, by zadzwonić."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Aby zadzwonić, wybierz prawidłowy numer."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Nie można dzwonić."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Rozpoczynanie sekwencji MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nie można prowadzić rozmów konferencyjnych."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Nie można odrzucić połączenia."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Nie można zwolnić połączeń."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Połącz się z siecią bezprzewodową, by zadzwonić."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Połączenie alarmowe"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Trwa włączanie sieci bezprzewodowych..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Brak sieci. Próbuję ponownie…"</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Włączono tryb alarmowego połączenia zwrotnego"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Tryb alarmowego połączenia zwrotnego"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Połączenie transmisji danych jest wyłączone"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Brak połączenia transmisji danych przez <xliff:g id="COUNT">%s</xliff:g> min"</item>
-    <item quantity="other" msgid="3122217344579273583">"Brak połączenia transmisji danych przez <xliff:g id="COUNT">%s</xliff:g> min"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon będzie w trybie alarmowym połączenia zwrotnego przez <xliff:g id="COUNT">%s</xliff:g> minutę. W tym trybie nie można korzystać z aplikacji używających połączeń danych. Czy chcesz teraz wyjść?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon będzie w trybie alarmowym połączenia zwrotnego przez <xliff:g id="COUNT">%s</xliff:g> min. W tym trybie nie można korzystać z aplikacji używających połączeń danych. Czy chcesz teraz wyjść?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Wybrana akcja nie jest dostępna w trybie alarmowym połączenia zwrotnego. Telefon będzie w tym trybie <xliff:g id="COUNT">%s</xliff:g> min. Czy chcesz teraz wyjść?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Wybrana akcja nie jest dostępna w trybie alarmowym połączenia zwrotnego. Telefon będzie w tym trybie <xliff:g id="COUNT">%s</xliff:g> min. Czy chcesz teraz wyjść?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="few">Brak połączenia transmisji danych przez <xliff:g id="COUNT_1">%s</xliff:g> minuty</item>
+      <item quantity="many">Brak połączenia transmisji danych przez <xliff:g id="COUNT_1">%s</xliff:g> minut</item>
+      <item quantity="other">Brak połączenia transmisji danych przez <xliff:g id="COUNT_1">%s</xliff:g> minuty</item>
+      <item quantity="one">Brak połączenia transmisji danych przez <xliff:g id="COUNT_0">%s</xliff:g> minutę</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="few">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
+      <item quantity="many">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minut. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
+      <item quantity="other">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
+      <item quantity="one">Telefon będzie w trybie alarmowego połączenia zwrotnego przez <xliff:g id="COUNT_0">%s</xliff:g> minutę. W tym trybie nie można używać aplikacji, które korzystają z połączenia transmisji danych. Chcesz zakończyć tryb teraz?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="few">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcesz zakończyć tryb teraz?</item>
+      <item quantity="many">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_1">%s</xliff:g> minut. Chcesz zakończyć tryb teraz?</item>
+      <item quantity="other">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_1">%s</xliff:g> minuty. Chcesz zakończyć tryb teraz?</item>
+      <item quantity="one">Wybrana czynność jest niedostępna w trybie alarmowego połączenia zwrotnego. Telefon będzie w tym trybie przez <xliff:g id="COUNT_0">%s</xliff:g> minutę. Chcesz zakończyć tryb teraz?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Wybrana akcja jest niedostępna przy nawiązanym połączeniu alarmowym."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Kończenie trybu alarmowego połączenia zwrotnego"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Tak"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Połączenia alarmowe"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Tylko połączenia alarmowe"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Karta SIM, gniazdo: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Ułatwienia dostępu"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Przychodzące połączenie przez Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Połączenie przez Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Kliknij ponownie, by otworzyć"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Podczas dekodowania wiadomości wystąpił błąd."</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 7593f21..7b74760 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Contas do telemóvel"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Adicionar conta SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurar as definições da conta"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Chamadas Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Chamadas Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Não utilizar chamadas de Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Não utilizar o assistente de chamadas"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nenhum"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurar"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Serviço de ligação incorporado"</string>
     <string name="voicemail" msgid="8693759337917898954">"Correio de voz"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Correio de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Correio de voz:"</string>
     <string name="networks" msgid="8873030692174541976">"Operadores de rede"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Transmissões de emergência"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Ligar a serviços de dados em roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Ligar a serviços de dados em roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"A conectividade de dados foi perdida porque saiu do alcance da sua rede e o roaming de dados estava desativado."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Pretende permitir a utilização de dados em roaming? Podem aplicar-se custos significativos."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Podem ser cobrados custos significativos."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Pretende permitir roaming de dados?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opções GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opções CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Utilização de dados"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Definir modo TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Nova tentativa automática"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Ativar modo Nova tentativa automática"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Não é permitido alterar o modo teletipo durante uma videochamada"</string>
     <string name="menu_add" msgid="1882023737425114762">"Adicionar contacto"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Editar contacto"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Eliminar contacto"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"A ler a partir do cartão SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Sem contactos no cartão SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Seleccione os contactos a importar"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar contactos do cartão SIM, primeiro desative o Modo de Avião."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Desative o modo de avião para importar contactos do cartão SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Ativar/desativar o PIN do cartão SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Alterar o PIN do cartão SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN do SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Desligar"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ligar de volta"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensagem"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Para efectuar uma chamada, desactive primeiro o modo para Avião."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Desative o modo de avião para fazer uma chamada."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Desative o modo de avião ou ligue-se a uma rede sem fios para fazer uma chamada."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Sem registo na rede."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rede móvel não disponível."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"A rede móvel não está disponível. Ligue-se a uma rede sem fios para fazer uma chamada."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Para telefonar, introduza um número válido."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Não é possível telefonar."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"A iniciar sequência de MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Não é possível efectuar chamadas de conferência."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Não é possível rejeitar a chamada."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Não é possível libertar a(s) chamada(s)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Ligue-se a uma rede sem fios para fazer uma chamada."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emergência"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"A ligar o rádio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Sem serviço. A tentar novamente…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Entrou em Modo de Chamada de Retorno de Emergência"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de Chamada de Retorno de Emergência"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Ligação de dados desativada"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Sem ligação de dados durante <xliff:g id="COUNT">%s</xliff:g> minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Sem ligação de dados durante <xliff:g id="COUNT">%s</xliff:g> minutos"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"O telemóvel ficará no modo de Chamada de Retorno de Emergência durante <xliff:g id="COUNT">%s</xliff:g> minuto. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?"</item>
-    <item quantity="other" msgid="8617116564023933114">"O telemóvel ficará no modo de Chamada de Retorno de Emergência durante <xliff:g id="COUNT">%s</xliff:g> minutos. Enquanto estiver neste modo, não é possível utilizar aplicações que utilizem uma ligação de dados. Pretende sair agora?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"A ação selecionada não está disponível no modo de Chamada de Retorno de Emergência. O telemóvel ficará neste modo durante <xliff:g id="COUNT">%s</xliff:g> minutos. Pretende sair agora?"</item>
-    <item quantity="other" msgid="6115622137771382224">"A ação selecionada não está disponível no modo de Chamada de Retorno de Emergência. O telemóvel ficará neste modo durante <xliff:g id="COUNT">%s</xliff:g> minutos. Pretende sair agora?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Sem ligação de dados durante <xliff:g id="COUNT_1">%s</xliff:g> minutos</item>
+      <item quantity="one">Sem ligação de dados durante <xliff:g id="COUNT_0">%s</xliff:g> minuto</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">O telemóvel fica no modo de Chamada de emergência durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Neste modo, não é possível utilizar aplicações com uma ligação de dados. Pretende sair agora?</item>
+      <item quantity="one">O telemóvel fica no modo de Chamada de emergência durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Neste modo, não é possível utilizar aplicações com uma ligação de dados. Pretende sair agora?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">A ação selecionada não está disponível no modo de Chamada de emergência. O telemóvel fica neste modo durante <xliff:g id="COUNT_1">%s</xliff:g> minutos. Pretende sair agora?</item>
+      <item quantity="one">A ação selecionada não está disponível no modo de Chamada de emergência. O telemóvel fica neste modo durante <xliff:g id="COUNT_0">%s</xliff:g> minuto. Pretende sair agora?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"A ação selecionada não está disponível durante uma chamada de emergência."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"A sair do modo de chamada de retorno de emergência"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Sim"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Chamadas de emergência"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Apenas chamadas de emergência"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Cartão SIM, ranhura: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Acessibilidade"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Chamada Wi-Fi recebida"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Chamada Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Tocar novamente para abrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Ocorreu um erro durante a descodificação da mensagem."</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 3ba5032..6fe7506 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Contas de telefone"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Adicionar conta SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurar conta"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Chamadas por Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Chamadas por Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Não usar chamadas por Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Não usar o assistente de chamada"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Nenhum"</string>
@@ -78,12 +78,13 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurar"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Serviço de conexão integrado"</string>
     <string name="voicemail" msgid="8693759337917898954">"Correio de voz"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Correio de voz (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Operadoras de rede"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Transmissões de emergência"</string>
     <string name="call_settings" msgid="6112441768261754562">"Configurações de chamadas"</string>
-    <string name="additional_gsm_call_settings" msgid="1391795981938800617">"Configurações adicionais"</string>
-    <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"Configurações adicionais (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="additional_gsm_call_settings" msgid="1391795981938800617">"Config. adicionais"</string>
+    <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"Config. adicionais (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="sum_gsm_call_settings" msgid="4076647190996778012">"Configurações adicionais somente de chamada GSM"</string>
     <string name="additional_cdma_call_settings" msgid="8628958775721886909">"Configurações de chamada CDMA adicionais"</string>
     <string name="sum_cdma_call_settings" msgid="284753265979035549">"Configurações adicionais somente de chamada CDMA"</string>
@@ -96,8 +97,8 @@
     <string name="labelCW" msgid="6120513814915920200">"Chamada em espera"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"Durante uma chamada, me avise sobre chamadas recebidas"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"Durante uma chamada, me avise sobre chamadas recebidas"</string>
-    <string name="call_forwarding_settings" msgid="3378927671091537173">"Configurações de encaminhamento de chamada"</string>
-    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Configurações de encaminhamento de chamada (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"Config. de encaminhamento de chamada"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Config. de encaminhamento de chamada (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="labelCF" msgid="2574386948026924737">"Encaminhamento"</string>
     <string name="labelCFU" msgid="8147177368148660600">"Sempre encaminhar"</string>
     <string name="messageCFU" msgid="3560082430662923687">"Sempre usar este número"</string>
@@ -116,7 +117,7 @@
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Desativado"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Sua operadora não suporta a desativação do encaminhamento de chamada quando seu telefone não responde."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Quando inacessível"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Número quando não acessível"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Número quando inacessível"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Encaminhando para <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Desativado"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Sua operadora não suporta a desativação do encaminhamento de chamada quando seu telefone não está acessível."</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Conectar aos serviços de dados quando estiver em roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Conectar aos serviços de dados quando estiver em roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Você perdeu a conectividade de dados porque deixou o roaming de dados de sua rede doméstica desativado."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Permitir o uso de dados em roaming? Podem ser aplicadas taxas significativas."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Pode acarretar cobranças significativas"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Permitir roaming de dados?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opções GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opções CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Uso de dados"</string>
@@ -346,10 +348,11 @@
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Gerenciar lista de números telefônicos"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Privacidade de voz"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"Ativar modo de privacidade aprimorado"</string>
-    <string name="tty_mode_option_title" msgid="9033098925144434669">"Modo TTY"</string>
-    <string name="tty_mode_option_summary" msgid="1073835131534808732">"Definir modo TTY"</string>
+    <string name="tty_mode_option_title" msgid="9033098925144434669">"Modo TTD"</string>
+    <string name="tty_mode_option_summary" msgid="1073835131534808732">"Definir modo TTD"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Repetir automaticamente"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Ativar modo Repetir automaticamente"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Não é permitida a alteração do modo TTD durante uma vídeo chamada"</string>
     <string name="menu_add" msgid="1882023737425114762">"Adicionar contato"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Editar contato"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Excluir contato"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Lendo a partir do cartão SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Não há contatos no seu cartão SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Selecione os contatos a serem importados"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Para importar os contatos do cartão SIM, primeiro desligue o modo avião."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Desative o modo avião para importar contatos do cartão SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Ativar/desativar PIN do SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Alterar PIN do SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN do SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Desligar"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Retornar chamada"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensagem"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Para fazer uma chamada, primeiro desative o modo avião."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Desative o modo avião para fazer uma chamada."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Desative o modo avião ou conecte-se a uma rede sem fio para fazer uma chamada."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Não registrado na rede."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rede celular não disponível."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"A rede celular não está disponível. Conecte-se a uma rede sem fio para fazer uma chamada."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Para realizar uma chamada, digite um número válido."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Não é possível realizar chamadas."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iniciando sequência MMI…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Não é possível realizar conferências telefônicas."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Não é possível rejeitar a chamada."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Não é possível liberar chamadas."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Conecte-se a uma rede sem fio para fazer uma chamada."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Chamada de emergência"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ativando o rádio…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Sem serviço. Tentando novamente..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Modo de retorno de chamada de emergência acessado"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modo de retorno de chamada de emergência"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Conexão de dados desativada"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Nenhuma conexão de dados durante <xliff:g id="COUNT">%s</xliff:g> minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Nenhuma conexão de dados durante <xliff:g id="COUNT">%s</xliff:g> minutos"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"O telefone estará no modo de retorno de chamada de emergência por <xliff:g id="COUNT">%s</xliff:g> minuto. Nesse modo, nenhum app que utiliza uma conexão de dados pode ser usado. Você deseja sair agora?"</item>
-    <item quantity="other" msgid="8617116564023933114">"O telefone estará no modo de retorno de chamada de emergência por <xliff:g id="COUNT">%s</xliff:g> minutos. Nesse modo, nenhum app que utiliza uma conexão de dados pode ser usado. Você deseja sair agora?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"A ação selecionada não está disponível no modo de retorno de chamada de emergência. O telefone estará nesse modo por <xliff:g id="COUNT">%s</xliff:g> minuto. Você deseja sair agora?"</item>
-    <item quantity="other" msgid="6115622137771382224">"A ação selecionada não está disponível no modo de retorno de chamada de emergência. O telefone estará nesse modo por <xliff:g id="COUNT">%s</xliff:g> minutos. Você deseja sair agora?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Nenhuma conexão de dados durante <xliff:g id="COUNT_1">%s</xliff:g> minutos</item>
+      <item quantity="other">Nenhuma conexão de dados durante <xliff:g id="COUNT_1">%s</xliff:g> minutos</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">O smartphone ficará no modo de retorno de chamada de emergência por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Nesse modo, não será possível usar apps que utilizem conexão de dados. Deseja sair agora?</item>
+      <item quantity="other">O smartphone ficará no modo de retorno de chamada de emergência por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Nesse modo, não será possível usar apps que utilizem conexão de dados. Deseja sair agora?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">A ação selecionada não está disponível no modo de retorno de chamada de emergência. O smartphone ficará nesse modo por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Deseja sair agora?</item>
+      <item quantity="other">A ação selecionada não está disponível no modo de retorno de chamada de emergência. O smartphone ficará nesse modo por <xliff:g id="COUNT_1">%s</xliff:g> minutos. Deseja sair agora?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"A ação selecionada não está disponível durante uma chamada de emergência."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Saindo do modo de retorno de chamada de emergência"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Sim"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Chamadas de emergência"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Somente chamadas de emergência"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Cartão SIM, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Acessibilidade"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Chamada por Wi-Fi recebida"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Chamada por Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Toque novamente para abrir"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Ocorreu um erro ao decodificar a mensagem."</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 69370df..fc89323 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -28,7 +28,7 @@
     <string name="mmiStarted" msgid="6347869857061147003">"Cod MMI pornit"</string>
     <string name="ussdRunning" msgid="485588686340541690">"Se rulează codul USSD..."</string>
     <string name="mmiCancelled" msgid="2771923949751842276">"Cod MMI anulat"</string>
-    <string name="cancel" msgid="5044513931633602634">"Anulaţi"</string>
+    <string name="cancel" msgid="5044513931633602634">"Anulați"</string>
     <string name="enter_input" msgid="1810529547726803893">"Mesajul USSD trebuie să aibă între <xliff:g id="MIN_LEN">%d</xliff:g> și <xliff:g id="MAX_LEN">%d</xliff:g> caractere. Încercați din nou."</string>
     <string name="manageConferenceLabel" msgid="4691922394301969053">"Gestionaţi teleconferinţa"</string>
     <string name="ok" msgid="3811371167865772377">"OK"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Conturi telefon"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Adăugați un cont SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Configurați setările contului"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Apelare prin Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Apelare prin Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nu folosiți apelarea prin Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nu folosiți un asistent de apelare"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Niciunul"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Configurați"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Serviciu de conectare încorporat"</string>
     <string name="voicemail" msgid="8693759337917898954">"Mesaj vocal"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Mesagerie vocală (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"MV:"</string>
     <string name="networks" msgid="8873030692174541976">"Operatori de reţea"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Transmisiuni de urgență"</string>
@@ -129,7 +130,7 @@
     <string name="reverting_settings" msgid="4752151682666912828">"Se revine la setări..."</string>
     <string name="response_error" msgid="6674110501330139405">"Răspuns neaşteptat de la reţea."</string>
     <string name="exception_error" msgid="7027667130619518211">"Eroare de reţea sau de card SIM."</string>
-    <string name="fdn_check_failure" msgid="18200614306525434">"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."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"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."</string>
     <string name="radio_off_error" msgid="2304459933248513376">"Activaţi semnalul radio, înainte de a vizualiza aceste setări."</string>
     <string name="close_dialog" msgid="2365884406356986917">"OK"</string>
     <string name="enable" msgid="7248657275000173526">"Activați"</string>
@@ -143,7 +144,7 @@
     <string name="vm_changed" msgid="380744030726254139">"Număr mesagerie vocală modificat."</string>
     <string name="vm_change_failed" msgid="3352934863246208918">"Nu s-a putut schimba numărul de mesagerie vocală.\nContactaţi operatorul în cazul în care această problemă persistă."</string>
     <string name="fw_change_failed" msgid="5298103228470214665">"Nu s-a putut schimba numărul de redirecţionare.\nContactaţi operatorul dvs. în cazul în care această problemă persistă."</string>
-    <string name="fw_get_in_vm_failed" msgid="8862896836093833973">"Nu s-au putut prelua şi salva setările actuale ale numărului de redirecţionare.\nDoriţi să comutaţi oricum către un nou furnizor de servicii?"</string>
+    <string name="fw_get_in_vm_failed" msgid="8862896836093833973">"Nu s-au putut prelua și salva setările actuale ale numărului de redirecţionare.\nDoriţi să comutaţi oricum către un nou furnizor de servicii?"</string>
     <string name="no_change" msgid="3186040086622435212">"Nicio schimbare efectuată."</string>
     <string name="sum_voicemail_choose_provider" msgid="59911196126278922">"Alegeţi serviciul de mesagerie vocală"</string>
     <string name="voicemail_default" msgid="2001233554889016880">"Operatorul dvs."</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Conectaţi-vă la serviciile de date în roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Conectaţi-vă la serviciile de date în roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Aţi pierdut conectivitatea la date, deoarece aţi părăsit reţeaua de domiciliu neavând activat roamingul de date."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Permiteți utilizarea de date în roaming? Se pot aplica taxe substanțiale."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Se pot acumula costuri mari."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Permiteți roamingul de date?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Opţiuni GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Opţiuni CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Utilizarea datelor"</string>
@@ -233,7 +235,7 @@
     <string name="maintenance_enable" msgid="8566636458770971189">"Întreţinere activată"</string>
     <string name="maintenance_disable" msgid="7340189100885066077">"Întreţinere dezactivată"</string>
     <string name="general_news_settings" msgid="4968779723948432978">"Știri generale"</string>
-    <string name="bf_news_settings" msgid="3935593091894685267">"Știri despre afaceri şi financiare"</string>
+    <string name="bf_news_settings" msgid="3935593091894685267">"Știri despre afaceri și financiare"</string>
     <string name="sports_news_settings" msgid="7649399631270052835">"Știri din sport"</string>
     <string name="entertainment_news_settings" msgid="5051153952959405035">"Știri de divertisment"</string>
     <string name="enable_disable_local" msgid="7890281063123416120">"Local"</string>
@@ -296,9 +298,9 @@
     <string name="enable_disable_eo" msgid="4863043263443942494">"Oportunităţi de angajare"</string>
     <string name="eo_enable" msgid="8623559062015685813">"Oportunităţi de angajare activate"</string>
     <string name="eo_disable" msgid="3863812478090907609">"Oportunităţi de angajare dezactivate"</string>
-    <string name="enable_disable_mhh" msgid="908214593528968522">"Medicină, sănătate şi spitale"</string>
-    <string name="mhh_enable" msgid="5544500632306446815">"Medicină, sănătate şi spitale activate"</string>
-    <string name="mhh_disable" msgid="8998210550117117437">"Medicină, sănătate şi spitale dezactivate"</string>
+    <string name="enable_disable_mhh" msgid="908214593528968522">"Medicină, sănătate și spitale"</string>
+    <string name="mhh_enable" msgid="5544500632306446815">"Medicină, sănătate și spitale activate"</string>
+    <string name="mhh_disable" msgid="8998210550117117437">"Medicină, sănătate și spitale dezactivate"</string>
     <string name="enable_disable_technology_news" msgid="3517184627114999149">"Știri din tehnologie"</string>
     <string name="technology_news_enable" msgid="7995209394210455181">"Știri din tehnologie activate"</string>
     <string name="technology_news_disable" msgid="5483490380561851946">"Știri din tehnologie dezactivate"</string>
@@ -316,7 +318,7 @@
     <item msgid="1205664026446156265">"Automat"</item>
   </string-array>
     <string name="cdma_subscription_title" msgid="1162564010076763284">"Abonament CMDA"</string>
-    <string name="cdma_subscription_summary" msgid="2530890766115781140">"Comutaţi între RUIM/SIM şi NV"</string>
+    <string name="cdma_subscription_summary" msgid="2530890766115781140">"Comutaţi între RUIM/SIM și NV"</string>
     <string name="cdma_subscription_dialogtitle" msgid="2699527950523333110">"abonament"</string>
   <string-array name="cdma_subscription_choices">
     <item msgid="2258014151300708431">"RUIM/SIM"</item>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Setaţi modul TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Reîncercare automată"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Activaţi modul Reîncercare automată"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Schimbarea modului TTY nu este permisă în timpul unui apel video"</string>
     <string name="menu_add" msgid="1882023737425114762">"Adăugaţi o persoană în agendă"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Modificaţi informaţiile despre persoana din agendă"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Ștergeţi persoana din agendă"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Se citeşte de pe cardul SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Nicio persoană în agenda de pe cardul dvs. SIM."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Selectaţi persoanele din agendă care se importă"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Pentru a importa agenda de pe cardul SIM, dezactivaţi mai întâi modul Avion."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Pentru a importa persoane de contact de pe cardul SIM, dezactivați modul Avion."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Activaţi/dezactivaţi codul PIN al cardului SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Schimbaţi codul PIN pentru SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Codul PIN pentru cardul SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Încheiaţi apelul"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Sunaţi înapoi"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesaj"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Pentru a efectua un apel, mai întâi dezactivaţi modul Avion."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Pentru a apela, dezactivați modul Avion."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Pentru a apela, dezactivați modul Avion sau conectați-vă la o rețea wireless."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Neînregistrat în reţea."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rețeaua mobilă nu este disponibilă"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Rețeaua mobilă nu este disponibilă. Pentru a apela, conectați-vă la o rețea wireless."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Pentru a apela, introduceți un număr valid."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Nu se poate apela."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Se porneşte secvenţa MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Teleconferinţa nu se poate efectua."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Apelul nu poate fi respins."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Apelurile nu pot fi eliberate."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Pentru a apela, conectați-vă la o rețea wireless."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Apel de urgenţă"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Se activează semnalul radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Fără semnal. Se încearcă din nou..."</string>
@@ -489,7 +495,7 @@
     <string name="ota_hfa_activation_title" msgid="2234246934160473981">"Se activează..."</string>
     <string name="ota_hfa_activation_dialog_message" msgid="8092479227918463415">"Serviciul de date mobile este în curs de activare pe telefonul dvs.\n\nAcest proces poate dura până la 5 minute."</string>
     <string name="ota_skip_activation_dialog_title" msgid="2943366608272261306">"Omiteţi activarea?"</string>
-    <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"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."</string>
+    <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"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."</string>
     <string name="ota_skip_activation_dialog_skip_label" msgid="3458532775091563208">"Omiteţi"</string>
     <string name="ota_activate" msgid="1368528132525626264">"Activaţi"</string>
     <string name="ota_title_activate_success" msgid="6570240212263372046">"Telefonul este activat."</string>
@@ -508,18 +514,21 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"S-a activat modul de apelare inversă de urgenţă"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Mod de apelare inversă de urgenţă"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Conexiune de date dezactivată"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Nicio conexiune de date pentru <xliff:g id="COUNT">%s</xliff:g> minut"</item>
-    <item quantity="other" msgid="3122217344579273583">"Nicio conexiune de date pentru <xliff:g id="COUNT">%s</xliff:g> (de) minute"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefonul va fi în modul Apelare inversă de urgenţă pentru <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefonul va fi în modul Apelare inversă de urgenţă pentru <xliff:g id="COUNT">%s</xliff:g> (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?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Acţiunea selectată nu este disponibilă în modul Apelare inversă de urgenţă. Telefonul va rămâne în acest mod pentru <xliff:g id="COUNT">%s</xliff:g> minut. Doriţi să ieşiţi acum?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Acţiunea selectată nu este disponibilă în modul Apelare inversă de urgenţă. Telefonul va rămâne în acest mod pentru <xliff:g id="COUNT">%s</xliff:g> (de) minute. Doriţi să ieşiţi acum?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="few">Nicio conexiune de date timp de <xliff:g id="COUNT_1">%s</xliff:g> minute</item>
+      <item quantity="other">Nicio conexiune de date timp de <xliff:g id="COUNT_1">%s</xliff:g> de minute</item>
+      <item quantity="one">Nicio conexiune de date timp de <xliff:g id="COUNT_0">%s</xliff:g> minut</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="few">Telefonul va fi în modul Apelare inversă de urgență pentru <xliff:g id="COUNT_1">%s</xliff:g> minute. Când telefonul este în acest mod, nu se poate folosi nicio aplicație care necesită o conexiune de date. Doriți să ieșiți acum?</item>
+      <item quantity="other">Telefonul va fi în modul Apelare inversă de urgență pentru <xliff:g id="COUNT_1">%s</xliff:g> de minute. Când telefonul este în acest mod, nu se poate folosi nicio aplicație care necesită o conexiune de date. Doriți să ieșiți acum?</item>
+      <item quantity="one">Telefonul va fi în modul Apelare inversă de urgență pentru <xliff:g id="COUNT_0">%s</xliff:g> minut. Când telefonul este în acest mod, nu se poate folosi nicio aplicație care necesită o conexiune de date. Doriți să ieșiți acum?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="few">Acțiunea selectată nu este disponibilă când telefonul este în modul Apelare inversă de urgență. Telefonul va fi în acest mod pentru <xliff:g id="COUNT_1">%s</xliff:g> minute. Doriți să ieșiți acum?</item>
+      <item quantity="other">Acțiunea selectată nu este disponibilă când telefonul este în modul Apelare inversă de urgență. Telefonul va fi în acest mod pentru <xliff:g id="COUNT_1">%s</xliff:g> de minute. Doriți să ieșiți acum?</item>
+      <item quantity="one">Acțiunea selectată nu este disponibilă când telefonul este în modul Apelare inversă de urgență. Telefonul va fi în acest mod pentru <xliff:g id="COUNT_0">%s</xliff:g> minut. Doriți să ieșiți acum?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Acţiunea selectată nu este disponibilă în timpul efectuării unui apel de urgenţă."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Se iese din modul Apelare inversă de urgenţă"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Da"</string>
@@ -548,4 +557,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Apeluri de urgență"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Numai apeluri de urgență"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Cardul SIM, slotul: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accesibilitate"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Apel prin Wi-Fi primit"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Apel prin Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Atingeți din nou pentru a deschide"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"A apărut o eroare la decodificarea mesajului."</string>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index e8da44c..807c757 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -18,7 +18,7 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
   <string-array name="preferred_network_mode_choices_world_mode">
-    <item msgid="3391522821603584785">"Глобальные"</item>
+    <item msgid="3391522821603584785">"Global"</item>
     <item msgid="6753774959494729275">"LTE/CDMA"</item>
     <item msgid="8658695584186942227">"LTE/GSM/UMTS"</item>
   </string-array>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 8298960..02087a0 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Аккаунты для звонков"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Добавить SIP-аккаунт"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Задать настройки аккаунта"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Звонок через Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Звонки по Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не использовать Wi-Fi для звонков"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не использовать ассистент"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Не использовать"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Настроить"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Встроенная служба подключения"</string>
     <string name="voicemail" msgid="8693759337917898954">"Голосовая почта"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Голосовая почта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ГП:"</string>
     <string name="networks" msgid="8873030692174541976">"Операторы связи"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Уведомления о чрезвычайных ситуациях"</string>
@@ -92,13 +93,13 @@
     <string name="sum_loading_settings" msgid="1826692909391168620">"Загрузка настроек…"</string>
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"Скрывать номер при исходящих вызовах"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"Номер, отображающийся при исходящих вызовах"</string>
-    <string name="sum_default_caller_id" msgid="1954518825510901365">"При исходящих вызовах использовать для отображения моего номера настройки, предоставляемые оператором"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"Использовать стандартные настройки оператора для показа моего номера при исходящих вызовах"</string>
     <string name="labelCW" msgid="6120513814915920200">"Параллельный вызов"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"Извещать меня о входящих вызовах во время разговора"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"Извещать меня о входящих вызовах во время разговора"</string>
-    <string name="call_forwarding_settings" msgid="3378927671091537173">"Настройки переадресации вызова"</string>
-    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Настройки переадресации вызовов (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="labelCF" msgid="2574386948026924737">"Переадресация вызова"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"Переадресация"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Переадресация (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="labelCF" msgid="2574386948026924737">"Переадресация вызовов"</string>
     <string name="labelCFU" msgid="8147177368148660600">"Переадресовывать всегда"</string>
     <string name="messageCFU" msgid="3560082430662923687">"Всегда переадресовывать вызов на этот номер"</string>
     <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"Переадресация всех вызовов"</string>
@@ -106,23 +107,23 @@
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"Номер не указан"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"Выкл."</string>
     <string name="labelCFB" msgid="6139853033106283172">"Если номер занят"</string>
-    <string name="messageCFB" msgid="3711089705936187129">"Номер, использующийся, когда линия занята"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"Переадресовывать на этот номер"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"Переадресация на номер <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"Выкл."</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Ваш оператор не позволяет отключать переадресацию вызовов, если телефон занят."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"Если нет ответа"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"Номер для переадресации при отсутствии ответа"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Переадресовывать на этот номер"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Переадресация на номер <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Выкл."</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Ваш оператор не позволяет отключать переадресацию вызовов, если нет ответа."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Если номер недоступен"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Номер для переадресации, если абонент недоступен"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Переадресовывать на этот номер"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Переадресация на номер <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Отключено"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Ваш оператор не позволяет отключать переадресацию вызовов, если телефон находится вне зоны доступа."</string>
     <string name="updating_title" msgid="6146755386174019046">"Настройки вызовов"</string>
     <string name="call_settings_primary_user_only" msgid="5679923943740900965">"Настройки вызовов может изменить только основной пользователь."</string>
-    <string name="call_settings_with_label" msgid="89359812614544532">"Настройки вызовов (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"Настройки (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="error_updating_title" msgid="7970259216988931777">"Ошибка настройки вызовов"</string>
     <string name="reading_settings" msgid="1920291699287055284">"Чтение настроек…"</string>
     <string name="updating_settings" msgid="8171225533884883252">"Обновление настроек…"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Подключаться к службам передачи данных в роуминге"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Подключаться к службам передачи данных в роуминге"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Мобильный Интернет в роуминге отключен. Вы можете включить интернет-роуминг в настройках."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Разрешить передачу данных в роуминге? Может взиматься повышенная плата."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Возможны значительные расходы."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Разрешить интернет-роуминг?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Параметры GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Параметры CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Передача данных"</string>
@@ -338,11 +340,11 @@
     <string name="fdn_activation" msgid="2156479741307463576">"Активация разреш. номеров"</string>
     <string name="fdn_enabled" msgid="5238109009915521240">"Разрешенные номера включены"</string>
     <string name="fdn_disabled" msgid="4700049736675368279">"Разрешенные номера отключены"</string>
-    <string name="enable_fdn" msgid="3740191529180493851">"Вкл. разреш. номера"</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"Вкл. разрешенные номера"</string>
     <string name="disable_fdn" msgid="7944020890722540616">"Откл. разреш. номера"</string>
     <string name="change_pin2" msgid="2153563695382176676">"Изменить PIN2"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"Откл. разреш. номера"</string>
-    <string name="disable_fdn_ok" msgid="5727046928930740173">"Вкл. разреш. номера"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"Вкл. разрешенные номера"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"Управление списком разрешенных номеров"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Изменить PIN для доступа к списку разрешенных номеров"</string>
     <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Управление списком разрешенных номеров"</string>
@@ -352,6 +354,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Установить режим телетайпа"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Автодозвон"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Включить режим автодозвона"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Режим телетайтпа нельзя изменить во время видеозвонка"</string>
     <string name="menu_add" msgid="1882023737425114762">"Добавить контакт"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Изменить контакт"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Удалить контакт"</string>
@@ -359,7 +362,7 @@
     <string name="name" msgid="7329028332786872378">"Имя"</string>
     <string name="number" msgid="7905950798349903858">"Номер"</string>
     <string name="save" msgid="4094274636321939086">"Сохранить"</string>
-    <string name="add_fdn_contact" msgid="2481915899633353976">"Добавить номер ограниченного набора"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"Добавить номер"</string>
     <string name="adding_fdn_contact" msgid="7627379633721940991">"Выполняется добавление номера ограниченного набора..."</string>
     <string name="fdn_contact_added" msgid="7458335758501736665">"Номер ограниченного набора добавлен."</string>
     <string name="edit_fdn_contact" msgid="7976936035587081480">"Изменить номер ограниченного набора"</string>
@@ -375,7 +378,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Считывание с SIM-карты…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"На SIM-карте нет контактов."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Выберите контакты для импорта"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Чтобы перенести контакты с SIM-карты, отключите режим полета."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Чтобы импортировать контакты с SIM-карты, отключите режим полета."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Включить/отключить запрос PIN SIM-карты"</string>
     <string name="change_pin" msgid="9174186126330785343">"Изменить PIN SIM-карты"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN SIM-карты:"</string>
@@ -436,9 +439,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Завершить разговор"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Позвонить"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Написать"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Перед тем как звонить, отключите режим полета."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Чтобы позвонить, отключите режим полета."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Чтобы позвонить, отключите режим полета и подключитесь к Wi-Fi."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Нет регистрации в сети."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Мобильная сеть недоступна."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Мобильная сеть недоступна. Чтобы позвонить, подключитесь к Wi-Fi."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Недействительный номер."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Не удалось позвонить."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Запуск последовательности MMI..."</string>
@@ -449,6 +454,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Не удается создать конференц-вызов."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Не удалось отклонить вызов."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Не удалось разъединить."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Чтобы позвонить, подключитесь к Wi-Fi."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Экстренный вызов"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Включение радио…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Нет сигнала. Повторная попытка…"</string>
@@ -510,18 +516,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Телефон переведен в режим экстренных обратных вызовов"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Режим экстренных обратных вызовов"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Передача данных отключена"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Подключение для передачи данных отсутствует <xliff:g id="COUNT">%s</xliff:g> мин."</item>
-    <item quantity="other" msgid="3122217344579273583">"Подключение для передачи данных отсутствует <xliff:g id="COUNT">%s</xliff:g> мин."</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефон будет оставаться в режиме экстренных обратных вызовов еще <xliff:g id="COUNT">%s</xliff:g> мин. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефон будет оставаться в режиме экстренных обратных вызовов еще <xliff:g id="COUNT">%s</xliff:g> мин. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Выбранное действие невозможно при экстренных обратных вызовах. Телефон будет оставаться в этом режиме еще <xliff:g id="COUNT">%s</xliff:g> мин. Выйти?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Выбранное действие невозможно при экстренных обратных вызовах. Телефон будет оставаться в этом режиме еще <xliff:g id="COUNT">%s</xliff:g> мин. Выйти?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Подключение для передачи данных отсутствует <xliff:g id="COUNT_1">%s</xliff:g> минуту</item>
+      <item quantity="few">Подключение для передачи данных отсутствует <xliff:g id="COUNT_1">%s</xliff:g> минуты</item>
+      <item quantity="many">Подключение для передачи данных отсутствует <xliff:g id="COUNT_1">%s</xliff:g> минут</item>
+      <item quantity="other">Подключение для передачи данных отсутствует <xliff:g id="COUNT_1">%s</xliff:g> минуты</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минуту. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
+      <item quantity="few">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минуты. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
+      <item quantity="many">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минут. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
+      <item quantity="other">Режим экстренных обратных вызовов будет действовать ещё <xliff:g id="COUNT_1">%s</xliff:g> минуты. При этом будут недоступны приложения с поддержкой передачи данных. Выйти?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё на <xliff:g id="COUNT_1">%s</xliff:g> минуту. Выйти?</item>
+      <item quantity="few">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё <xliff:g id="COUNT_1">%s</xliff:g> минуты. Выйти?</item>
+      <item quantity="many">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё на <xliff:g id="COUNT_1">%s</xliff:g> минут. Выйти?</item>
+      <item quantity="other">Эта операция недоступна в режиме экстренных обратных вызовов. Телефон останется в этом режиме ещё на <xliff:g id="COUNT_1">%s</xliff:g> минуты. Выйти?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Выбранное действие невозможно при экстренном вызове."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Выход из режима экстренных обратных вызовов"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Да"</string>
@@ -550,4 +562,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Экстренные вызовы"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Только экстренные вызовы"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-карта, разъем: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Специальные возможности"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Входящий Wi-Fi-звонок"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi-звонок"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Нажмите ещё раз, чтобы открыть"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"При расшифровке сообщения произошла ошибка."</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
index 7d9ef31..7179afa 100644
--- a/res/values-si-rLK/strings.xml
+++ b/res/values-si-rLK/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"දුරකථන ගිණුම්"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ගිණුම් එකතු කරන්න"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ගිණුමේ සැකසීම් වින්‍යාස කරන්න"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi ඇමතීම"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi ඇමතීම"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi ඇමතුම භාවිතා කරන්න එපා"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ඇමතුම් සහායක භාවිතා කරන්න එපා"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"කිසිවක් නැත"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"වින්‍යාස කිරීම"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"තිළැලි සම්බන්ධතා සේවාව"</string>
     <string name="voicemail" msgid="8693759337917898954">"හඬ තැපෑල"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"හඬ තැපෑල (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"ජාල ක්‍රියාකරුවන්"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"හදිසි විකාශන"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"රෝමින් අතරතුර දත්ත සේවා වෙත සම්බන්ධ වන්න"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"රෝමින් අතරතුර දත්ත සේවා වෙත සම්බන්ධ වන්න"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"ඔබගේ නිවාස ජාලය ඔබ හැර ගිය විට දත්ත රෝමින් අක්‍රිය වන බැවින් දත්ත සම්බන්ධතාවය ඔබට නැති වෙයි"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"රෝමින් විට දත්ත භාවිතය ඉඩ දෙන්නද? සැලකිය යුතු වෙනස් කිරීම් ඇතැම් විට යෙදේ."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"ඔබ සැලකිය යුතු ගාස්තු ඇති විය හැකිය."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"දත්ත රෝමින් සඳහා අවසර දෙන්න ද"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS විකල්ප"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA විකල්ප"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"දත්ත භාවිතය"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY ආකාරය සකසන්න"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ස්වයංක්‍රීය නැවත උත්සාහ කිරීම"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"ස්වයංක්‍රීය නැවත උත්සාහ කිරීමේ ආකාරය සබල කරන්න"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"වීඩියෝ ඇමතුමක් අතරතුර TTY මෝඩය වෙනස් වීමකට අවසර නැත"</string>
     <string name="menu_add" msgid="1882023737425114762">"සම්බන්ධතාවය එක් කරන්න"</string>
     <string name="menu_edit" msgid="7143003705504672374">"සම්බන්ධතාව සංස්කරණය කරන්න"</string>
     <string name="menu_delete" msgid="3977150783449642851">"සම්බන්ධතාවය මකා දමන්න"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM කාඩ් පතෙන් කියවමින්…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"ඔබගේ SIM පතෙහි සම්බන්ධතා නොමැත."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"ආයාත කිරීමට සම්බන්ධතා තෝරන්න"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM කාඩ් පත වෙතින් සම්බන්ධතා ආයාත කිරීමට, මුලින්ම ගුවන්යානා ආකාරය අක්‍රිය කරන්න."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"සිම් කාඩ් සම්බන්ධතා ආනයනය කිරීමට ගුවන් යානා මෝඩය අක්‍රිය කරන්න."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN සබල/අබල කරන්න"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN වෙනස් කරන්න"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"විසන්ධි කරන්න"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"නැවත අමතන්න"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"පණිවිඩය"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"ඇමතුමක් ගැනීමට, මුලින්ම ගුවන්යානා ආකාරය අක්‍රිය කරන්න."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ඇමතුමක් ගැනීමට ගුවන් යානා මාදිලිය අක්‍රිය කරන්න."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ඇමතුමක් ලබා ගැනීමට ගුවන් යානා මෝඩය අක්‍රිය කරන්න හෝ රැහැන් රහිත ජාලයකට සම්බන්ධ වෙන්න."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ජාලය මත ලියාපදිංචි වී නැත."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"සෙලියුලර් ජාලය නොමැත"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"සෙලියුලර් ජාලය ලබාගත නොහැක. ඇමතුමක් ගැනීමට රැහැන් රහිත ජාලයකට සම්බන්ධ වෙන්න."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"ඇමතුමක් ලබාගැනීමට, වලංගු අංකයක් ලබාගන්න."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"ඇමතුම් ගැනීමට නොහැක."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI අනුපිළිවෙල ආරම්භ කරමින්…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"සම්මන්ත්‍රණ ඇමතුම් ලබාගත නොහැකි විය."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ඇමතුම ප්‍රතික්ෂේප කළ නොහැක."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ඇමතුම(ම්) මුදාහැරීම කළ නොහැක."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"ඇමතුමක් ගැනීමට රැහැන් රහිත ජාලයක් වෙත සම්බන්ධ වෙන්න."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"හදිසි ඇමතුම"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"රේඩියෝව ආරම්භ කරමින්…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"සේවා නැත. නැවත උත්සාහ කරන්න…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"හදිසි ආපසු ඇමතුම් ආකාරයට ඇතුලත් විණි"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"හදිසි ආපසු ඇමතුම් ආකාරය"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"දත්ත සම්බන්ධතාවය අබලයි"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"මිනිත්තු <xliff:g id="COUNT">%s</xliff:g> සඳහා කිසිඳු දත්ත සම්බන්ධතාවයක් නොමැත"</item>
-    <item quantity="other" msgid="3122217344579273583">"මිනිත්තු <xliff:g id="COUNT">%s</xliff:g> සඳහා කිසිඳු දත්ත සම්බන්ධතාවයක් නොමැත"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"දුරකථනය මිනිත්තු <xliff:g id="COUNT">%s</xliff:g> සඳහා හදිසි පසු ඇමතුම් ආකාරයට පත්වේ. මෙම ආකාරයේ තිබෙන විට දත්ත සම්බන්ධතා භාවිතා කෙරෙන යෙදුම් භාවිතා කළ හැක. ඔබට දැන් පිටත්ව යාමට අවශ්‍යද?"</item>
-    <item quantity="other" msgid="8617116564023933114">"දුරකථනය මිනිත්තු <xliff:g id="COUNT">%s</xliff:g> සඳහා හදිසි පසු ඇමතුම් ආකාරයට පත්වේ. මෙම ආකාරයේ තිබෙන විට දත්ත සම්බන්ධතා භාවිතා කෙරෙන යෙදුම් භාවිතා කළ හැක. ඔබට දැන් පිටත්ව යාමට අවශ්‍යද?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"හදිසි පසු ඇමතුම් ආකාරයේ සිටින විට තෝරා ඇති ක්‍රියාව නොමැත. දුරකථනය මිනිත්තු <xliff:g id="COUNT">%s</xliff:g> කට මෙම ආකාරයට පත්වේ. ඔබ දැන් පිටවීමට අවශ්‍යද?"</item>
-    <item quantity="other" msgid="6115622137771382224">"හදිසි පසු ඇමතුම් ආකාරයේ සිටින විට තෝරා ඇති ක්‍රියාව නොමැත. දුරකථනය මිනිත්තු <xliff:g id="COUNT">%s</xliff:g> කට මෙම ආකාරයට පත්වේ. ඔබ දැන් පිටවීමට අවශ්‍යද?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් දත්ත සම්බන්ධතාවයක් නැත</item>
+      <item quantity="other">මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් දත්ත සම්බන්ධතාවයක් නැත</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. මෙම ආකාරය තුළ සිටින අතරතුර දත්ත සම්බන්ධයක් භාවිත කරන යෙදුම් කිසිවක් භාවිත කළ නොහැකිය. ඔබට දැන් පිටවීමට අවශ්යද?</item>
+      <item quantity="other">දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. මෙම ආකාරය තුළ සිටින අතරතුර දත්ත සම්බන්ධයක් භාවිත කරන යෙදුම් කිසිවක් භාවිත කළ නොහැකිය. ඔබට දැන් පිටවීමට අවශ්යද?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one"> හදිසි ආපසු ඇමතුම් ආකාරය තුළ සිටියදී තෝරන ලද ක්‍රියාව ලබාගත නොහැක. දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. ඔබට දැන් පිටවීමට අවශ්යද?</item>
+      <item quantity="other"> හදිසි ආපසු ඇමතුම් ආකාරය තුළ සිටියදී තෝරන ලද ක්‍රියාව ලබාගත නොහැක. දුරකථනය මිනිත්තු <xliff:g id="COUNT_1">%s</xliff:g> ක් හදිසි ආපසු ඇමතුම් ආකාරය තුළ වනු ඇත. ඔබට දැන් පිටවීමට අවශ්යද?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"හදිසි ඇමතුමක් අතර තුර තෝරන ලද ක්‍රියාව ලබාගත නොහැක."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"හදිසි ආපසු ඇමතුම් ආකාරයෙන් පිට වෙමින්"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ඔව්"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"හදිස්සි ඇමතූම්"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"හදිස්සි ඇමතූම් පමණි"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM කාඩ්පත්, තව්ව: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ප්‍රවේශ්‍යතාව"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"පැමිණෙන Wi-Fi ඇමතුම"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi ඇමතුම"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"විවෘත කිරීමට නැවත ස්පර්ශ කරන්න"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"පණිවිඩය විකේතනය කරන අතරතුර දෝෂයක් සිදු විය."</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 4caa281..7c7179a 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefónne účty"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Pridať účet SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurácia nastavení účtu"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Volanie prostredníctvom siete Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Volanie cez Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Nepoužívať volanie prostredníctvom siete Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Nepoužívať asistenta hovorov"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Žiadny"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurovať"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Vstavaná služba pripojenia"</string>
     <string name="voicemail" msgid="8693759337917898954">"Hlasová schránka"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Hlasová schránka (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"HS:"</string>
     <string name="networks" msgid="8873030692174541976">"Sieťoví operátori"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Núdzové vysielania"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Pripájať sa k dátovým službám pri roamingu"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Pripájať sa k dátovým službám pri roamingu"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Dátové pripojenie bolo prerušené, pretože ste opustili domovskú sieť a máte vypnutý dátový roaming."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Povoliť využívanie dát pri roamingu? Môžu vám byť účtované výrazne vyššie poplatky."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Môžu sa vám účtovať vysoké poplatky."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Povoliť dátový roaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Možnosti GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Možnosti CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Využitie dát"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Nastaviť režim TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Automaticky skúsiť znova"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Povoliť režim Automaticky skúsiť znova."</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Zmena režimu TTY nie je povolená počas videohovoru"</string>
     <string name="menu_add" msgid="1882023737425114762">"Pridať kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Upraviť kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Odstrániť kontakt"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Prebieha čítanie z karty SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Na karte SIM nie sú žiadne kontakty."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Vybrať kontakty na import"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Ak chcete importovať kontakty z karty SIM, vypnite režim v lietadle."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Ak chcete importovať kontakty zo SIM karty, vypnite režim v lietadle."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Povoliť alebo zakázať kód PIN karty SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Zmeniť PIN karty SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Kód PIN karty SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Položiť"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Zavolať späť"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Správa"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Ak chcete telefonovať, vypnite najprv režim v lietadle."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Ak chcete volať, vypnite režim v lietadle"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Ak chcete volať, vypnite režim v lietadle alebo sa pripojte k bezdrôtovej sieti"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Prihlásenie do siete nebolo úspešné."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilná sieť nie je k dispozícii."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilná sieť nie je k dispozícii. Ak chcete volať, pripojte sa k bezdrôtovej sieti."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Ak chcete volať, zadajte platné číslo"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Hovor nie je možné uskutočniť"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Prebieha spúšťanie sekvencie MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Hovory nie je možné spojiť do konferenčného hovoru."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Nedá sa odmietnuť hovor"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Nedajú sa ukončiť hovory"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Ak chcete volať, pripojte sa k bezdrôtovej sieti"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Tiesňové volanie"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Prebieha zapínanie rádia..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Žiadna služba. Prebieha opätovný pokus…"</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Bol aktivovaný režim tiesňového spätného volania"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Režim tiesňového spätného volania"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Dátové pripojenie zakázané"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Žiadne dátové pripojenie po dobu <xliff:g id="COUNT">%s</xliff:g> min"</item>
-    <item quantity="other" msgid="3122217344579273583">"Žiadne dátové pripojenie po dobu <xliff:g id="COUNT">%s</xliff:g> min"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefón bude v režime spätného núdzového volania počas <xliff:g id="COUNT">%s</xliff:g> min. V tomto režime nie je možné používať žiadne aplikácie používajúce dátové pripojenie. Chcete ho ukončiť?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefón bude v režime spätného núdzového volania počas <xliff:g id="COUNT">%s</xliff:g> min. V tomto režime nie je možné používať žiadne aplikácie používajúce dátové pripojenie. Chcete ho ukončiť?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Vybratá akcia nie je k dispozícii v režime Tiesňového spätného volania. Telefón v ňom bude <xliff:g id="COUNT">%s</xliff:g> min. Chcete ho ukončiť?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Vybratá akcia nie je k dispozícii v režime Tiesňového spätného volania. Telefón v ňom bude <xliff:g id="COUNT">%s</xliff:g> min. Chcete ho ukončiť?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="few">Žiadne dátové pripojenie – <xliff:g id="COUNT_1">%s</xliff:g> min</item>
+      <item quantity="many">Žiadne dátové pripojenie – <xliff:g id="COUNT_1">%s</xliff:g> min</item>
+      <item quantity="other">Žiadne dátové pripojenie – <xliff:g id="COUNT_1">%s</xliff:g> min</item>
+      <item quantity="one">Žiadne dátové pripojenie – <xliff:g id="COUNT_0">%s</xliff:g> min</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="few">Telefón bude <xliff:g id="COUNT_1">%s</xliff:g> minúty v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
+      <item quantity="many">Telefón bude <xliff:g id="COUNT_1">%s</xliff:g> minúty v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
+      <item quantity="other">Telefón bude <xliff:g id="COUNT_1">%s</xliff:g> minút v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
+      <item quantity="one">Telefón bude <xliff:g id="COUNT_0">%s</xliff:g> minútu v režime spätného tiesňového volania. Keď bude v tomto režime, nesmiete používať žiadne aplikácie využívajúce dátové pripojenie. Chcete ho ukončiť?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="few">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_1">%s</xliff:g> minúty. Chcete ho ukončiť?</item>
+      <item quantity="many">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_1">%s</xliff:g> minúty. Chcete ho ukončiť?</item>
+      <item quantity="other">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_1">%s</xliff:g> minút. Chcete ho ukončiť?</item>
+      <item quantity="one">Pri spustenom režime spätného tiesňového volania nie je vybraná akcia k dispozícii. Telefón bude v tomto režime <xliff:g id="COUNT_0">%s</xliff:g> minútu. Chcete ho ukončiť?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Počas tiesňového volania nie je vybratá akcia k dispozícii."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Ukončenie režimu tiesňového spätného volania"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Áno"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Tiesňové volania"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Tiesňové volania iba na čísla"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Slot na SIM kartu: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Dostupnosť"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Prich. hovor cez Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Hovor cez Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Otvorte opätovným klepnutím"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Pri dekódovaní správy sa vyskytla chyba"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index e801af9..7e66f2a 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Računi telefona"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Dodaj račun SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguriranje nastavitev računa"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Klicanje prek povezave Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Klicanje prek Wi-Fi-ja"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ne uporabljaj klicanja prek povezave Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ne uporabljaj pomočnika za klicanje"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Brez"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfiguriranje"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Vgrajena storitev povezave"</string>
     <string name="voicemail" msgid="8693759337917898954">"Glasovna pošta"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Odzivnik (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Omrežni operaterji"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Oddaje v sili"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Med gostovanjem vzpostavi povezavo s podatkovnimi storitvami"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Podatkovna povezava ni mogoča, ker ste zapustili domače omrežje, podatkovno gostovanje pa je izklopljeno."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Ali želite omogočiti uporabo podatkov pri gostovanju? Morda vam bodo zaračunani znatni stroški."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Stroški utegnejo biti veliki."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Želite dovoliti podatkovno gostovanje?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Možnosti GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Možnosti CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Uporaba podatkov"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Nastavitev načina TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Samodejen ponovni poskus"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Omogoči način samodejnega ponovnega poskusa"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Sprememba načina TTY ni dovoljena med videoklicem"</string>
     <string name="menu_add" msgid="1882023737425114762">"Dodaj stik"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Urejanje stika"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Izbriši stik"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Branje kartice SIM ..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Na kartici SIM ni stikov."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Izberite stike, ki jih želite uvoziti"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Če želite uvoziti stike s kartice SIM, najprej izklopite način za letalo."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Izklopite način za letalo, če želite uvoziti stike s kartice SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Omogoči/onemogoči PIN kartice SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Spremeni PIN kartice SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN kartice SIM"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Prekinite klic"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Povratni klic"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Sporočilo"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Če želite poklicati, najprej izklopite način za letalo."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Izklopite način za letalo, če želite opraviti klic."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Izklopite način za letalo ali se povežite v omrežje Wi-Fi, če želite opraviti klic."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ni registrirano v omrežju."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobilno omrežje ni na voljo."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobilno omrežje ni na voljo. Povežite se v omrežje Wi-Fi, če želite opraviti klic."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Če želite opraviti klic, vnesite veljavno številko."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Klicanje ni mogoče."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Začetek zaporedja MMI ..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Konferenčni klici onemogočeni."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Zavrnitev klica ni mogoča."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Prevzem klicev ni mogoč."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Povežite se v omrežje Wi-Fi, če želite opraviti klic."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Klic v sili"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Vklop radia …"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ni signala. Vnovičen poskus …"</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Vnesen način za povratni klic v sili"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Način povratnega klica v sili"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Podatkovno povezovanje onemogočeno"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Podatkovne povezave ni <xliff:g id="COUNT">%s</xliff:g> minut"</item>
-    <item quantity="other" msgid="3122217344579273583">"Podatkovne povezave ni <xliff:g id="COUNT">%s</xliff:g> minut"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon bo v načinu za povratni klic v sili <xliff:g id="COUNT">%s</xliff:g> minuto. V tem načinu ni mogoče uporabljati programov, ki uporabljajo podatkovno povezavo. Ali želite zapreti okno?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon bo v načinu za povratni klic v sili <xliff:g id="COUNT">%s</xliff:g> minut. V tem načinu ni mogoče uporabljati programov, ki uporabljajo podatkovno povezavo. Ali želite zapreti okno?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Izbrano dejanje ni na voljo, kadar je aktiven način za povratni klic v sili. Telefon bo v tem načinu <xliff:g id="COUNT">%s</xliff:g> minuto. Ali želite zapustiti program?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Izbrano dejanje ni na voljo, kadar je aktiven način za povratni klic v sili. Telefon bo v tem načinu <xliff:g id="COUNT">%s</xliff:g> minut. Ali želite zapustiti program?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Podatkovne povezave ni <xliff:g id="COUNT_1">%s</xliff:g> minuto</item>
+      <item quantity="two">Podatkovne povezave ni <xliff:g id="COUNT_1">%s</xliff:g> minuti</item>
+      <item quantity="few">Podatkovne povezave ni <xliff:g id="COUNT_1">%s</xliff:g> minute</item>
+      <item quantity="other">Podatkovne povezave ni <xliff:g id="COUNT_1">%s</xliff:g> minut</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minuto. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
+      <item quantity="two">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minuti. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
+      <item quantity="few">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minute. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
+      <item quantity="other">Telefon bo v načinu povratnega klica v sili <xliff:g id="COUNT_1">%s</xliff:g> minut. V tem načinu ni mogoče uporabljati aplikacij, ki uporabljajo podatkovno povezavo. Ali želite zapreti?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minuto. Ali želite zapreti?</item>
+      <item quantity="two">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minuti. Ali želite zapreti?</item>
+      <item quantity="few">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minute. Ali želite zapreti?</item>
+      <item quantity="other">Izbrano dejanje ni na voljo v načinu povratnega klica v sili. Telefon bo v tem načinu <xliff:g id="COUNT_1">%s</xliff:g> minut. Ali želite zapreti?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Izbrano dejanje ni na voljo med klicanjem v sili."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Izhod iz načina za povratni klic v sili"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Da"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Klici v sili"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Samo klicanje v sili"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Kartica SIM, reža: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Funkcije za ljudi s posebnimi potrebami"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Dohodni klic Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Klic Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Dotaknite se znova, če želite odpreti"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Napaka pri dekodiranju sporočila."</string>
 </resources>
diff --git a/res/values-sq-rAL/arrays.xml b/res/values-sq-rAL/arrays.xml
new file mode 100644
index 0000000..773739b
--- /dev/null
+++ b/res/values-sq-rAL/arrays.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+     Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+  <string-array name="preferred_network_mode_choices_world_mode">
+    <item msgid="3391522821603584785">"Global"</item>
+    <item msgid="6753774959494729275">"LTE / CDMA"</item>
+    <item msgid="8658695584186942227">"LTE / GSM / UMTS"</item>
+  </string-array>
+  <string-array name="preferred_network_mode_values_world_mode">
+    <item msgid="8390941159766263625">"10"</item>
+    <item msgid="6103348346295810336">"8"</item>
+    <item msgid="3494519853214024879">"9"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sq-rAL/strings.xml b/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..7ff2717
--- /dev/null
+++ b/res/values-sq-rAL/strings.xml
@@ -0,0 +1,562 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2007 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="phoneAppLabel" product="tablet" msgid="1107073389495104784">"Të dhëna celulare"</string>
+    <string name="phoneAppLabel" product="default" msgid="906161039445636857">"Telefoni"</string>
+    <string name="emergencyDialerIconLabel" msgid="7812140032168171053">"Formuesi i numrit të urgjencës"</string>
+    <string name="phoneIconLabel" msgid="2331230813161304895">"Telefoni"</string>
+    <string name="fdnListLabel" msgid="8630418672279521003">"Lista FDN"</string>
+    <string name="unknown" msgid="6878797917991465859">"I panjohur"</string>
+    <string name="private_num" msgid="6713286113000232309">"Numër privat"</string>
+    <string name="payphone" msgid="4793877574636445118">"Telefon me pagesë"</string>
+    <string name="onHold" msgid="9035493194749959955">"Në pritje"</string>
+    <string name="mmiStarted" msgid="6347869857061147003">"Kodi MMI filloi"</string>
+    <string name="ussdRunning" msgid="485588686340541690">"Kodi USSD po punon…"</string>
+    <string name="mmiCancelled" msgid="2771923949751842276">"Kodi MMI u anulua"</string>
+    <string name="cancel" msgid="5044513931633602634">"Anulo"</string>
+    <string name="enter_input" msgid="1810529547726803893">"Mesazhi USSD duhet të jetë mes karaktereve <xliff:g id="MIN_LEN">%d</xliff:g> dhe <xliff:g id="MAX_LEN">%d</xliff:g>. Provo sërish."</string>
+    <string name="manageConferenceLabel" msgid="4691922394301969053">"Menaxho telefonatën-konferencë"</string>
+    <string name="ok" msgid="3811371167865772377">"Në rregull!"</string>
+    <string name="audio_mode_speaker" msgid="27649582100085266">"Altoparlant"</string>
+    <string name="audio_mode_earpiece" msgid="4156527186373869107">"Kufje për vesh"</string>
+    <string name="audio_mode_wired_headset" msgid="1465350758489175975">"Kufje me tel"</string>
+    <string name="audio_mode_bluetooth" msgid="3047641300848211128">"Bluetooth"</string>
+    <string name="wait_prompt_str" msgid="7601815427707856238">"Dëshiron t\'i dërgosh tonet e mëposhtme?\n"</string>
+    <string name="pause_prompt_str" msgid="1789964702154314806">"Po dërgon tone\n"</string>
+    <string name="send_button" msgid="4106860097497818751">"Dërgo"</string>
+    <string name="pause_prompt_yes" msgid="3564467212025151797">"Po"</string>
+    <string name="pause_prompt_no" msgid="6686238803236884877">"Jo"</string>
+    <string name="wild_prompt_str" msgid="5543521676355533577">"Zëvendëso karakterin variabël me"</string>
+    <string name="no_vm_number" msgid="4164780423805688336">"Mungon numri i postës zanore"</string>
+    <string name="no_vm_number_msg" msgid="1300729501030053828">"Nuk ka numër të ruajtur në kartën SIM."</string>
+    <string name="add_vm_number_str" msgid="4676479471644687453">"Shto numër"</string>
+    <string name="puk_unlocked" msgid="2284912838477558454">"Karta jote SIM u zhbllokua. Telefoni yt po shkyçet..."</string>
+    <string name="label_ndp" msgid="780479633159517250">"PIN-i i shkyçjes së rrjetit të kartës SIM"</string>
+    <string name="sim_ndp_unlock_text" msgid="683628237760543009">"Shkyçe"</string>
+    <string name="sim_ndp_dismiss_text" msgid="1604823375752456947">"Hiq dorë"</string>
+    <string name="requesting_unlock" msgid="6412629401033249351">"Po kërkon shkyçjen e rrjetit…"</string>
+    <string name="unlock_failed" msgid="6490531697031504225">"Kërkesa për shkyçjen e rrjetit ishte e pasuksesshme."</string>
+    <string name="unlock_success" msgid="6770085622238180152">"Shkyçja e rrjetit ishte e suksesshme."</string>
+    <string name="mobile_network_settings_not_available" msgid="3831911315358856062">"Cilësimet e rrjetit celular nuk mundësohen për këtë përdorues"</string>
+    <string name="labelGSMMore" msgid="5930842194056092106">"Cilësimet e telefonatës GSM"</string>
+    <string name="labelCDMAMore" msgid="1630676740428229339">"Cilësimet e telefonatës CDMA"</string>
+    <string name="apn_settings" msgid="9043423184895642077">"Emrat e pikës së qasjes"</string>
+    <string name="settings_label" msgid="3876743539816984008">"Cilësimet e rrjetit"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"Llogaritë e telefonatave"</string>
+    <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"Kryej telefonata me"</string>
+    <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"Kryej telefonata SIP me"</string>
+    <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"Pyet në fillim"</string>
+    <string name="phone_accounts_settings_header" msgid="4141710640883261094">"Cilësimet"</string>
+    <string name="phone_accounts_choose_accounts" msgid="5232948804226424002">"Zgjidh llogaritë"</string>
+    <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Llogari telefoni"</string>
+    <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Shto llogari SIP"</string>
+    <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfiguro cilësimet e llogarisë"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Telefonatë me Wi-Fi"</string>
+    <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Mos përdor \"Telefonatë nga Wi-Fi\""</string>
+    <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Mos përdor \"Ndihmësin e telefonatës\""</string>
+    <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Asnjë"</string>
+    <string name="wifi_calling_call_assistant" msgid="229102032881680320">"Ndihmësi i telefonatave"</string>
+    <string name="wifi_calling_use_call_assistant" msgid="8460024827012666199">"Përdor \"Ndihmësin e telefonatës\""</string>
+    <string name="wifi_calling_select_call_assistant" msgid="9296558058772293">"Zgjidh \"Ndihmësin e telefonatës\""</string>
+    <string name="wifi_calling_select_call_assistant_summary" msgid="164985727137156474">"Menaxho rrjetet e përdorura për telefonata me"</string>
+    <string name="wifi_calling_use_call_assistant_summary" msgid="6599987137133339698">"Lejo aplikacionet ose shërbimet të menaxhojnë rrjetet e përdorura për telefonata"</string>
+    <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfiguro"</string>
+    <string name="connection_service_default_label" msgid="1498481943805913754">"Shërbim i integruar lidhjeje"</string>
+    <string name="voicemail" msgid="8693759337917898954">"Posta zanore"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Posta zanore (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
+    <string name="networks" msgid="8873030692174541976">"Operatorët e rrjetit"</string>
+    <string name="cell_broadcast_settings" msgid="8740238216690502563">"Transmetimet e urgjencës"</string>
+    <string name="call_settings" msgid="6112441768261754562">"Cilësimet e telefonatës"</string>
+    <string name="additional_gsm_call_settings" msgid="1391795981938800617">"Cilësimet shtesë"</string>
+    <string name="additional_gsm_call_settings_with_label" msgid="1385241520708457376">"Cilësime shtesë (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="sum_gsm_call_settings" msgid="4076647190996778012">"Cilësimet e telefonatës \"vetëm GSM\""</string>
+    <string name="additional_cdma_call_settings" msgid="8628958775721886909">"Cilësime shtesë CDMA për telefonata"</string>
+    <string name="sum_cdma_call_settings" msgid="284753265979035549">"Cilësime shtesë të telefonatës \"vetëm CDMA\""</string>
+    <string name="labelNwService" msgid="4699970172021870983">"Cilësimet e shërbimit të rrjetit"</string>
+    <string name="labelCallerId" msgid="3888899447379069198">"ID-ja e telefonuesit"</string>
+    <string name="sum_loading_settings" msgid="1826692909391168620">"Po ngarkon cilësimet..."</string>
+    <string name="sum_hide_caller_id" msgid="1071407020290873782">"Numri është i fshehur në telefonatat dalëse"</string>
+    <string name="sum_show_caller_id" msgid="6768534125447290401">"Numri është shfaqur në telefonatat dalëse"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"Përdor cilësimet e operatorit për të shfaqur numrin tim në telefonatat dalëse"</string>
+    <string name="labelCW" msgid="6120513814915920200">"Pritje telefonate"</string>
+    <string name="sum_cw_enabled" msgid="8083061901633671397">"Gjatë një telefonate, më njofto për telefonatat hyrëse"</string>
+    <string name="sum_cw_disabled" msgid="3648693907300104575">"Gjatë një telefonate, më njofto për telefonatat hyrëse"</string>
+    <string name="call_forwarding_settings" msgid="3378927671091537173">"Cilësimet e transferimit të telefonatës"</string>
+    <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Cilësimet e transferimit të telefonatës (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="labelCF" msgid="2574386948026924737">"Transferimi i telefonatës"</string>
+    <string name="labelCFU" msgid="8147177368148660600">"Transfero gjithmonë"</string>
+    <string name="messageCFU" msgid="3560082430662923687">"Përdor gjithmonë këtë numër"</string>
+    <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"Po transferon të gjitha telefonatat"</string>
+    <string name="sum_cfu_enabled" msgid="2450052502198827927">"Po transferon të gjitha telefonatat te <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"Numri nuk mund të përdoret"</string>
+    <string name="sum_cfu_disabled" msgid="8384177689501334080">"Çaktivizuar"</string>
+    <string name="labelCFB" msgid="6139853033106283172">"Kur është e zënë"</string>
+    <string name="messageCFB" msgid="3711089705936187129">"Llogarit kur është i zënë"</string>
+    <string name="sum_cfb_enabled" msgid="5984198104833116690">"Po transferon te <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfb_disabled" msgid="4913145177320506827">"Çaktivizuar"</string>
+    <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Operatori yt nuk mbështet çaktivizimin e transferimit të telefonatës kur telefoni është i zënë."</string>
+    <string name="labelCFNRy" msgid="1736067178393744351">"Kur nuk përgjigjet"</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Llogarit kur nuk ka përgjigje"</string>
+    <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Po transferon te <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Çaktivizuar"</string>
+    <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Operatori yt nuk mbështet çaktivizimin e transferimit të telefonatës kur telefoni nuk përgjigjet."</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"Kur është e paarritshme"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Llogarit kur është i paarritshëm"</string>
+    <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Po transferon te <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
+    <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Çaktivizuar"</string>
+    <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Operatori yt nuk mbështet çaktivizimin e transferimit të telefonatës kur telefoni është i paarritshëm."</string>
+    <string name="updating_title" msgid="6146755386174019046">"Cilësimet e telefonatës"</string>
+    <string name="call_settings_primary_user_only" msgid="5679923943740900965">"Cilësimet e telefonatës mund të ndryshohen vetëm nga përdoruesi kryesor."</string>
+    <string name="call_settings_with_label" msgid="89359812614544532">"Cilësimet e telefonatës (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="error_updating_title" msgid="7970259216988931777">"Gabim në cilësimet e telefonatës"</string>
+    <string name="reading_settings" msgid="1920291699287055284">"Po lexon cilësimet…"</string>
+    <string name="updating_settings" msgid="8171225533884883252">"Po përditëson cilësimet…"</string>
+    <string name="reverting_settings" msgid="4752151682666912828">"Po rikthen cilësimet…"</string>
+    <string name="response_error" msgid="6674110501330139405">"Përgjigje e papritur nga rrjeti."</string>
+    <string name="exception_error" msgid="7027667130619518211">"Gabim në rrjet ose në kartën SIM."</string>
+    <string name="fdn_check_failure" msgid="18200614306525434">"Cilësimet e numrave me formim fiks të aplikacionit të telefonit tënd janë aktivizuar. Si rezultat, disa funksione që lidhen me telefonatën nuk funksionojnë."</string>
+    <string name="radio_off_error" msgid="2304459933248513376">"Aktivizo radion para se të shohësh këto cilësime."</string>
+    <string name="close_dialog" msgid="2365884406356986917">"Në rregull!"</string>
+    <string name="enable" msgid="7248657275000173526">"Aktivizo"</string>
+    <string name="disable" msgid="4678348128118573672">"Çaktivizo"</string>
+    <string name="change_num" msgid="239476305819844391">"Përditëso"</string>
+  <string-array name="clir_display_values">
+    <item msgid="5560134294467334594">"Rrjet i parazgjedhur"</item>
+    <item msgid="7876195870037833661">"Fshih numrin"</item>
+    <item msgid="1108394741608734023">"Shfaq numrin"</item>
+  </string-array>
+    <string name="vm_changed" msgid="380744030726254139">"Numri i postës zanore ndryshoi"</string>
+    <string name="vm_change_failed" msgid="3352934863246208918">"Nuk mundi ta ndryshonte numrin e postës zanore.\nKontakto operatorin tënd nëse problemi vazhdon."</string>
+    <string name="fw_change_failed" msgid="5298103228470214665">"Nuk arriti ta ndryshonte numrin e transferimit.\nKontakto operatorin tënd nëse problemi vazhdon."</string>
+    <string name="fw_get_in_vm_failed" msgid="8862896836093833973">"Nuk arriti ta gjente e të ruante cilësimet aktuale të numrit të transferimit.\nDëshiron të kalosh gjithsesi te ofruesi i ri?"</string>
+    <string name="no_change" msgid="3186040086622435212">"Nuk u bë asnjë ndryshim."</string>
+    <string name="sum_voicemail_choose_provider" msgid="59911196126278922">"Zgjidh shërbimin e postës zanore"</string>
+    <string name="voicemail_default" msgid="2001233554889016880">"Operatori yt"</string>
+    <string name="mobile_networks" msgid="2843854043339307375">"Cilësimet e rrjetit celular"</string>
+    <string name="label_available" msgid="1181658289009300430">"Rrjete të arritshme"</string>
+    <string name="load_networks_progress" msgid="5230707536168902952">"Po kërkon..."</string>
+    <string name="empty_networks_list" msgid="4249426905018815316">"Nuk u gjetën rrjete."</string>
+    <string name="search_networks" msgid="1601136049300882441">"Kërko rrjetet"</string>
+    <string name="network_query_error" msgid="6828516148953325006">"Gabim gjatë kërkimit për rrjete."</string>
+    <string name="register_on_network" msgid="9055203954040805084">"Po regjistron në <xliff:g id="NETWORK">%s</xliff:g>…"</string>
+    <string name="not_allowed" msgid="5613353860205691579">"Karta SIM nuk lejon lidhje me këtë rrjet."</string>
+    <string name="connect_later" msgid="2308119155752343975">"Nuk mund të lidhet me këtë rrjet tani. Provo sërish më vonë."</string>
+    <string name="registration_done" msgid="495135664535876612">"Regjistruar në rrjet."</string>
+    <string name="sum_carrier_select" msgid="3494252551249882718">"Zgjidh një operator rrjeti"</string>
+    <string name="sum_search_networks" msgid="2921092249873272715">"Kërko të gjitha rrjetet e arritshme"</string>
+    <string name="select_automatically" msgid="5628402124471810174">"Zgjidh automatikisht"</string>
+    <string name="sum_select_automatically" msgid="5614890115123292400">"Zgjidh automatikisht rrjetin e preferuar"</string>
+    <string name="register_automatically" msgid="6017849844573519637">"Regjistrim automatik…"</string>
+    <string name="preferred_network_mode_title" msgid="2336624679902659306">"Lloji i preferuar i rrjetit"</string>
+    <string name="preferred_network_mode_summary" msgid="1434820673166126609">"Ndrysho modalitetin e operimit të rrjetit"</string>
+    <string name="preferred_network_mode_dialogtitle" msgid="4048082093347807230">"Lloji i preferuar i rrjetit"</string>
+    <string name="preferred_network_mode_wcdma_perf_summary" msgid="8521677230113533809">"Modaliteti i preferuar i rrjetit: preferohet WCDMA"</string>
+    <string name="preferred_network_mode_gsm_only_summary" msgid="3352445413437453511">"Modaliteti i preferuar i rrjetit: vetëm GSM"</string>
+    <string name="preferred_network_mode_wcdma_only_summary" msgid="2836897236221063413">"Modaliteti i preferuar i rrjetit: vetëm WCDMA"</string>
+    <string name="preferred_network_mode_gsm_wcdma_summary" msgid="3161255745326408587">"Modaliteti i preferuar i rrjetit: GSM / WCDMA"</string>
+    <string name="preferred_network_mode_cdma_summary" msgid="3175690187294334241">"Modaliteti i preferuar i rrjetit: CDMA"</string>
+    <string name="preferred_network_mode_cdma_evdo_summary" msgid="8332063064712726618">"Modaliteti i preferuar i rrjetit: CDMA / EvDo"</string>
+    <string name="preferred_network_mode_cdma_only_summary" msgid="1309770926198634150">"Modaliteti i preferuar i rrjetit: vetëm CDMA"</string>
+    <string name="preferred_network_mode_evdo_only_summary" msgid="8472220691721269155">"Modaliteti i preferuar i rrjetit: vetëm EvDo"</string>
+    <string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary" msgid="4726682079415227330">"Modaliteti i preferuar i rrjetit: CDMA/EvDo/GSM/WCDMA"</string>
+    <string name="preferred_network_mode_lte_summary" msgid="574752287596469136">"Modaliteti i preferuar i rrjetit: LTE"</string>
+    <string name="preferred_network_mode_lte_gsm_wcdma_summary" msgid="8455358514068283935">"Modaliteti i preferuar i rrjetit: GSM/WCDMA/LTE"</string>
+    <string name="preferred_network_mode_lte_cdma_evdo_summary" msgid="228702246343742853">"Modaliteti i preferuar i rrjetit: CDMA+LTE/EVDO"</string>
+    <string name="preferred_network_mode_global_summary" msgid="1633134285545730364">"Modaliteti i preferuar i rrjetit: Global"</string>
+    <string name="preferred_network_mode_lte_wcdma_summary" msgid="9180775701594742750">"Modaliteti i preferuar i rrjetit: LTE / WCDMA"</string>
+    <string name="preferred_network_mode_lte_gsm_umts_summary" msgid="633315028976225026">"Modaliteti i preferuar i rrjetit: LTE / GSM / UMTS"</string>
+    <string name="preferred_network_mode_lte_cdma_summary" msgid="3722647806454528426">"Modaliteti i preferuar i rrjetit: LTE / CDMA"</string>
+  <string-array name="preferred_network_mode_choices">
+    <item msgid="7886739962255042385">"LTE / WCDMA"</item>
+    <item msgid="577652050447385699">"LTE"</item>
+    <item msgid="6813597571293773656">"Global"</item>
+    <item msgid="127064712132619032">"GSM/WCDMA/LTE"</item>
+    <item msgid="1126767511633425977">"CDMA + LTE/EvDo"</item>
+    <item msgid="6389676313771670660">"CDMA/EvDo/GSM/WCDMA"</item>
+    <item msgid="545430093607698090">"Vetëm EvDo"</item>
+    <item msgid="1508557726283094448">"CDMA pa EvDo"</item>
+    <item msgid="4341433122263841224">"CDMA/EvDo automatik"</item>
+    <item msgid="5958053792390386668">"GSM/WCDMA automatik"</item>
+    <item msgid="7913148405605373434">"Vetëm WCDMA"</item>
+    <item msgid="1524224863879435516">"Vetëm GSM"</item>
+    <item msgid="3817924849415716259">"GSM/WCDMA i preferuar"</item>
+  </string-array>
+    <string name="enhanced_4g_lte_mode_title" msgid="522191650223239171">"Modaliteti i përparuar 4G LTE"</string>
+    <string name="enhanced_4g_lte_mode_summary" msgid="2332175070522125850">"Përdor shërbimet LTE për të përmirësuar komunikimet zanore dhe të tjera (rekomandohet)"</string>
+    <string name="data_enabled" msgid="5972538663568715366">"Të dhënat janë të aktivizuara"</string>
+    <string name="data_enable_summary" msgid="2382798156640007971">"Lejo përdorimin e të dhënave"</string>
+    <string name="roaming" msgid="8871412572928323707">"Të dhënat e roaming-ut"</string>
+    <string name="roaming_enable" msgid="7331106985174381987">"Lidhu me shërbimet e të dhënave kur je në roaming"</string>
+    <string name="roaming_disable" msgid="1843417228755568110">"Lidhu me shërbimin e të dhënave kur je në roaming"</string>
+    <string name="roaming_reenable_message" msgid="8913735676127858115">"E humbët lidhjen e të dhënave sepse sapo latë rrjetin e vendit tuaj dhe tani jeni me të dhëna roaming-u, të cilat ende nuk janë aktivizuar."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Mund të shkaktohen tarifa të larta."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Të lejohen të dhënat e roaming-ut?"</string>
+    <string name="gsm_umts_options" msgid="6538311689850981686">"Opsionet GSM/UMTS"</string>
+    <string name="cdma_options" msgid="4016822858172249884">"Opsionet CDMA"</string>
+    <string name="throttle_data_usage" msgid="3715677828160555808">"Përdorimi i të dhënave"</string>
+    <string name="throttle_current_usage" msgid="8762280193043815361">"Të dhënat e përdorura në periudhën aktuale"</string>
+    <string name="throttle_time_frame" msgid="1915198770363734685">"Periudha e përdorimit të të dhënave"</string>
+    <string name="throttle_rate" msgid="4710388992676803508">"Politika e shpejtësisë së të dhënave"</string>
+    <string name="throttle_help" msgid="243651091785169900">"Mëso më shumë"</string>
+    <string name="throttle_status_subtext" msgid="1657318943142085170">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) nga maksimumi i periudhës prej <xliff:g id="USED_2">%3$s</xliff:g> \nPeriudha tjetër fillon për <xliff:g id="USED_3">%4$d</xliff:g> ditë (<xliff:g id="USED_4">%5$s</xliff:g>)"</string>
+    <string name="throttle_data_usage_subtext" msgid="6029276011123694701">"<xliff:g id="USED_0">%1$s</xliff:g> (<xliff:g id="USED_1">%2$d</xliff:g>٪) nga maksimumi i periudhës prej <xliff:g id="USED_2">%3$s</xliff:g>"</string>
+    <string name="throttle_data_rate_reduced_subtext" msgid="7492763592720107737">"U kapërcye maksimumi i <xliff:g id="USED_0">%1$s</xliff:g>\nShpejtësia e të dhënave u pakësua deri në <xliff:g id="USED_1">%2$d</xliff:g> kilobit/sek."</string>
+    <string name="throttle_time_frame_subtext" msgid="7732763021560399960">"Ka kaluar <xliff:g id="USED_0">%1$d</xliff:g>٪ të ciklit\nPeriudha tjetër fillon për <xliff:g id="USED_1">%2$d</xliff:g> ditë (<xliff:g id="USED_2">%3$s</xliff:g>)"</string>
+    <string name="throttle_rate_subtext" msgid="2149102656120726855">"Shpejtësia e të dhënave pakësohet në <xliff:g id="USED">%1$d</xliff:g> kilobit/sek. nëse tejkalohet kufiri i përdorimit të të dhënave"</string>
+    <string name="throttle_help_subtext" msgid="3633091498168446044">"Më shumë informacion rreth politikës së përdorimit të të dhënave të rrjetit celular të operatorit tënd"</string>
+    <string name="cell_broadcast_sms" msgid="5584192824053625842">"SMS-ja e \"Transmetimit celular\""</string>
+    <string name="enable_disable_cell_bc_sms" msgid="4851147873691392255">"SMS-ja e transmetimit celular"</string>
+    <string name="cell_bc_sms_enable" msgid="6441688565738921084">"SMS-ja e \"Transmetimit celular\" është e aktivizuar"</string>
+    <string name="cell_bc_sms_disable" msgid="3398365088309408749">"SMS-ja e \"Transmetimit celular\" është e çaktivizuar"</string>
+    <string name="cb_sms_settings" msgid="651715019785107312">"Cilësimet e SMS-së së \"Transmetimit celular\""</string>
+    <string name="enable_disable_emergency_broadcast" msgid="2157014609041245335">"Transmetimi i urgjencës"</string>
+    <string name="emergency_broadcast_enable" msgid="2645980025414010211">"Transmetimi i urgjencës është i aktivizuar"</string>
+    <string name="emergency_broadcast_disable" msgid="3665199821267569426">"Transmetimi i urgjencës është i çaktivizuar"</string>
+    <string name="enable_disable_administrative" msgid="6501582322182059412">"Administrativi"</string>
+    <string name="administrative_enable" msgid="1750086122962032235">"\"Administrativi\" u aktivizua"</string>
+    <string name="administrative_disable" msgid="8433273857248698539">"\"Administrativi\" u çaktivizua"</string>
+    <string name="enable_disable_maintenance" msgid="1819693083025106678">"Mirëmbajtje"</string>
+    <string name="maintenance_enable" msgid="8566636458770971189">"Mirëmbajtja është e aktivizuar"</string>
+    <string name="maintenance_disable" msgid="7340189100885066077">"Mirëmbajtja është e çaktivizuar"</string>
+    <string name="general_news_settings" msgid="4968779723948432978">"Lajme të përgjithshme"</string>
+    <string name="bf_news_settings" msgid="3935593091894685267">"Lajme nga fusha e biznesit dhe financës"</string>
+    <string name="sports_news_settings" msgid="7649399631270052835">"Lajme sportive"</string>
+    <string name="entertainment_news_settings" msgid="5051153952959405035">"Lajme argëtuese"</string>
+    <string name="enable_disable_local" msgid="7890281063123416120">"Lokal"</string>
+    <string name="local_enable" msgid="6370463247609136359">"Lajmet lokale janë të aktivizuara"</string>
+    <string name="local_disable" msgid="4405691986943795798">"Lajmet lokale janë të çaktivizuara"</string>
+    <string name="enable_disable_regional" msgid="4905652414535565872">"Rajonal"</string>
+    <string name="regional_enable" msgid="4434680415437834759">"Lajmet rajonale u aktivizuan"</string>
+    <string name="regional_disable" msgid="5359325527213850077">"Lajmet rajonale u çaktivizuan"</string>
+    <string name="enable_disable_national" msgid="236278090206880734">"Kombëtar"</string>
+    <string name="national_enable" msgid="1172443648912246952">"Lajmet kombëtare janë të aktivizuar"</string>
+    <string name="national_disable" msgid="326018148178601166">"Lajmet kombëtare janë të çaktivizuara"</string>
+    <string name="enable_disable_international" msgid="7535348799604565592">"Ndërkombëtare"</string>
+    <string name="international_enable" msgid="5855356769925044927">"Lajmet ndërkombëtare janë të aktivizuara"</string>
+    <string name="international_disable" msgid="2850648591041088931">"Lajmet ndërkombëtare janë të çaktivizuara"</string>
+    <string name="list_language_title" msgid="2841683501919760043">"Gjuha"</string>
+    <string name="list_language_summary" msgid="8109546531071241601">"Përzgjidh gjuhën e lajmeve"</string>
+  <string-array name="list_language_entries">
+    <item msgid="6137851079727305485">"anglisht"</item>
+    <item msgid="1151988412809572526">"frëngjisht"</item>
+    <item msgid="577840534704312665">"spanjisht"</item>
+    <item msgid="8385712091143148180">"japonisht"</item>
+    <item msgid="1858401628368130638">"koreanisht"</item>
+    <item msgid="1933212028684529632">"kinezisht"</item>
+    <item msgid="1908428006803639064">"hebraisht"</item>
+  </string-array>
+  <string-array name="list_language_values">
+    <item msgid="1804908636436467150">"1"</item>
+    <item msgid="289708030346890334">"2"</item>
+    <item msgid="1121469729692402684">"3"</item>
+    <item msgid="2614093115912897722">"4"</item>
+    <item msgid="2411164639857960614">"5"</item>
+    <item msgid="5884448729274543324">"6"</item>
+    <item msgid="5511864807618312598">"7"</item>
+  </string-array>
+    <string name="list_language_dtitle" msgid="5442908726538951934">"Gjuhët"</string>
+    <string name="enable_disable_local_weather" msgid="986967454867219114">"Moti lokal"</string>
+    <string name="local_weather_enable" msgid="6199315114382448922">"Moti lokal është i aktivizuar"</string>
+    <string name="local_weather_disable" msgid="2510158089142626480">"Moti lokal është i çaktivizuar"</string>
+    <string name="enable_disable_atr" msgid="8339572391278872343">"Raportet e trafikut të zonës"</string>
+    <string name="atr_enable" msgid="5541757457789181799">"Raportet e trafikut të zonës u aktivizuan"</string>
+    <string name="atr_disable" msgid="7085558154727596455">"Raportet e trafikut të zonës u çaktivizuan"</string>
+    <string name="enable_disable_lafs" msgid="668189073721277199">"Oraret e fluturimeve të aeroportit lokal"</string>
+    <string name="lafs_enable" msgid="2791978667205137052">"Oraret e fluturimeve të aeroportit lokal janë të aktivizuara"</string>
+    <string name="lafs_disable" msgid="2391212397725495350">"Oraret e fluturimeve të aeroportit lokal janë të çaktivizuara"</string>
+    <string name="enable_disable_restaurants" msgid="6240381945336814024">"Restorante"</string>
+    <string name="restaurants_enable" msgid="5137657479469118847">"Restorantet u aktivizuan"</string>
+    <string name="restaurants_disable" msgid="3678480270938424092">"Restorantet u çaktivizuan"</string>
+    <string name="enable_disable_lodgings" msgid="1822029172658551202">"Banesat"</string>
+    <string name="lodgings_enable" msgid="3230042508992850322">"\"Banesat\" janë të aktivizuara"</string>
+    <string name="lodgings_disable" msgid="3387879742320682391">"\"Banesat\" janë të çaktivizuara"</string>
+    <string name="enable_disable_retail_directory" msgid="1357809784475660303">"Direktoria e shitjes me pakicë"</string>
+    <string name="retail_directory_enable" msgid="3280626290436111496">"Direktoria e shitjeve me pakicë u aktivizua"</string>
+    <string name="retail_directory_disable" msgid="6479739816662879027">"Direktoria e shitjeve me pakicë u çaktivizua"</string>
+    <string name="enable_disable_advertisements" msgid="5999495926176182128">"Reklama"</string>
+    <string name="advertisements_enable" msgid="2050305021264683786">"Reklamat u aktivizuan"</string>
+    <string name="advertisements_disable" msgid="8350985908788707935">"Reklamat u çaktivizuan"</string>
+    <string name="enable_disable_stock_quotes" msgid="6397810445293533603">"Kuotimet e bursës"</string>
+    <string name="stock_quotes_enable" msgid="4384802470887170543">"Kuotimet e bursës u aktivizuan"</string>
+    <string name="stock_quotes_disable" msgid="4781450084565594998">"Kuotimet e bursës u çaktivizuan"</string>
+    <string name="enable_disable_eo" msgid="4863043263443942494">"Mundësitë e punësimit"</string>
+    <string name="eo_enable" msgid="8623559062015685813">"\"Mundësitë e punësimit\" është i aktivizuar"</string>
+    <string name="eo_disable" msgid="3863812478090907609">"\"Mundësitë e punësimit\" është i çaktivizuar"</string>
+    <string name="enable_disable_mhh" msgid="908214593528968522">"Mjekësor, shëndetësor dhe spitalor"</string>
+    <string name="mhh_enable" msgid="5544500632306446815">"\"Mjekësor, shëndetësor dhe spitalor\" është i aktivizuar"</string>
+    <string name="mhh_disable" msgid="8998210550117117437">"\"Mjekësor, shëndetësor dhe spitalor\" është i çaktivizuar"</string>
+    <string name="enable_disable_technology_news" msgid="3517184627114999149">"Lajme teknologjike"</string>
+    <string name="technology_news_enable" msgid="7995209394210455181">"Lajmet teknologjike u aktivizuan"</string>
+    <string name="technology_news_disable" msgid="5483490380561851946">"Lajmet teknologjike u çaktivizuan"</string>
+    <string name="enable_disable_multi_category" msgid="626771003122899280">"Multi-kategoria"</string>
+    <string name="multi_category_enable" msgid="1179299804641721768">"\"Multi-kategoria\" u aktivizua"</string>
+    <string name="multi_category_disable" msgid="880104702904139505">"\"Multi-kategoria\" u çaktivizua"</string>
+    <string name="network_lte" msgid="7702681952521375754">"LTE (rekomandohet)"</string>
+    <string name="network_4G" msgid="2723512640529983138">"4G (rekomandohet)"</string>
+    <string name="network_global" msgid="1323190488685355309">"Global"</string>
+    <string name="cdma_system_select_title" msgid="5757657769327732833">"Përzgjedhje e sistemit"</string>
+    <string name="cdma_system_select_summary" msgid="60460043745797517">"Ndrysho modalitetin CDMA të roaming-ut"</string>
+    <string name="cdma_system_select_dialogtitle" msgid="6083355415165359075">"Përzgjedhje e sistemit"</string>
+  <string-array name="cdma_system_select_choices">
+    <item msgid="176474317493999285">"Vetëm \"Ekranin bazë\""</item>
+    <item msgid="1205664026446156265">"Automatik"</item>
+  </string-array>
+    <string name="cdma_subscription_title" msgid="1162564010076763284">"Abonimi CDMA"</string>
+    <string name="cdma_subscription_summary" msgid="2530890766115781140">"Ndrysho mes RUIM/SIM dhe NV"</string>
+    <string name="cdma_subscription_dialogtitle" msgid="2699527950523333110">"abonim"</string>
+  <string-array name="cdma_subscription_choices">
+    <item msgid="2258014151300708431">"RUIM/SIM"</item>
+    <item msgid="5127722015571873880">"NV"</item>
+  </string-array>
+  <string-array name="cdma_subscription_values">
+    <item msgid="7494167883478914080">"0"</item>
+    <item msgid="6043847456049107742">"1"</item>
+  </string-array>
+    <string name="cdma_activate_device" msgid="3793805892364814518">"Aktivizo"</string>
+    <string name="cdma_lte_data_service" msgid="4255018217292548962">"Konfiguro shërbimin e të dhënave"</string>
+    <string name="carrier_settings_title" msgid="9028166176523012300">"Cilësimet e operatorit"</string>
+    <string name="fdn" msgid="7878832555095183202">"Numrat me formim fiks"</string>
+    <string name="fdn_with_label" msgid="187084204115493366">"Numrat me formim fiks (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="manage_fdn_list" msgid="8777755791892122369">"Lista FDN"</string>
+    <string name="fdn_list_with_label" msgid="7437232552210469217">"Lista FDN (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_activation" msgid="2156479741307463576">"Aktivizimi FDN"</string>
+    <string name="fdn_enabled" msgid="5238109009915521240">"Numrat me formim fiks u aktivizuan"</string>
+    <string name="fdn_disabled" msgid="4700049736675368279">"Numrat me formim fiks u çaktivizuan"</string>
+    <string name="enable_fdn" msgid="3740191529180493851">"Aktivizo FDN-në"</string>
+    <string name="disable_fdn" msgid="7944020890722540616">"Çaktivizo FDN-në"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"Ndrysho PIN2-shin"</string>
+    <string name="enable_fdn_ok" msgid="7215588870329688132">"Çaktivizo FDN-në"</string>
+    <string name="disable_fdn_ok" msgid="5727046928930740173">"Aktivizo FDN-në"</string>
+    <string name="sum_fdn" msgid="1959399454900272878">"Menaxho numrat me formim fiks"</string>
+    <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Ndrysho PIN-in për qasje FDN"</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Menaxho listën e numrave të telefonit"</string>
+    <string name="voice_privacy" msgid="3776841382844614716">"Privatësia e zërit"</string>
+    <string name="voice_privacy_summary" msgid="3159383389833516214">"Aktivizo modalitetin e privatësisë së përparuar"</string>
+    <string name="tty_mode_option_title" msgid="9033098925144434669">"Modaliteti TTY"</string>
+    <string name="tty_mode_option_summary" msgid="1073835131534808732">"Cakto modalitetin TTY"</string>
+    <string name="auto_retry_mode_title" msgid="4073265511427813322">"Ripërpjekja automatike"</string>
+    <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktivizo modalitetin e ripërpjekjes automatike"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Nuk lejohet ndryshimi i modalitetit TTY gjatë telefonatave me video"</string>
+    <string name="menu_add" msgid="1882023737425114762">"Shto kontakt"</string>
+    <string name="menu_edit" msgid="7143003705504672374">"Redakto kontaktin"</string>
+    <string name="menu_delete" msgid="3977150783449642851">"Fshi kontaktin"</string>
+    <string name="get_pin2" msgid="8204677063922225311">"Shkruaj PIN2-shin"</string>
+    <string name="name" msgid="7329028332786872378">"Emri"</string>
+    <string name="number" msgid="7905950798349903858">"Numri"</string>
+    <string name="save" msgid="4094274636321939086">"Ruaj"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"Shto numër me formim fiks"</string>
+    <string name="adding_fdn_contact" msgid="7627379633721940991">"Po shton numër me formim fiks…"</string>
+    <string name="fdn_contact_added" msgid="7458335758501736665">"Numri me formim fiks u shtua."</string>
+    <string name="edit_fdn_contact" msgid="7976936035587081480">"Redakto numrin me formim fiks"</string>
+    <string name="updating_fdn_contact" msgid="8370929876849803600">"Po përditëson numrin me formim fiks…"</string>
+    <string name="fdn_contact_updated" msgid="5497828782609005017">"Numri me formim fiks u përditësua."</string>
+    <string name="delete_fdn_contact" msgid="6668958073074151717">"Fshije numrin me formim fiks"</string>
+    <string name="deleting_fdn_contact" msgid="5669163206349319969">"Po fshin numrin me formim fiks…"</string>
+    <string name="fdn_contact_deleted" msgid="7154162327112259569">"Numri me formim fiks u fshi."</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"FDN-ja nuk u përditësua sepse shkrove një PIN të pasaktë."</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"FDN-ja nuk ishte i përditësuar sepse numri nuk mund të kalojë 20 shifra."</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN-ja nuk u përditësua. PIN2-shi ishte i pasaktë ose numri i telefonit u refuzua."</string>
+    <string name="fdn_failed" msgid="540018079008319747">"Operacioni FDN dështoi"</string>
+    <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Po lexon nga karta SIM..."</string>
+    <string name="simContacts_empty" msgid="5270660846489561932">"Nuk ka kontakte në kartën tënde SIM."</string>
+    <string name="simContacts_title" msgid="1861472842524839921">"Përzgjidh kontakte për të importuar"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Çaktivizo modalitetin e aeroplanit për të importuar kontaktet nga karta SIM."</string>
+    <string name="enable_pin" msgid="5422767284133234860">"Aktivizo/çaktivizo PIN-in e kartës SIM"</string>
+    <string name="change_pin" msgid="9174186126330785343">"Ndrysho PIN-in e kartës SIM"</string>
+    <string name="enter_pin_text" msgid="8532615714751931951">"PIN-i i kartës SIM:"</string>
+    <string name="oldPinLabel" msgid="5287773661246368314">"PIN-i i vjetër"</string>
+    <string name="newPinLabel" msgid="207488227285336897">"PIN i ri"</string>
+    <string name="confirmPinLabel" msgid="257597715098070206">"Konfirmo PIN-in e ri"</string>
+    <string name="badPin" msgid="8955102849303984935">"PIN-i i vjetër që ke shkruar nuk është i saktë. Provo sërish."</string>
+    <string name="mismatchPin" msgid="5923253370683071889">"Kodet PIN që shkrove nuk përputhen. Provo sërish."</string>
+    <string name="invalidPin" msgid="5981171102258684792">"Shkruaj një PIN që është 4 deri në 8 numra."</string>
+    <string name="disable_sim_pin" msgid="3419351358300716472">"Pastro PIN-in e kartës SIM"</string>
+    <string name="enable_sim_pin" msgid="4845145659651484248">"Vendos PIN-in e kartës SIM"</string>
+    <string name="enable_in_progress" msgid="3417917024688497010">"Po vendos PIN-in…"</string>
+    <string name="enable_pin_ok" msgid="2918545971413270063">"Vendosja e PIN-it"</string>
+    <string name="disable_pin_ok" msgid="2109571368635883688">"PIN-i u fshi"</string>
+    <string name="pin_failed" msgid="5644377896213584760">"PIN-i është i pasaktë"</string>
+    <string name="pin_changed" msgid="4455736268023261662">"PIN-i u përditësua"</string>
+    <string name="puk_requested" msgid="5921393215789090200">"Fjalëkalimi është i pasaktë. PIN-i tani është i bllokuar. Kërkohet PUK-u."</string>
+    <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2-shi"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"PIN2-shi i vjetër"</string>
+    <string name="newPin2Label" msgid="4573956902204349054">"PIN2-shi i ri"</string>
+    <string name="confirmPin2Label" msgid="8100319484454787708">"Konfirmo PIN2-shin e ri"</string>
+    <string name="badPuk2" msgid="7910064009531541708">"PUK2-shi është i pasaktë. Provo sërish."</string>
+    <string name="badPin2" msgid="6646896629970023109">"PIN2-shi i vjetër është i pasaktë. Provo sërish."</string>
+    <string name="mismatchPin2" msgid="4177967478551851117">"Kodet PIN2 nuk përputhen. Provo sërish."</string>
+    <string name="invalidPin2" msgid="1757045131429105595">"Fut një kod PIN2 që është 4 deri në 8 numra."</string>
+    <string name="invalidPuk2" msgid="7059081153334815973">"Fut një kod PUK2 që është 8 numra."</string>
+    <string name="pin2_changed" msgid="3724522579945610956">"PIN2-shi u përditësua"</string>
+    <string name="label_puk2_code" msgid="4688069961795341948">"Fut kodin PUK2"</string>
+    <string name="fdn_enable_puk2_requested" msgid="4991074891459554705">"Fjalëkalimi ishte i pasaktë. PIN2-shi është i bllokuar. Për të provuar sërish, ndrysho PIN2-shin."</string>
+    <string name="puk2_requested" msgid="5831015200030161434">"Fjalëkalimi është i pasaktë. Karta SIM tani është e kyçur. Fut PUK2-shin."</string>
+    <string name="puk2_blocked" msgid="3150263853077280049">"PUK2-shi është i bllokuar përgjithmonë."</string>
+    <string name="pin2_attempts" msgid="720736232885011507">\n"Të kanë mbetur edhe <xliff:g id="NUMBER">%d</xliff:g> përpjekje."</string>
+    <string name="pin2_unblocked" msgid="7791600368153469078">"PIN2-shi nuk është më i bllokuar"</string>
+    <string name="doneButton" msgid="2859593360997984240">"U krye!"</string>
+    <string name="voicemail_settings_number_label" msgid="8524164258691887790">"Numri i postës zanore"</string>
+    <string name="card_title_dialing" msgid="5769417478498348054">"Formimi i numrit"</string>
+    <string name="card_title_redialing" msgid="8253487008234167266">"Po riformon numrin"</string>
+    <string name="card_title_conf_call" msgid="1162980346189744501">"Telefonatë konference"</string>
+    <string name="card_title_incoming_call" msgid="7364539451234646909">"Telefonatë hyrëse"</string>
+    <string name="card_title_call_ended" msgid="5544730338889702298">"Telefonata përfundoi"</string>
+    <string name="card_title_on_hold" msgid="821463117892339942">"Në pritje"</string>
+    <string name="card_title_hanging_up" msgid="3999101620995182450">"Mbyllja"</string>
+    <string name="card_title_in_call" msgid="6346543933068225205">"Në telefonatë"</string>
+    <string name="notification_dialing" msgid="2107666444937350731">"Po formon numrin"</string>
+    <string name="notification_missedCallTitle" msgid="7554385905572364535">"Telefonatë e humbur"</string>
+    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Telefonata të humbura"</string>
+    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> telefonata të humbura"</string>
+    <string name="notification_missedCallTicker" msgid="504686252427747209">"Telefonatë e humbur nga <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
+    <string name="notification_ongoing_call" msgid="7068688957273482989">"Telefonatë në vazhdim"</string>
+    <string name="notification_on_hold" msgid="3480694969511790465">"Në pritje"</string>
+    <string name="notification_incoming_call" msgid="2820429205043529642">"Telefonatë hyrëse"</string>
+    <string name="notification_voicemail_title" msgid="8933468752045550523">"Postë e re zanore"</string>
+    <string name="notification_voicemail_title_count" msgid="4366360747660929916">"Postë e re zanore (<xliff:g id="COUNT">%d</xliff:g>)"</string>
+    <string name="notification_voicemail_text_format" msgid="4447323569453981685">"Formo numrin <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
+    <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"Numri i postës zanore është i panjohur"</string>
+    <string name="notification_network_selection_title" msgid="4224455487793492772">"Nuk ka shërbim"</string>
+    <string name="notification_network_selection_text" msgid="2607085729661923269">"Rrjeti i përzgjedhur (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) nuk mundësohet"</string>
+    <string name="notification_action_end_call" msgid="6069460915123531620">"Mbyll"</string>
+    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ri-telefono"</string>
+    <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesazh"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Çaktivizo modalitetin e aeroplanit për të bërë një telefonatë."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Çaktivizo modalitetin e aeroplanit ose lidhu me një rrjet me valë për të bërë një telefonatë."</string>
+    <string name="incall_error_emergency_only" msgid="4678640422710818317">"I paregjistruar në rrjet."</string>
+    <string name="incall_error_out_of_service" msgid="4100065333878929223">"Rrjeti celular nuk mundësohet."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Rrjeti celular është i papërdorshëm. Lidhu me një rrjet me valë për të bërë një telefonatë."</string>
+    <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Për të kryer një telefonatë, fut një numër të vlefshëm."</string>
+    <string name="incall_error_call_failed" msgid="6302746943230078197">"Nuk mund të telefonojë."</string>
+    <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Po fillon sekuencën MMI…"</string>
+    <string name="incall_error_supp_service_unknown" msgid="655570339115407698">"Shërbimi nuk mbështetet"</string>
+    <string name="incall_error_supp_service_switch" msgid="5237002176899962862">"Nuk mund të ndryshojë telefonatat."</string>
+    <string name="incall_error_supp_service_separate" msgid="7224393405134545246">"Nuk mund të ndajë telefonatën."</string>
+    <string name="incall_error_supp_service_transfer" msgid="7235952238189391438">"Nuk mund të transferojë."</string>
+    <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Nuk mund të kryejë telefonatë konference."</string>
+    <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Nuk mund të refuzojë telefonatën."</string>
+    <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Nuk mund të lëshojë telefonatën(at)."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Lidhu me një rrjet me valë për të bërë një telefonatë."</string>
+    <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Telefonata e urgjencës"</string>
+    <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Po aktivizon radion…"</string>
+    <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Nuk ka shërbim. Po provon sërish…"</string>
+    <string name="dial_emergency_error" msgid="1509085166367420355">"Nuk mund të telefonohet. <xliff:g id="NON_EMERGENCY_NUMBER">%s</xliff:g> nuk është numër urgjence."</string>
+    <string name="dial_emergency_empty_error" msgid="9130194953830414638">"Nuk mund të telefonohet. Formo një numër urgjence."</string>
+    <string name="dialerKeyboardHintText" msgid="9192914825413747792">"Përdor tastierën për të formuar numrin"</string>
+    <string name="onscreenHoldText" msgid="2285258239691145872">"Në pritje"</string>
+    <string name="onscreenEndCallText" msgid="4403855834875398585">"Përfundo"</string>
+    <string name="onscreenShowDialpadText" msgid="8561805492659639893">"Blloku i formimit të numrit"</string>
+    <string name="onscreenMuteText" msgid="5011369181754261374">"Kalo në heshtje"</string>
+    <string name="onscreenAddCallText" msgid="5140385634712287403">"Shto telefonatë"</string>
+    <string name="onscreenMergeCallsText" msgid="6640195098064538950">"Shkri telefonatat"</string>
+    <string name="onscreenSwapCallsText" msgid="1602990689244030047">"Shkëmbe"</string>
+    <string name="onscreenManageCallsText" msgid="5473231160123254154">"Menaxho telefonatat"</string>
+    <string name="onscreenManageConferenceText" msgid="6485935856534311346">"Menaxho konferencën"</string>
+    <string name="onscreenAudioText" msgid="1710087112800041743">"Audio"</string>
+    <string name="onscreenVideoCallText" msgid="4800924186056115442">"Telefonatë me video"</string>
+    <string name="importSimEntry" msgid="6614358325359736031">"Importo"</string>
+    <string name="importAllSimEntries" msgid="1503181169636198673">"Importoji të gjitha"</string>
+    <string name="importingSimContacts" msgid="7374056215462575769">"Po importon kontaktet e kartës SIM"</string>
+    <string name="importToFDNfromContacts" msgid="2130620207013368580">"Importo nga kontaktet"</string>
+    <string name="hac_mode_title" msgid="8740268574688743289">"Aparatet e dëgjimit"</string>
+    <string name="hac_mode_summary" msgid="6833851160514929341">"Aktivizo përputhshmërinë e aparateve të dëgjimit"</string>
+  <string-array name="tty_mode_entries">
+    <item msgid="512950011423868021">"TTY i çaktivizuar"</item>
+    <item msgid="3971695875449640648">"TTY i plotë"</item>
+    <item msgid="1937509904407445684">"TTY HCO"</item>
+    <item msgid="5644925873488772224">"TTY VCO"</item>
+  </string-array>
+    <string name="dtmf_tones_title" msgid="5163153771291340803">"Tonet DTMF"</string>
+    <string name="dtmf_tones_summary" msgid="3351820372864020331">"Cakto gjatësinë e toneve DTMF"</string>
+  <string-array name="dtmf_tone_entries">
+    <item msgid="899650777817315681">"Normal"</item>
+    <item msgid="2883365539347850535">"I gjatë"</item>
+  </string-array>
+    <string name="network_info_message" msgid="7738596060242881930">"Mesazh rrjeti"</string>
+    <string name="network_error_message" msgid="3394780436230411413">"Mesazh gabimi"</string>
+    <string name="ota_title_activate" msgid="8616918561356194398">"Aktivizo telefonin"</string>
+    <string name="ota_touch_activate" msgid="6553212803262586244">"Nevojitet një telefonatë e veçantë për të aktivizuar shërbimin e telefonit. \n\nPasi të shtypësh “Aktivizo”, dëgjo udhëzimet e dhëna për të aktivizuar telefonin."</string>
+    <string name="ota_hfa_activation_title" msgid="2234246934160473981">"Po aktivizon..."</string>
+    <string name="ota_hfa_activation_dialog_message" msgid="8092479227918463415">"Telefoni po aktivizon shërbimin e të dhënave celulare.\n\nKjo mund të zgjasë deri në 5 minuta."</string>
+    <string name="ota_skip_activation_dialog_title" msgid="2943366608272261306">"Të kapërcehet aktivizimi?"</string>
+    <string name="ota_skip_activation_dialog_message" msgid="2440770373498870550">"Nëse anashkalon aktivizimin, nuk mund të kryesh telefonata ose të lidhesh me rrjetet e të dhënave celulare (megjithatë mund të lidhesh me rrjetet Wi-Fi). Derisa të aktivizosh telefonin, do të të kërkohet ta aktivizosh çdo herë që e ndez."</string>
+    <string name="ota_skip_activation_dialog_skip_label" msgid="3458532775091563208">"Kapërce"</string>
+    <string name="ota_activate" msgid="1368528132525626264">"Aktivizo"</string>
+    <string name="ota_title_activate_success" msgid="6570240212263372046">"Telefoni është i aktivizuar."</string>
+    <string name="ota_title_problem_with_activation" msgid="7095824491970084367">"Ka problem me aktivizimin"</string>
+    <string name="ota_listen" msgid="162923839877584937">"Ndiq udhëzimet e folura derisa të dëgjosh që aktivizimi ka përfunduar."</string>
+    <string name="ota_speaker" msgid="6904589278542719647">"Altoparlant"</string>
+    <string name="ota_progress" msgid="460876637828044519">"Po programon telefonin…"</string>
+    <string name="ota_failure" msgid="7713756181204620397">"Nuk mundi të programonte telefonin"</string>
+    <string name="ota_successful" msgid="1880780692887077407">"Telefoni yt tani është i aktivizuar. Mund të zgjasë deri në 15 minuta derisa të fillojë shërbimi."</string>
+    <string name="ota_unsuccessful" msgid="8072141612635635357">"Telefoni nuk u aktivizua. \nMund të nevojitet të gjesh një zonë me mbulim më të mirë (afër një dritareje ose jashtë). \n\nProvo sërish ose telefono shërbimin e klientit për më shumë opsione."</string>
+    <string name="ota_spc_failure" msgid="3909983542575030796">"DËSHTIME TË SHUMTA SPC"</string>
+    <string name="ota_call_end" msgid="4537279738134612388">"Prapa"</string>
+    <string name="ota_try_again" msgid="7685477206465902290">"Provo sërish"</string>
+    <string name="ota_next" msgid="3904945374358235910">"Tjetër"</string>
+    <string name="ecm_exit_dialog" msgid="4448531867763097533">"EcmExitDialog"</string>
+    <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Hyri në modalitetin e \"Kthimit të telefonatës së urgjencës\""</string>
+    <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Modaliteti i \"Kthimit të telefonatës së urgjencës\""</string>
+    <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Lidhja me të dhënat është çaktivizuar"</string>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Nuk ka të dhëna të lidhura për <xliff:g id="COUNT_1">%s</xliff:g> minuta</item>
+      <item quantity="one">Nuk ka të dhëna të lidhura për <xliff:g id="COUNT_0">%s</xliff:g> minutë</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefoni do të përdoret në modalitetin e \"Kthimit të Telefonatës së Urgjencës\" për <xliff:g id="COUNT_1">%s</xliff:g> minuta. Ndërkohë që është në këtë modalitet, nuk mund të përdoret asnjë aplikacion duke përdorur lidhje të dhënash. Dëshiron të dalësh tani?</item>
+      <item quantity="one">Telefoni do të jetë në modalitetin e \"Kthimit të telefonatës së urgjencës\" për <xliff:g id="COUNT_0">%s</xliff:g> minuta. Ndërkohë që është në këtë modalitet, nuk mund të përdoret asnjë aplikacion duke përdorur lidhje të dhënash. Dëshiron të dalësh tani?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Veprimi i përzgjedhur nuk mund të përdoret kur është në modalitetin e \"Kthimit të telefonatës së urgjencës\". Telefoni do të jetë në këtë modalitet për <xliff:g id="COUNT_1">%s</xliff:g> minuta. Dëshiron të dalësh tani?</item>
+      <item quantity="one">Veprimi i përzgjedhur nuk mund të përdoret kur është në modalitetin e \"Kthimit të telefonatës së urgjencës\". Telefoni do të jetë në këtë modalitet për <xliff:g id="COUNT_0">%s</xliff:g> minuta. Dëshiron të dalësh tani?</item>
+    </plurals>
+    <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Veprimi i përzgjedhur nuk mund të përdoret gjatë një telefonate urgjente."</string>
+    <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Modaliteti i \"Kthimit të telefonatës dalëse të urgjencës\""</string>
+    <string name="alert_dialog_yes" msgid="6674268047820703974">"Po"</string>
+    <string name="alert_dialog_no" msgid="1476091437797628703">"Jo"</string>
+    <string name="alert_dialog_dismiss" msgid="2491494287075907171">"Hiq dorë"</string>
+    <string name="voicemail_provider" msgid="5135942703327136909">"Shërbimi"</string>
+    <string name="voicemail_settings" msgid="72448049107749316">"Konfigurimi"</string>
+    <string name="voicemail_number_not_set" msgid="6724904736891087856">"&lt;I pavendosur&gt;"</string>
+    <string name="other_settings" msgid="3672912580359716394">"Cilësime të tjera të telefonatës"</string>
+    <string name="calling_via_template" msgid="4839419581866928142">"Po telefonon përmes <xliff:g id="PROVIDER_NAME">%s</xliff:g>"</string>
+    <string name="contactPhoto" msgid="4713193418046639466">"fotografia e kontaktit"</string>
+    <string name="goPrivate" msgid="865837794424530980">"bëje private"</string>
+    <string name="selectContact" msgid="781975788478987237">"përzgjidh kontaktin"</string>
+    <string name="not_voice_capable" msgid="2739898841461577811">"Telefonata zanore nuk mbështetet"</string>
+    <string name="description_dial_button" msgid="7459705245418435351">"formo numrin"</string>
+    <string name="voicemail_notification_vibrate_when_title" msgid="8361970092063604886">"Dridhja"</string>
+    <string name="voicemail_notification_vibarte_when_dialog_title" msgid="5739583146522136440">"Dridhja"</string>
+    <string name="voicemail_notification_ringtone_title" msgid="2609519527849101590">"Tingulli"</string>
+    <string name="dial_pad_autocomplete" msgid="7683489952557536398">"Plotësim automatik i bllokut të formimit të numrit"</string>
+    <string name="preference_category_ringtone" msgid="5197960752529332721">"Me zile dhe me dridhje"</string>
+    <string name="pstn_connection_service_label" msgid="1743245930577325900">"Kartat e integruara SIM"</string>
+    <string name="enable_video_calling_title" msgid="7237253660669000899">"Aktivizo telefonatën me video"</string>
+    <string name="enable_video_calling_dialog_msg" msgid="8948186136957417948">"Për të aktivizuar telefonatën me video, nevojitet të aktivizosh \"Modalitetin e përparuar 4G LTE\" në cilësimet e rrjetit."</string>
+    <string name="enable_video_calling_dialog_settings" msgid="576528473599603249">"Cilësimet e rrjetit"</string>
+    <string name="enable_video_calling_dialog_close" msgid="7411471282167927991">"Mbyll"</string>
+    <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Telefonata urgjence"</string>
+    <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Vetëm telefonata urgjence"</string>
+    <string name="sim_description_default" msgid="4778679519938775515">"Karta SIM, foleja: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Qasshmëria"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Telefonatë hyrëse Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Telefonatë me Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Prek sërish për ta hapur"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Ndodhi një gabim gjatë dekodimit të mesazhit."</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index c3bfc5c..426abbd 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Налози на телефону"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Додај SIP налог"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Конфигурисање подешавања налога"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi позивање"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Позивање преко Wi-Fi-ја"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не користи Wi-Fi позивање"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не користи помоћника за позиве"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ништа"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Конфигуриши"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Уграђена услуга повезивања"</string>
     <string name="voicemail" msgid="8693759337917898954">"Говорна пошта"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Гласовна пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Мрежни оператери"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Хитни преноси"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Повезивање са услугом за податке током роминга"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Повезивање са услугом за податке током роминга"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Веза за пренос података је прекинута зато што сте напустили кућну мрежу са искљученим преносом података у ромингу."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Желите ли да омогућите коришћење података у ромингу? Можда ће вам много бити наплаћено."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Могу да настану значајни трошкови."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Желите ли да дозволите пренос података у ромингу?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Опције за GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA опције"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Коришћење података"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Подеси TTY режим"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Аутоматски поновни покушај"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Омогућавање режима аутоматског поновног покушаја"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Промена TTY режима није дозвољена током видео позива"</string>
     <string name="menu_add" msgid="1882023737425114762">"Додај контакт"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Измени контакт"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Избриши контакт"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Читање са SIM картице…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Нема контаката на SIM картици."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Избор контаката за увоз"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Да бисте увезли контакте са SIM картице, прво искључите Режим рада у авиону."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Искључите режим рада у авиону да бисте увезли контакте са SIM картице."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Омогућавање/онемогућавање SIM PIN-а"</string>
     <string name="change_pin" msgid="9174186126330785343">"Промена SIM PIN-а"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Прекини везу"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Узврати позив"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Порука"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Да бисте упутили позив, прво искључите режим рада у авиону."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Искључите режим рада у авиону да бисте упутили позив."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Искључите режим рада у авиону или се повежите на бежичну мрежу да бисте упутили позив."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Није регистровано на мрежи."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Мобилна мрежа није доступна."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Мобилна мрежа није доступна. Повежите се на бежичну мрежу да бисте упутили позив."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Да бисте упутили позив, унесите важећи број."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Позив није успео."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Покретање MMI секвенце"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Конференцијски позиви нису могући."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Одбијање позива није успело."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Успостављање позива није успело."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Повежите се на бежичну мрежу да бисте упутили позив."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Хитан позив"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Укључивање радија…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Нема мреже. Поновни покушај…"</string>
@@ -508,18 +514,21 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Унет је режим за хитан повратни позив"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Режим за хитан повратни позив"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Веза за пренос података је онемогућена"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Нема везе за пренос података за <xliff:g id="COUNT">%s</xliff:g>минут"</item>
-    <item quantity="other" msgid="3122217344579273583">"Нема везе за пренос података за <xliff:g id="COUNT">%s</xliff:g> минута"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT">%s</xliff:g> минут. Док сте у овом режиму, не можете да користите ниједну апликацију која користи везу за пренос података. Да ли желите сада да изађете?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT">%s</xliff:g> минута. Док сте у овом режиму, не можете да користите ниједну апликацију која користи везу за пренос података. Да ли желите сада да изађете?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT">%s</xliff:g> минут. Да ли желите сада да изађете?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT">%s</xliff:g> минутa. Да ли желите сада да изађете?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Нема везе за пренос података <xliff:g id="COUNT_1">%s</xliff:g> минута</item>
+      <item quantity="few">Нема везе за пренос података <xliff:g id="COUNT_1">%s</xliff:g> минута</item>
+      <item quantity="other">Нема везе за пренос података <xliff:g id="COUNT_1">%s</xliff:g> минута</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT_1">%s</xliff:g> минут. Док је у овом режиму не можете да користите апликације које користе везу за пренос података. Желите ли одмах да изађете из овог режима?</item>
+      <item quantity="few">Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT_1">%s</xliff:g> минута. Док је у овом режиму не можете да користите апликације које користе везу за пренос података. Желите ли одмах да изађете из овог режима?</item>
+      <item quantity="other">Телефон ће бити у Режиму хитног повратног позива <xliff:g id="COUNT_1">%s</xliff:g> минута. Док је у овом режиму не можете да користите апликације које користе везу за пренос података. Желите ли одмах да изађете из овог режима?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT_1">%s</xliff:g> минут. Желите ли одмах да изађете из овог режима?</item>
+      <item quantity="few">Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT_1">%s</xliff:g> минута. Желите ли одмах да изађете из овог режима?</item>
+      <item quantity="other">Изабрана радња није доступна док сте у Режиму хитног повратног позива. Телефон ће бити у овом режиму <xliff:g id="COUNT_1">%s</xliff:g> минута. Желите ли одмах да изађете из овог режима?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Изабрана радња није доступна када је у току хитан позив"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Излазак из Режима хитног повратног позива"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Да"</string>
@@ -548,4 +557,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Хитни позиви"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Само за хитне позиве"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM картица, отвор: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Приступачност"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Долазни Wi-Fi позив"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi позив"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Додирните поново да бисте отворили"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Дошло је до грешке при декодирању поруке."</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index a1736c6..377765e 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Konton på mobilen"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Lägg till SIP-konto"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Konfigurera kontoinställningar"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi-samtal"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi-samtal"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Använd inte Wi-Fi-samtal"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Använd inte samtalsassistent"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Ingen"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Konfigurera"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Inbyggd anslutningstjänst"</string>
     <string name="voicemail" msgid="8693759337917898954">"Röstbrevlåda"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Röstbrevlåda (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"RB:"</string>
     <string name="networks" msgid="8873030692174541976">"Nätverksoperatörer"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Nödsändningar"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Anslut till datatjänster vid roaming"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Anslut till datatjänster vid roaming"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Du förlorade dataanslutningen eftersom du lämnade ditt hemnätverk utan att aktivera dataroaming."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Vill du tillåta dataanvändning vid roaming? Höga avgifter kan tillkomma."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Detta kan leda till höga kostnader."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Vill du tillåta dataroaming?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Alternativ för GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA-alternativ"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Dataanvändning"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Ange TTY-läge"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Försök igen automatiskt"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Aktivera läget Försök igen automatiskt"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Det går inte att ändra till texttelefonläge under ett videosamtal"</string>
     <string name="menu_add" msgid="1882023737425114762">"Lägg till kontakt"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Redigera kontakt"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Ta bort kontakt"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Läser från SIM-kort…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Inga kontakter på SIM-kortet."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Välj vilka kontakter som ska importeras"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Om du vill importera kontakter från SIM-kortet måste du inaktivera flygplansläget."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Inaktivera flygplansläget om du vill importera kontakter från SIM-kortet."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Aktivera/inaktivera SIM-kortets PIN-kod"</string>
     <string name="change_pin" msgid="9174186126330785343">"Ändra SIM-kortets PIN-kod"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM-kortets PIN-kod:"</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Lägg på"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ring upp"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Meddelande"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Om du vill ringa ett samtal måste du först inaktivera flygplansläge."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Inaktivera flygplansläget om du vill ringa."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Inaktivera flygplansläget eller anslut till ett trådlöst nätverk om du vill ringa."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Inte registrerat på nätverk."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Det finns inget mobilnät tillgängligt."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Det finns inga tillgängliga mobilnätverk. Anslut till ett trådlöst nätverk om du vill ringa."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Ange ett giltigt nummer om du vill ringa ett samtal."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Det gick inte att ringa."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Startar sekvens för MMI-kod…"</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Det gick inte att ringa konferenssamtal."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Det gick inte att avvisa samtalet."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Det gick inte att släppa samtal."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Anslut till ett trådlöst nätverk om du vill ringa."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Nödsamtal"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Sätter på radion…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ingen tjänst. Försök igen …"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Starta läget Återuppringning vid nödsamtal"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Läget Återuppringning vid nödsamtal"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Dataanslutning inaktiverad"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Inga dataanslutningar på <xliff:g id="COUNT">%s</xliff:g> minut"</item>
-    <item quantity="other" msgid="3122217344579273583">"Inga dataanslutningar på <xliff:g id="COUNT">%s</xliff:g> minuter"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefonen kommer att vara i läget Återuppringning vid nödsamtal i <xliff:g id="COUNT">%s</xliff:g> minut. I det här läget kan inga appar som kräver en dataanslutning användas. Vill du avsluta nu?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefonen kommer att vara i läget Återuppringning vid nödsamtal i <xliff:g id="COUNT">%s</xliff:g> minuter. I det här läget kan inga appar som kräver en dataanslutning användas. Vill du avsluta nu?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> minut. Vill du avsluta nu?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> minuter. Vill du avsluta nu?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Ingen dataanslutning i <xliff:g id="COUNT_1">%s</xliff:g> minuter</item>
+      <item quantity="one">Ingen dataanslutning i <xliff:g id="COUNT_0">%s</xliff:g> minut</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Mobilen försätts i nödsamtalsläge i <xliff:g id="COUNT_1">%s</xliff:g> minuter. I det här läget går det inte att använda några appar där en dataanslutning används. Vill du avsluta nu?</item>
+      <item quantity="one">Mobilen försätts i nödsamtalsläge i <xliff:g id="COUNT_0">%s</xliff:g> minut. I det här läget går det inte att använda några appar där en dataanslutning används. Vill du avsluta nu?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Den valda åtgärden är inte tillgänglig i nödsamtalsläget. Mobilen försätts i det här läget i <xliff:g id="COUNT_1">%s</xliff:g> minuter. Vill du avsluta nu?</item>
+      <item quantity="one">Den valda åtgärden är inte tillgänglig i nödsamtalsläget. Mobilen försätts i det här läget i <xliff:g id="COUNT_0">%s</xliff:g> minut. Vill du avsluta nu?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Den valda åtgärden är inte tillgänglig under nödsamtal."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Avslutar läget Återuppringning vid nödsamtal"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ja"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Nödsamtal"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Endast nödsamtal"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-kortsplats: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Tillgänglighet"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Inkommande Wi-Fi-samtal"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi-samtal"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Tryck igen för att öppna"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Ett fel inträffade när meddelandet avkodades."</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index eeebd0d..7e3e182 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Akaunti za simu"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Ongeza akaunti ya SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Sanidi mipangilio ya akaunti"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Upigaji simu kwa Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Upigaji simu kwa Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Usitumie upigaji simu kwa Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Usitumie kisaidizi cha simu"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Kisitumike"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Sanidi"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Huduma ya muunganisho iliyojengewa ndani"</string>
     <string name="voicemail" msgid="8693759337917898954">"Barua ya sauti"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Ujumbe wa sauti (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Kampuni zinazotoa huduma"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Matangazo ya dharura"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Unganisha huduma ya data wakati niko nje ya mtandao wangu wa kawaida"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Unganisha huduma ya data wakati niko nje ya mtandao wangu wa kawaida"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Umepoteza muunganisho wa data kwa sababu uliondoka kwenye mtandao wako wa kawaida ukiwa umezima utumiaji data nje ya mtandao wa kawaida."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Ungependa kuruhusu matumizi ya data kwenye mitandao mingine? Huenda ukatozwa ada kubwa."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Unaweza kutozwa gharama kubwa."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Je, ungependa kuruhusu matumizi ya intaneti ukiwa nje ya mtandao wako wa kawaida?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Chaguo za GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Chaguo za CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Matumizi ya data"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Weka hali ya TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Jaribu tena Kiotomatiki"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Wezesha hali ya kujaribu tena Kiotomatiki"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Kubadilisha Hali ya TTY hakuruhusiwi wakati wa hangout ya video"</string>
     <string name="menu_add" msgid="1882023737425114762">"Ongeza anwani"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Hariri anwani"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Futa anwani"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Inasoma kutoka kwa SIM kadi…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Hakuna anwani kwenye SIM kadi yako."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Chagua anwani za kuingiza"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Ili kuleta anwani kutoka kwa SIM kadi, kwanza zima hali ya Ndege."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Zima hali ya ndegeni ili uingize anwani kutoka kadi ya SIM"</string>
     <string name="enable_pin" msgid="5422767284133234860">"Wezesha/zima nenosiri la SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Badilisha nenosiri la SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN ya SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Kata simu"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Mpigie"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Ujumbe"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Kupiga simu, kwanza zima hali ya ndege."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Zima hali ya ndegeni ili upige simu."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Zima hali ya ndegeni au uunganishe kwenye mtandao pasiwaya ili upige simu."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Haijasajiliwa kwa mitandao"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mitandao ya simu za mkononi haipatikani"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Huduma ya mtandao wa simu za mkononi haupatikani. Unganisha kwenye mtandao pasiwaya ili upige simu."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Ili upige simu, weka nambari sahihi."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Haiwezi kupiga simu."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Inaanzisha msururu wa MMI…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Imeshindwa kupigia watu wengi."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Haiwezi kukataa simu."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Haiwezi kutoa simu."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Unganisha kwenye mtandao pasiwaya ili upige simu."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Simu ya dharura"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Inawasha redio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Hakuna huduma. Inajaribu tena..."</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Umeingia katika gumzo ya kupiga tena simu ya Dharura"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"hali ya kupiga tena simu ya Dharura"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Muunganisho wa data umelemazwa"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Hakuna muunganisho wa data kwa dakika <xliff:g id="COUNT">%s</xliff:g>"</item>
-    <item quantity="other" msgid="3122217344579273583">"Hakuna data ya muunganisho kwa dakika <xliff:g id="COUNT">%s</xliff:g>"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Simu itakuwa katika hali ya Kupiga tena Simu ya Dharura kwa dakika <xliff:g id="COUNT">%s</xliff:g>. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumika. Je, unataka kutoka sasa?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Simu itakuwa katika hali ya Kupiga tena Simu ya Dharura kwa dakika <xliff:g id="COUNT">%s</xliff:g>. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumika. Je, unataka kutoka sasa?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Tendo lililochaguliwa halipatikana wakati iko katika hali ya kupiga tena simu ya dharura. Simu itakuwa katika hali hii kwa dakika <xliff:g id="COUNT">%s</xliff:g>. Je, unataka kutoka sasa?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Kitendo kilichochaguliwa hakipatikani katika hali ya Kupiga Tena Simu ya Dharura. Simu itakuwa katika hali hii kwa dakika <xliff:g id="COUNT">%s</xliff:g>. Je, unataka kutoka sasa?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Hakuna muunganisho wa data kwa dakika <xliff:g id="COUNT_1">%s</xliff:g></item>
+      <item quantity="one">Hakuna muunganisho wa data kwa dakika <xliff:g id="COUNT_0">%s</xliff:g> </item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_1">%s</xliff:g>. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumiwa. Je, unataka kuondoka sasa?</item>
+      <item quantity="one">Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_0">%s</xliff:g>. Ukiwa katika hali hii hakuna programu zinazotumia muunganisho wa data zinazoweza kutumiwa. Je, unataka kuondoka sasa?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Kitendo kilichochaguliwa hakipatikani ikiwa katika Simu ya Dharura. Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_1">%s</xliff:g>. Je, unataka kuondoka sasa?</item>
+      <item quantity="one">Kitendo kilichochaguliwa hakipatikani ikiwa katika Simu ya Dharura. Simu itakuwa katika hali ya Simu ya Dharura kwa dakika <xliff:g id="COUNT_0">%s</xliff:g>. Je, unataka kuondoka sasa?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Kitendo kilichochaguliwa hakipatikani ikiwa katika simu ya dharura."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Inatoka kwa hali ya Kupiga tena simu ya Dharura"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ndiyo"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Simu za dharura"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Simu za dharula pekee"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM kadi, nafasi: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Zana za walio na matatizo ya kuona au kusikia"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Simu ya Wi-Fi inayoingia"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Simu ya Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Gusa tena ili ufungue"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Hitilafu imetokea wakati wa usimbuaji wa ujumbe."</string>
 </resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
index b6fd9ba..a660a77 100644
--- a/res/values-ta-rIN/strings.xml
+++ b/res/values-ta-rIN/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ஃபோன் கணக்குகள்"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP கணக்கைச் சேர்"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"கணக்கு அமைப்புகளை உள்ளமைக்கவும்"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"வைஃபை அழைப்பு"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"வைஃபை அழைப்பு"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"வைஃபை அழைப்பைப் பயன்படுத்தாதே"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"அழைப்பு உதவியைப் பயன்படுத்தாதே"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ஏதுமில்லை"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"உள்ளமை"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"உள்ளமைக்கப்பட்ட இணைப்பு சேவை"</string>
     <string name="voicemail" msgid="8693759337917898954">"குரலஞ்சல்"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"குரலஞ்சல் (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"நெட்வொர்க் ஆபரேட்டர்கள்"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"அவசரகால அலைபரப்புகள்"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"ரோமிங்கின் போது தரவு சேவைகளுடன் இணை"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"ரோமிங்கின் போது தரவு சேவைகளுடன் இணை"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"உள்ளூர் நெட்வொர்க்கில் தரவு ரோமிங்கை முடக்கிய நிலையில் வெளியேறியுள்ளதால், தரவு இணைப்பை இழந்துவிட்டீர்கள்."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"ரோமிங்கின் போது தரவுப் பயன்பாட்டை அனுமதிக்கவா? குறிப்பிடத்தக்க கட்டணங்கள் இருக்கலாம்."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"குறிப்பிடத்தக்க கட்டணங்கள் இருக்கலாம்."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"தரவு ரோமிங்கை அனுமதிக்கவா?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS விருப்பங்கள்"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA விருப்பங்கள்"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"தரவு பயன்பாடு"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY பயன்முறையை அமை"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"தானாக மீண்டும் அழைக்க முயற்சித்தல்"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"தானாக மீண்டும் அழைக்க முயற்சிக்கும் பயன்முறையை இயக்கு"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"வீடியோ அழைப்பின்போது TTY பயன்முறை மாற்றம் அனுமதிக்கப்படாது"</string>
     <string name="menu_add" msgid="1882023737425114762">"தொடர்பைச் சேர்"</string>
     <string name="menu_edit" msgid="7143003705504672374">"தொடர்பை மாற்று"</string>
     <string name="menu_delete" msgid="3977150783449642851">"தொடர்பை நீக்கு"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"சிம் கார்டில் இருப்பதைப் படிக்கிறது…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"சிம் கார்டில் தொடர்புகள் இல்லை."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"இறக்குமதிக்கு தொடர்புகளைத் தேர்ந்தெடுக்கவும்"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"சிம் கார்டிலிருந்து தொடர்புகளை இறக்குமதி செய்ய, முதலில் விமானப் பயன்முறையை முடக்கவும்."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM கார்டிலிருந்து தொடர்புகளை இறக்க, விமானப் பயன்முறையை முடக்கவும்."</string>
     <string name="enable_pin" msgid="5422767284133234860">"சிம்மின் பின்னை இயக்கு/முடக்கு"</string>
     <string name="change_pin" msgid="9174186126330785343">"சிம்மின் பின்னை மாற்று"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"சிம் பின்:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"துண்டி"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"திருப்பி அழை"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"செய்தி"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"அழைப்பதற்கு, முதலில் விமானப் பயன்முறையை முடக்கவும்."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"அழைக்க, விமானப் பயன்முறையை முடக்கவும்."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"அழைக்க, விமானப் பயன்முறையை முடக்கவும் அல்லது வயர்லெஸ் நெட்வொர்க்குடன் இணைக்கவும்."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"நெட்வொர்க்கில் பதிவுசெய்யப்படவில்லை."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"செல்லுலார் நெட்வொர்க் கிடைக்கவில்லை."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"செல்லுலார் நெட்வொர்க் கிடைக்கவில்லை. அழைக்க, வயர்லெஸ் நெட்வொர்க்குடன் இணைக்கவும்."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"அழைக்க, சரியான எண்ணை உள்ளிடவும்."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"அழைக்க முடியாது."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI வரிசையைத் தொடங்குகிறது..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"குழு அழைப்புகளை மேற்கொள்ள முடியவில்லை."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"அழைப்பை நிராகரிக்க முடியாது."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"அழைப்பை(அழைப்புகளை) விடுவிக்க முடியாது."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"அழைக்க, வயர்லெஸ் நெட்வொர்க்குடன் இணைக்கவும்."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"அவசரகால அழைப்பு"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ரேடியோவை இயக்குகிறது…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"சேவை இல்லை. மீண்டும் முயற்சிக்கிறது…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"அவசரகால திரும்ப அழைக்கும் பயன்முறை இயக்கப்பட்டது"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"அவசரகால திரும்ப அழைக்கும் பயன்முறை"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"தரவு இணைப்பு முடக்கப்பட்டது"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> நிமிடத்திற்கு தரவு இணைப்பு இருக்காது"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> நிமிடங்களுக்குத் தரவு இணைப்பு இருக்காது"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"<xliff:g id="COUNT">%s</xliff:g> நிமிடத்தில் அவசரகால திரும்ப அழைக்கும் பயன்முறைக்கு மொபைல் மாறிவிடும். இந்தப் பயன்முறை செயலில் இருக்கும்போது, எந்தப் பயன்பாடுகளும் தரவு இணைப்பைப் பயன்படுத்தாது. இப்போது வெளியேற விருப்பமா?"</item>
-    <item quantity="other" msgid="8617116564023933114">"<xliff:g id="COUNT">%s</xliff:g> நிமிடத்தில் அவசரகால திரும்ப அழைக்கும் பயன்முறைக்கு மொபைல் மாறிவிடும். இந்தப் பயன்முறை செயலில் இருக்கும்போது, எந்தப் பயன்பாடுகளும் தரவு இணைப்பைப் பயன்படுத்தாது. இப்போது வெளியேற விருப்பமா?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"அவசரகால திரும்ப அழைக்கும் பயன்முறை செயலில் இருக்கும்போது, தேர்ந்தெடுத்த செயல்பாடு கிடைக்காது. <xliff:g id="COUNT">%s</xliff:g> நிமிடத்தில் இந்தப் பயன்முறையில் மொபைல் மாறிவிடும். இப்போது வெளியேற விருப்பமா?"</item>
-    <item quantity="other" msgid="6115622137771382224">"அவசரநிலை திரும்ப அழைக்கும் பயன்முறை செயலில் இருக்கும்போது, தேர்ந்தெடுத்த செயல்பாடு கிடைக்காது. <xliff:g id="COUNT">%s</xliff:g> நிமிடத்தில் மொபைல் இந்தப் பயன்முறையில் மாறிவிடும். இப்போது வெளியேற விருப்பமா?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> நிமிடங்களுக்குத் தரவு இணைப்பு இருக்காது</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> நிமிடத்திற்குத் தரவு இணைப்பு இருக்காது</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> நிமிடங்களுக்கு மொபைல் அவசரகால திரும்ப அழைக்கும் பயன்முறையில் இருக்கும். இந்தப் பயன்முறையில், தரவு இணைப்பைப் பயன்படுத்தாத பயன்பாடுகளைப் பயன்படுத்தலாம். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> நிமிடத்திற்கு மொபைல் அவசரகால திரும்ப அழைக்கும் பயன்முறையில் இருக்கும். இந்தப் பயன்முறையில், தரவு இணைப்பைப் பயன்படுத்தாத பயன்பாடுகளைப் பயன்படுத்தலாம். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">அவசரகால திரும்ப அழைக்கும் பயன்முறை செயலில் இருக்கும்போது, தேர்ந்தெடுத்த செயல் கிடைக்காது. <xliff:g id="COUNT_1">%s</xliff:g> நிமிடங்களுக்கு மொபைல் இந்தப் பயன்முறையில் இருக்கும். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
+      <item quantity="one">அவசரகால திரும்ப அழைக்கும் பயன்முறை செயலில் இருக்கும்போது, தேர்ந்தெடுத்த செயல் கிடைக்காது. <xliff:g id="COUNT_0">%s</xliff:g> நிமிடத்திற்கு மொபைல் இந்தப் பயன்முறையில் இருக்கும். இப்போது வெளியேற விரும்புகிறீர்களா?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"அவசரகால அழைப்பு செயலில் இருக்கும்போது தேர்ந்தெடுத்த செயல் கிடைக்காது."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"அவசரகால திரும்ப அழைக்கும் பயன்முறையிலிருந்து வெளியேறுகிறது"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ஆம்"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"அவசர அழைப்புகள்"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"அவசர அழைப்பு மட்டுமே"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"சிம் கார்டு, ஸ்லாட்: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"அணுகல் தன்மை"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"உள்வரும் வைஃபை அழைப்பு"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"வைஃபை அழைப்பு"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"திறக்க, மீண்டும் தட்டவும்"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"செய்தியைக் குறிவிலக்கும்போது பிழை ஏற்பட்டது."</string>
 </resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
index 5b52d6e..aad66db 100644
--- a/res/values-te-rIN/strings.xml
+++ b/res/values-te-rIN/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"ఫోన్ ఖాతాలు"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP ఖాతాను జోడించు"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"ఖాతా సెట్టింగ్‌లను కాన్ఫిగర్ చేయి"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi కాలింగ్"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi కాలింగ్"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi కాలింగ్‌ను ఉపయోగించవద్దు"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"కాల్ సహాయకాన్ని ఉపయోగించవద్దు"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ఏదీ వద్దు"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"కాన్ఫిగర్ చేయి"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"అంతర్నిర్మిత కనెక్షన్ సేవ"</string>
     <string name="voicemail" msgid="8693759337917898954">"వాయిస్ మెయిల్"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"వాయిస్ మెయిల్ (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"నెట్‌వర్క్ ఆపరేటర్‌లు"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"అత్యవసర ప్రసారాలు"</string>
@@ -92,7 +93,7 @@
     <string name="sum_loading_settings" msgid="1826692909391168620">"సెట్టింగ్‌లను లోడ్ చేస్తోంది…"</string>
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"అవుట్‌గోయింగ్ కాల్‌ల్లో నంబర్ దాచబడుతుంది"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"అవుట్‌గోయింగ్ కాల్‌ల్లో నంబర్ ప్రదర్శించబడుతుంది"</string>
-    <string name="sum_default_caller_id" msgid="1954518825510901365">"అవుట్‌గోయింగ్ కాల్‌ల్లో నా నంబర్‌ను ప్రదర్శించడానికి డిఫాల్ట్ ఆపరేటర్ సెట్టింగ్‌లను ఉపయోగించండి"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"అవుట్‌గోయింగ్ కాల్‌ల్లో నా నంబర్‌ను ప్రదర్శించడానికి డిఫాల్ట్ ఆపరేటర్ సెట్టింగ్‌లను ఉపయోగించు"</string>
     <string name="labelCW" msgid="6120513814915920200">"కాల్ నిరీక్షణ"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"కాల్ సమయంలో, ఇన్‌కమింగ్ కాల్‌ల గురించి నాకు తెలియజేయి"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"కాల్ సమయంలో, ఇన్‌కమింగ్ కాల్‌ల గురించి నాకు తెలియజేయి"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"రోమింగ్‌లో ఉన్నప్పుడు డేటా సేవలకు కనెక్ట్ చేయి"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"రోమింగ్‌లో ఉన్నప్పుడు డేటా సేవలకు కనెక్ట్ చేయి"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"మీరు డేటా రోమింగ్ ఆపివేసి, మీ హోమ్ నెట్‌వర్క్ నుండి నిష్క్రమించినందున మీరు డేటా కనెక్టివిటీని కోల్పోయారు."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"రోమింగ్‌లో ఉన్నప్పుడు డేటా వినియోగాన్ని అనుమతించాలా? గణనీయ ఛార్జీలు వర్తించవచ్చు."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"మీకు గణనీయ ఛార్జీలు విధించబడవచ్చు."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"డేటా రోమింగ్‌ను అనుమతించాలా?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS ఎంపికలు"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA ఎంపికలు"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"డేటా వినియోగం"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY మోడ్‌ను సెట్ చేయండి"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"స్వీయ-పునఃప్రయత్నం"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"స్వీయ-పునఃప్రయత్నం మోడ్‌ను ప్రారంభించండి"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"వీడియో కాల్ సమయంలో TTY మోడ్ మార్పు అనుమతించబడదు"</string>
     <string name="menu_add" msgid="1882023737425114762">"పరిచయాన్ని జోడించు"</string>
     <string name="menu_edit" msgid="7143003705504672374">"పరిచయాన్ని సవరించు"</string>
     <string name="menu_delete" msgid="3977150783449642851">"పరిచయాన్ని తొలగించు"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM కార్డు నుండి చదువుతోంది…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"మీ SIM కార్డులో పరిచయాలు ఏవీ లేవు."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"దిగుమతి చేయడానికి పరిచయాలను ఎంచుకోండి"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM కార్డు నుండి పరిచయాలను దిగుమతి చేయడానికి, మొదట ఎయిర్‌ప్లైన్ మోడ్‌ను ఆపివేయండి."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM కార్డ్‌లోని పరిచయాలను దిగుమతి చేయడానికి ఎయిర్‌ప్లైన్ మోడ్‌ను ఆఫ్ చేయండి."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PINను ప్రారంభించండి/నిలిపివేయండి"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PINను మార్చండి"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM పిన్‌:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"కాల్‌ను ముగించు"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"తిరిగి కాల్ చేయి"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"సందేశం"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"కాల్ చేయడానికి, మొదట ఎయిర్‌ప్లైన్ మోడ్‌ను ఆపివేయండి."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"కాల్ చేయడానికి ఎయిర్‌ప్లైన్ మోడ్‌ను ఆఫ్ చేయండి."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"కాల్ చేయడానికి ఎయిర్‌ప్లైన్ మోడ్‌ను ఆఫ్ చేయండి లేదా వైర్‌లెస్ నెట్‌వర్క్‌కు కనెక్ట్ చేయండి."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"నెట్‌వర్క్‌లో నమోదు కాలేదు."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"సెల్యులార్ నెట్‌వర్క్ అందుబాటులో లేదు."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"సెల్యులార్ నెట్‌వర్క్ అందుబాటులో లేదు. కాల్ చేయడానికి వైర్‌లెస్ నెట్‌వర్క్‌కి కనెక్ట్ చేయండి."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"కాల్ చేయడానికి, చెల్లుబాటు అయ్యే నంబర్‌ను నమోదు చేయండి."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"కాల్ చేయలేరు."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI శ్రేణిని ప్రారంభిస్తోంది…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"కాన్ఫరెన్స్ కాల్‌లు చేయడం సాధ్యపడలేదు."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"కాల్‌ను తిరస్కరించలేరు."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"కాల్(ల)ను విడిచిపెట్టలేరు."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"కాల్ చేయడానికి వైర్‌లెస్ నెట్‌వర్క్‌కు కనెక్ట్ చేయండి."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"అత్యవసర కాల్"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"రేడియోను ప్రారంభిస్తోంది…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"సేవ లేదు. మళ్లీ ప్రయత్నిస్తోంది…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"అత్యవసర కాల్‌బ్యాక్ మోడ్‌లోకి ప్రవేశించింది"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"అత్యవసర కాల్‌బ్యాక్ మోడ్"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"డేటా కనెక్షన్ నిలిపివేయబడింది"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> నిమిషం పాటు డేటా కనెక్షన్ ఉండదు"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> నిమిషాల పాటు డేటా కనెక్షన్ ఉండదు"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"ఫోన్ <xliff:g id="COUNT">%s</xliff:g> నిమిషం పాటు అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు డేటా కనెక్షన్‌ను ఉపయోగించే అనువర్తనాలు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?"</item>
-    <item quantity="other" msgid="8617116564023933114">"ఫోన్ <xliff:g id="COUNT">%s</xliff:g> నిమిషాల పాటు అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు డేటా కనెక్షన్‌ను ఉపయోగించే అనువర్తనాలు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"ఎంచుకున్న చర్య అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు అందుబాటులో ఉండదు. ఫోన్ ఈ మోడ్‌లో <xliff:g id="COUNT">%s</xliff:g> నిమిషం పాటు ఉంటుంది. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?"</item>
-    <item quantity="other" msgid="6115622137771382224">"ఎంచుకున్న చర్య అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు అందుబాటులో ఉండదు. ఫోన్ ఈ మోడ్‌లో <xliff:g id="COUNT">%s</xliff:g> నిమిషాల పాటు ఉంటుంది. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> నిమిషాల పాటు డేటా కనెక్షన్ ఉండదు</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> నిమిషం పాటు డేటా కనెక్షన్ ఉండదు</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">ఫోన్ <xliff:g id="COUNT_1">%s</xliff:g> నిమిషాల పాటు అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు, డేటా కనెక్షన్‌ను ఉపయోగించే అనువర్తనాలు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
+      <item quantity="one">ఫోన్ <xliff:g id="COUNT_0">%s</xliff:g> నిమిషం పాటు అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉంటుంది. ఈ మోడ్‌లో ఉన్నప్పుడు, డేటా కనెక్షన్‌ను ఉపయోగించే అనువర్తనాలు ఏవీ ఉపయోగించబడవు. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు, ఎంచుకున్న చర్య అందుబాటులో లేదు. ఫోన్ <xliff:g id="COUNT_1">%s</xliff:g> నిమిషాల పాటు ఈ మోడ్‌లో ఉంటుంది. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
+      <item quantity="one">అత్యవసర కాల్‌బ్యాక్ మోడ్‌లో ఉన్నప్పుడు, ఎంచుకున్న చర్య అందుబాటులో లేదు. ఫోన్ <xliff:g id="COUNT_0">%s</xliff:g> నిమిషం పాటు ఈ మోడ్‌లో ఉంటుంది. మీరు ఇప్పుడు నిష్క్రమించాలనుకుంటున్నారా?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"ఎంచుకున్న చర్య అత్యవసర కాల్‌లో ఉన్నప్పుడు అందుబాటులో ఉండదు."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"అత్యవసర కాల్‌బ్యాక్ మోడ్ నుండి నిష్క్రమిస్తోంది"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"అవును"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"అత్యవసర కాల్‌లు"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"అత్యవసర కాలింగ్ మాత్రమే"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM కార్డ్, స్లాట్: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"ప్రాప్యత సామర్థ్యం"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"ఇన్‌కమింగ్ Wi-Fi కాల్"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi కాల్"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"తెరవడానికి మళ్లీ తాకండి"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"సందేశాన్ని డీకోడ్ చేస్తున్నప్పుడు లోపం సంభవించింది."</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 1bb7a4e..3068e29 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"บัญชีโทรศัพท์"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"เพิ่มบัญชี SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"กำหนดการตั้งค่าบัญชี"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"การโทรผ่าน Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"การโทรผ่าน Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"ไม่ใช้การโทรผ่าน Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"ไม่ใช้ผู้ช่วยโทร"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"ไม่มี"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"กำหนดค่า"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"บริการเชื่อมต่อในตัว"</string>
     <string name="voicemail" msgid="8693759337917898954">"ข้อความเสียง"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"ข้อความเสียง (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"ผู้ให้บริการเครือข่าย"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"การเผยแพร่ข้อมูลฉุกเฉิน"</string>
@@ -105,17 +106,17 @@
     <string name="sum_cfu_enabled" msgid="2450052502198827927">"โอนสายทั้งหมดไปที่ <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"หมายเลขใช้งานไม่ได้"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"ปิด"</string>
-    <string name="labelCFB" msgid="6139853033106283172">"เมื่อไม่ว่าง"</string>
+    <string name="labelCFB" msgid="6139853033106283172">"เมื่อสายไม่ว่าง"</string>
     <string name="messageCFB" msgid="3711089705936187129">"หมายเลขเมื่อสายไม่ว่าง"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"โอนสายไปที่ <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"ปิด"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อสายไม่ว่าง"</string>
-    <string name="labelCFNRy" msgid="1736067178393744351">"เมื่อไม่มีการตอบ"</string>
+    <string name="labelCFNRy" msgid="1736067178393744351">"เมื่อไม่รับสาย"</string>
     <string name="messageCFNRy" msgid="672317899884380374">"หมายเลขเมื่อไม่ได้รับสาย"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"โอนสายไปที่ <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"ปิด"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"ผู้ให้บริการของคุณไม่สนับสนุนการปิดใช้งานการโอนสายเมื่อไม่มีผู้รับสาย"</string>
-    <string name="labelCFNRc" msgid="2614827454402079766">"เมื่อไม่สามารถติดต่อได้"</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"เมื่อติดต่อไม่ได้"</string>
     <string name="messageCFNRc" msgid="6380695421020295119">"หมายเลขเมื่อติดต่อไม่ได้"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"โอนสายไปที่ <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"ถูกปิดใช้งาน"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"เชื่อมต่อบริการข้อมูลขณะโรมมิ่ง"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"เชื่อมต่อบริการข้อมูลขณะโรมมิ่ง"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"การเชื่อมต่อข้อมูลของคุณหายไปเนื่องจากคุณออกจากเครือข่ายที่บ้านโดยปิดการโรมมิ่งข้อมูลไว้"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"อนุญาตการใช้อินเทอร์เน็ตขณะโรมมิ่งไหม อาจมีการเรียกเก็บเงินจำนวนมาก"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"คุณอาจต้องเสียค่าใช้จ่ายมาก"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"อนุญาตการโรมมิ่งอินเทอร์เน็ตไหม"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"ตัวเลือก GSM//UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"ตัวเลือก CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"การใช้ข้อมูล"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"ตั้งค่าโหมด TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"ลองซ้ำอัตโนมัติ"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"เปิดใช้งานโหมดลองซ้ำอัตโนมัติ"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"ไม่อนุญาตการเปลี่ยนโหมด TTY ในระหว่างแฮงเอาท์วิดีโอ"</string>
     <string name="menu_add" msgid="1882023737425114762">"เพิ่มรายชื่อติดต่อ"</string>
     <string name="menu_edit" msgid="7143003705504672374">"แก้ไขรายชื่อติดต่อ"</string>
     <string name="menu_delete" msgid="3977150783449642851">"ลบรายชื่อติดต่อ"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"กำลังอ่านจากซิมการ์ด…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"ไม่มีรายชื่อติดต่อบนซิมการ์ดของคุณ"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"เลือกสมุดโทรศัพท์ที่จะนำเข้า"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"ในการนำเข้าผู้ติดต่อจากซิมการ์ด ให้ปิดโหมดบนเครื่องบินก่อน"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"ปิดโหมดบนเครื่องบินเพื่อนำเข้ารายชื่อติดต่อจากซิมการ์ด"</string>
     <string name="enable_pin" msgid="5422767284133234860">"เปิด/ปิดใช้งาน PIN ของซิม"</string>
     <string name="change_pin" msgid="9174186126330785343">"เปลี่ยน PIN ของซิม"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN ของซิม:"</string>
@@ -430,13 +433,15 @@
     <string name="notification_voicemail_text_format" msgid="4447323569453981685">"หมุนหมายเลข <xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g>"</string>
     <string name="notification_voicemail_no_vm_number" msgid="760963466895609716">"ไม่ทราบหมายเลขข้อความเสียง"</string>
     <string name="notification_network_selection_title" msgid="4224455487793492772">"ไม่มีบริการ"</string>
-    <string name="notification_network_selection_text" msgid="2607085729661923269">"เครือข่ายที่เลือกไว้ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ใช้งานไม่ได้"</string>
+    <string name="notification_network_selection_text" msgid="2607085729661923269">"เครือข่ายที่เลือกไว้ (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) ไม่พร้อมใช้งาน"</string>
     <string name="notification_action_end_call" msgid="6069460915123531620">"วางสาย"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"โทรกลับ"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"ข้อความ"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"หากต้องการโทรออก ให้ปิดโหมดใช้งานบนเครื่องบินก่อน"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"ปิดโหมดบนเครื่องบินเพื่อโทรออก"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"ปิดโหมดบนเครื่องบินหรือเชื่อมต่อเครือข่ายไร้สายเพื่อโทรออก"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"ยังไม่ได้ลงทะเบียนบนเครือข่าย"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"เครือข่ายมือถือใช้งานไม่ได้"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"เครือข่ายมือถือไม่พร้อมใช้งาน โปรดเชื่อมต่อเครือข่ายไร้สายเพื่อโทรออก"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"หากต้องการโทรออก โปรดป้อนหมายเลขที่ถูกต้อง"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"ไม่สามารถโทรได้"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"กำลังเริ่มต้นลำดับ MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"ประชุมทางโทรศัพท์ไม่ได้"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"ไม่สามารถปฏิเสธสายได้"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"ไม่สามารถเริ่มการโทรได้"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"เชื่อมต่อเครือข่ายไร้สายเพื่อโทรออก"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"หมายเลขฉุกเฉิน"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"กำลังเปิดวิทยุ…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"ไม่มีบริการ โปรดลองอีกครั้ง…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"เข้าสู่โหมดติดต่อกลับฉุกเฉิน"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"โหมดติดต่อกลับฉุกเฉิน"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ปิดใช้งานการเชื่อมต่อเครือข่าย"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"ไม่มีการเชื่อมต่อข้อมูลนาน <xliff:g id="COUNT">%s</xliff:g> นาที"</item>
-    <item quantity="other" msgid="3122217344579273583">"ไม่มีการเชื่อมต่อข้อมูลนาน <xliff:g id="COUNT">%s</xliff:g> นาที"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT">%s</xliff:g> นาที ในระหว่างที่อยู่ในโหมดนี้ จะไม่สามารถใช้แอปพลิเคชันที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการจะออกเดี๋ยวนี้หรือไม่"</item>
-    <item quantity="other" msgid="8617116564023933114">"โทรศัพท์จะอยู่ในโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT">%s</xliff:g> นาที ในระหว่างที่อยู่ในโหมดนี้ จะไม่สามารถใช้แอปพลิเคชันที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการจะออกเดี๋ยวนี้หรือไม่"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"การทำงานที่เลือกจะไม่สามารถใช้ได้เมื่ออยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา <xliff:g id="COUNT">%s</xliff:g> นาที คุณต้องการจะออกเดี๋ยวนี้หรือไม่"</item>
-    <item quantity="other" msgid="6115622137771382224">"การทำงานที่เลือกจะไม่สามารถใช้ได้เมื่ออยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะอยู่ในโหมดนี้เป็นเวลา <xliff:g id="COUNT">%s</xliff:g> นาที คุณต้องการจะออกเดี๋ยวนี้หรือไม่"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">ไม่มีการเชื่อมต่อข้อมูลนาน <xliff:g id="COUNT_1">%s</xliff:g> นาที</item>
+      <item quantity="one">ไม่มีการเชื่อมต่อข้อมูลนาน <xliff:g id="COUNT_0">%s</xliff:g> นาที</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">โทรศัพท์จะเข้าโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT_1">%s</xliff:g> นาที ขณะใช้โหมดนี้ จะไม่สามารถใช้แอปพลิเคชันที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการออกตอนนี้ไหม</item>
+      <item quantity="one">โทรศัพท์จะเข้าโหมดติดต่อกลับฉุกเฉินเป็นเวลา <xliff:g id="COUNT_0">%s</xliff:g> นาที ขณะใช้โหมดนี้ จะไม่สามารถใช้แอปที่ใช้การเชื่อมต่อข้อมูลได้ คุณต้องการออกตอนนี้ไหม</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">ไม่สามารถทำงานที่เลือกนี้ได้ขณะอยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะใช้โหมดนี้เป็นเวลา <xliff:g id="COUNT_1">%s</xliff:g> นาที คุณต้องการออกตอนนี้ไหม</item>
+      <item quantity="one">ไม่สามารถทำงานที่เลือกนี้ได้ขณะอยู่ในโหมดติดต่อกลับฉุกเฉิน โทรศัพท์จะใช้โหมดนี้เป็นเวลา <xliff:g id="COUNT_0">%s</xliff:g> นาที คุณต้องการออกตอนนี้ไหม</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"การทำงานที่เลือกใช้ไม่ได้ในระหว่างโทรฉุกเฉิน"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"กำลังออกจากโหมดติดต่อกลับฉุกเฉิน"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ใช่"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"หมายเลขฉุกเฉิน"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"เฉพาะหมายเลขฉุกเฉินเท่านั้น"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"ซิมการ์ด ช่อง: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"การเข้าถึง"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"สายโทรเข้าผ่าน Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"การโทรผ่าน Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"แตะอีกครั้งเพื่อเปิด"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"เกิดข้อผิดพลาดขณะถอดรหัสข้อความ"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index a08e5c1..7bf377a 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Mga account ng telepono"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Magdagdag ng SIP account"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"I-configure ang mga setting ng account"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Pagtawag sa pamamagitan ng Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Pagtawag sa pamamagitan ng Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Huwag gumamit ng pagtawag sa pamamagitan ng Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Huwag gumamit ng assistant sa pagtawag"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Wala"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"I-configure"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Built-in na serbisyo ng koneksyon"</string>
     <string name="voicemail" msgid="8693759337917898954">"Voicemail"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Voicemail (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Mga network operator"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Mga pang-emergency na broadcast"</string>
@@ -115,7 +116,7 @@
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Pinapasa sa <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Naka-off"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Hindi sinusuportahan ng iyong operator ang hindi pagpapagana sa pagpasa ng tawag kapag hindi sumasagot ang iyong telepono."</string>
-    <string name="labelCFNRc" msgid="2614827454402079766">"Kapag hindi nakakaugnayan"</string>
+    <string name="labelCFNRc" msgid="2614827454402079766">"Kapag hindi makontak"</string>
     <string name="messageCFNRc" msgid="6380695421020295119">"Numero kapag hindi maabot"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Pinapasa sa <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Hindi pinagana"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Kumonekta sa mga serbisyo ng data kapag nagro-roam"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Kumonekta sa mga serbisyo ng data kapag nagro-roam"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Nawalan ka ng pagkonekta sa data dahil iniwan mo ang iyong home network na naka-off ang roaming ng data."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Payagan ang paggamit ng data kapag naka-roaming? Maaaring may naaangkop na mga makabuluhang singil."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Maaari kang magkaroon ng malalaking singil."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Payagan ang roaming ng data?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Mga pagpipilian sa GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Mga pagpipiliian sa CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Paggamit ng data"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Itakda ang TTY mode"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Awtomatikong Muling Pagsubok"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Paganahin ang mode ng Awtomatikong muling pagsubok"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Hindi pinapayagan ang pagbago sa TTY Mode habang nagvi-video call"</string>
     <string name="menu_add" msgid="1882023737425114762">"Magdagdag ng contact"</string>
     <string name="menu_edit" msgid="7143003705504672374">"I-edit ang contact"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Tanggalin ang contact"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Nagbabasa mula sa SIM card…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Walang mga contact sa iyong SIM card."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Piliin ang mga contact upang i-import"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Upang mag-import ng mga contact mula sa SIM card, i-turn off muna ang mode ng Airplane."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"I-off ang airplane mode upang mag-import ng mga contact mula sa SIM card."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Paganahin/huwag paganahin ang PIN ng SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Baguhin ang PIN ng SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN ng SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Ibaba"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Tawagan"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Padalhan ng mensahe"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Upang tumawag, paki-off ang Airplane mode."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"I-off ang airplane mode upang makatawag."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"I-off ang airplane mode o kumonekta sa isang wireless network upang makatawag."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Hindi nakarehistro sa network."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Hindi available ang cellular network"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Hindi available ang cellular network. Kumonekta sa isang wireless network upang makatawag."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Upang tumawag, maglagay ng wastong numero."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Hindi makatawag."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Sinisimulan ang pagkakasunud-sunod ng MMI…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Hindi nagawang i-conference ang mga tawag."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Hindi matanggihan ang tawag."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Hindi mailabas ang (mga) tawag."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Kumonekta sa isang wireless network upang makatawag."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Emergency na tawag"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ino-on ang radyo…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Walang serbisyo. Sinusubukang muli…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Ipinasok na Emergency Callback Mode"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Emergency Callback Mode"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Hindi pinagana ang koneksyon ng data"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Walang koneksyon ng data sa loob ng <xliff:g id="COUNT">%s</xliff:g> (na) minuto"</item>
-    <item quantity="other" msgid="3122217344579273583">"Walang koneksyon ng data sa loob ng <xliff:g id="COUNT">%s</xliff:g> (na) minuto"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Magiging nasa mode ng Emergency Callback ang telepono sa <xliff:g id="COUNT">%s</xliff:g> (a) minuto. Habang nasa mode na ito walang magagamit na apps na gumagamit ng koneksyon ng data. Gusto mo bang umalis ngayon?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Magiging nasa mode ng Emergency Callback ang telepono sa <xliff:g id="COUNT">%s</xliff:g> (na) minuto. Habang nasa mode na ito walang magagamit na apps na gumagamit ng koneksyon ng data. Gusto mo bang umalis ngayon?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Hindi available ang napiling pagkilos habang nasa mode ng Emergency Callback. Magiging nasa ganitong mode ang telepono sa <xliff:g id="COUNT">%s</xliff:g> (na) minuto. Gusto mo bang umalis ngayon?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Hindi available ang napiling pagkilos habang nasa mode ng Emergency Callback. Magiging nasa ganitong mode ang telepono sa <xliff:g id="COUNT">%s</xliff:g> (na) minuto. Gusto mo bang umalis ngayon?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Walang koneksyon ng data sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> minuto</item>
+      <item quantity="other">Walang koneksyon ng data sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> na minuto</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Mapupunta sa Emergency Callback mode ang telepono sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> minuto. Habang nasa mode na ito, walang magagamit na mga application na gumagamit ng koneksyon ng data. Gusto mo bang lumabas ngayon?</item>
+      <item quantity="other">Mapupunta sa Emergency Callback mode ang telepono sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> na minuto. Habang nasa mode na ito, walang magagamit na mga application na gumagamit ng koneksyon ng data. Gusto mo bang lumabas ngayon?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Hindi available ang napiling pagkilos habang nasa Emergency Callback mode. Mananatili ang telepono sa mode na ito sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> minuto. Gusto mo bang lumabas ngayon?</item>
+      <item quantity="other">Hindi available ang napiling pagkilos habang nasa Emergency Callback mode. Mananatili ang telepono sa mode na ito sa loob ng <xliff:g id="COUNT_1">%s</xliff:g> na minuto. Gusto mo bang lumabas ngayon?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Hindi available ang piniling pagkilos habang nasa pang-emergency na tawag."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Lumalabas sa mode na Emergency Callback"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Oo"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Mga emergency na tawag"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Emergency na pagtawag lang"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM card, slot: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Pagiging Naa-access"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Papasok na tawag sa Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Tawag sa Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Pinduting muli upang buksan"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Nagkaroon ng error habang dine-decode ang mensahe."</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 9cecc05..1e66616 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefon hesapları"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP hesabı ekle"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Hesap ayarlarını yapılandır"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Kablosuz arama"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Kablosuz çağrı"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Kablosuz çağrıyı kullanma"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Çağrı asistanını kullanma"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Yok"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Yapılandır"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Yerleşik bağlantı hizmeti"</string>
     <string name="voicemail" msgid="8693759337917898954">"Sesli mesaj"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Sesli mesaj (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Ağ operatörleri"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Acil durum yayınları"</string>
@@ -110,7 +111,7 @@
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"Şuraya yönlendiriliyor: <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"Kapalı"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Operatörünüz, telefonunuz meşgul olduğunda çağrı yönlendirmenin devre dışı bırakılmasını desteklemiyor."</string>
-    <string name="labelCFNRy" msgid="1736067178393744351">"Yanıt verilmediğinde"</string>
+    <string name="labelCFNRy" msgid="1736067178393744351">"Yanıtlanmadığında"</string>
     <string name="messageCFNRy" msgid="672317899884380374">"Yanıtlanmadığında kullanılacak numara"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Şuraya yönlendiriliyor: <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Kapalı"</string>
@@ -201,10 +202,11 @@
     <string name="data_enabled" msgid="5972538663568715366">"Veri etkin"</string>
     <string name="data_enable_summary" msgid="2382798156640007971">"Veri kullanımına izin ver"</string>
     <string name="roaming" msgid="8871412572928323707">"Veri dolaşımı"</string>
-    <string name="roaming_enable" msgid="7331106985174381987">"Dolaşırken veri hizmetlerine bağlan"</string>
-    <string name="roaming_disable" msgid="1843417228755568110">"Dolaşırken veri hizmetlerine bağlan"</string>
+    <string name="roaming_enable" msgid="7331106985174381987">"Dolaşımdayken veri hizmetlerine bağlan"</string>
+    <string name="roaming_disable" msgid="1843417228755568110">"Dolaşımdayken veri hizmetlerine bağlan"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Veri dolaşımı kapalıyken ev ağınızdan ayrıldığınız için veri bağlantısını kaybettiniz."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Dolaşımda veri kullanımına izin verilsin mi? Kayda değer ücretler ödenmesi gerekebilir."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Kayda değer ücretler ödeyebilirsiniz."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Veri dolaşımına izin verilsin mi?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS Seçenekleri"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA Seçenekleri"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Veri kullanımı"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY modunu ayarla"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Otomatik yeniden deneme"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Otomatik Yeniden Deneme modunu etkinleştir"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Video görüşmesi sırasında TTY Mod değişikliğine izin verilmiyor"</string>
     <string name="menu_add" msgid="1882023737425114762">"Kişi ekle"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Kişiyi düzenle"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Kişiyi sil"</string>
@@ -357,7 +360,7 @@
     <string name="name" msgid="7329028332786872378">"Ad"</string>
     <string name="number" msgid="7905950798349903858">"Numara"</string>
     <string name="save" msgid="4094274636321939086">"Kaydet"</string>
-    <string name="add_fdn_contact" msgid="2481915899633353976">"Sabit arama numarası ekle"</string>
+    <string name="add_fdn_contact" msgid="2481915899633353976">"SAN ekle"</string>
     <string name="adding_fdn_contact" msgid="7627379633721940991">"Sabit arama numarası ekleniyor..."</string>
     <string name="fdn_contact_added" msgid="7458335758501736665">"Sabit arama numarası eklendi."</string>
     <string name="edit_fdn_contact" msgid="7976936035587081480">"Sabit arama numarasını düzenle"</string>
@@ -371,9 +374,9 @@
     <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN güncellenmedi. PIN2 doğru değildi veya telefon numarası reddedildi."</string>
     <string name="fdn_failed" msgid="540018079008319747">"FDN işlemi başarısız oldu."</string>
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM karttan okunuyor..."</string>
-    <string name="simContacts_empty" msgid="5270660846489561932">"SIM kartınızda hiçbir kişi yok."</string>
+    <string name="simContacts_empty" msgid="5270660846489561932">"SIM kartınızda kişi yok."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"İçe aktarılacak kişileri seçin"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Kişileri SIM karttan içe aktarmak için, önce Uçak modunu kapatın."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM karttaki kişileri içe aktarmak için uçak modunu kapatın."</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM PIN Kodunu Etkinleştir/Devre Dışı Bırak"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM PIN Kodunu Değiştir"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN kodu:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Kapat"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Geri ara"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Mesaj gönder"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Bir çağrı yapmak için öncelikle Uçak modunu kapatın."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Telefon etmek için uçak modunu kapatın."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Telefon etmek için uçak modunu kapatın veya kablosuz ağa bağlanın."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ağda kayıtlı değil."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Hücresel ağ kullanılamıyor."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Hücresel ağ kullanılamıyor. Telefon etmek için kablosuz ağa bağlanın."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Arama yapmak için geçerli bir numara girin."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Arama yapılamıyor."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI dizisi başlatılıyor..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Çağrılar konferans görüşmesi olarak birleştirilemiyor."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Çağrı reddedilemiyor."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Çağrılar bırakılamıyor."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Telefon etmek için kablosuz ağa bağlanın."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Acil durum çağrısı"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Radyo açılıyor..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Servis yok. Tekrar deneniyor…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Acil Geri Arama Moduna Girildi"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Acil Geri Arama Modu"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Veri bağlantısı devre dışı bırakıldı"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> dakika boyunca veri bağlantısı yok"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> dakika boyunca veri bağlantısı yok"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon <xliff:g id="COUNT">%s</xliff:g> dakika boyunca Acil Geri Arama modunda olacaktır. Bu moddayken, veri bağlantısı kullanan uygulamalar kullanılamaz. Şimdi çıkmak istiyor musunuz?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon <xliff:g id="COUNT">%s</xliff:g> dakika boyunca Acil Geri Arama modunda olacaktır. Bu moddayken, veri bağlantısı kullanan uygulamalar kullanılamaz. Şimdi çıkmak istiyor musunuz?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Seçilen işlem Acil Geri Arama modunda kullanılamaz. Telefon <xliff:g id="COUNT">%s</xliff:g> dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Seçilen işlem Acil Geri Arama modunda kullanılamaz. Telefon <xliff:g id="COUNT">%s</xliff:g> dakika boyunca bu modda kalacak. Şimdi çıkmak istiyor musunuz?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> dakika boyunca veri bağlantısı yok</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> dakika boyunca veri bağlantısı yok</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> dakika boyunca bu modda olacak. Bu moddayken veri bağlantısı kullanan hiçbir uygulama kullanılamaz. Şimdi çıkmak istiyor musunuz?</item>
+      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> dakika boyunca bu modda olacak. Bu moddayken veri bağlantısı kullanan hiçbir uygulama kullanılamaz. Şimdi çıkmak istiyor musunuz?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Seçilen işlem Acil Durum Çağrısı modunda kullanılamaz. Telefon <xliff:g id="COUNT_1">%s</xliff:g> dakika boyunca bu modda olacak. Şimdi çıkmak istiyor musunuz?</item>
+      <item quantity="one">Seçilen işlem Acil Durum Çağrısı modunda kullanılamaz. Telefon <xliff:g id="COUNT_0">%s</xliff:g> dakika boyunca bu modda olacak. Şimdi çıkmak istiyor musunuz?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Seçilen işlem, acil durum çağrısında kullanılamaz."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Acil Geri Arama Modundan çıkılıyor"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Evet"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Acil durum çağrıları"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Yalnızca acil durum çağrısı"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM kart, yuva: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Erişilebilirlik"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Gelen kablosuz çağrı"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Kablosuz çağrı"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Açmak için tekrar dokunun"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"İletinin kodu çözülürken bir hata oluştu."</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index b36c9ca..4cf2975 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -57,7 +57,7 @@
     <string name="labelCDMAMore" msgid="1630676740428229339">"Налашт. викл. в CDMA"</string>
     <string name="apn_settings" msgid="9043423184895642077">"Назва точки доступу"</string>
     <string name="settings_label" msgid="3876743539816984008">"Налашт-ння мережі"</string>
-    <string name="phone_accounts" msgid="6376603393888116364">"Облікові записи для дзвінків"</string>
+    <string name="phone_accounts" msgid="6376603393888116364">"Обл. записи для дзвінків"</string>
     <string name="phone_accounts_make_calls_with" msgid="1969188078933152231">"Здійснювати дзвінки за допомогою"</string>
     <string name="phone_accounts_make_sip_calls_with" msgid="4677789312053828493">"Здійснювати дзвінки SIP за допомогою"</string>
     <string name="phone_accounts_ask_every_time" msgid="4346499067149985702">"Спершу запитувати"</string>
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Облікові записи на телефоні"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Додати обліковий запис SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Налаштування параметрів облікового запису"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Дзвінки через Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Дзвінки через Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Не використовувати дзвінки через Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Не використовувати помічника викликів"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Немає"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Налаштувати"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Вбудована служба під’єднання"</string>
     <string name="voicemail" msgid="8693759337917898954">"Голос. пошта"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Голосова пошта (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"ГП:"</string>
     <string name="networks" msgid="8873030692174541976">"Оператори мережі"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Повідомлення екстрених служб"</string>
@@ -92,31 +93,31 @@
     <string name="sum_loading_settings" msgid="1826692909391168620">"Завантаження налаштувань…"</string>
     <string name="sum_hide_caller_id" msgid="1071407020290873782">"Номер приховано у вихідних дзвінках"</string>
     <string name="sum_show_caller_id" msgid="6768534125447290401">"Номер відображ. у вихідних дзвінках"</string>
-    <string name="sum_default_caller_id" msgid="1954518825510901365">"Використ. налаштув. оператора для показу мого номера для вихідних дзвінків"</string>
+    <string name="sum_default_caller_id" msgid="1954518825510901365">"Використовувати налаштування оператора для показу мого номера для вихідних дзвінків"</string>
     <string name="labelCW" msgid="6120513814915920200">"Паралельний виклик"</string>
     <string name="sum_cw_enabled" msgid="8083061901633671397">"Під час дзвінка сповіщати про вхідні дзвінки"</string>
     <string name="sum_cw_disabled" msgid="3648693907300104575">"Під час дзвінка сповіщати про вхідні дзвінки"</string>
     <string name="call_forwarding_settings" msgid="3378927671091537173">"Налаштування переадресації виклику"</string>
     <string name="call_forwarding_settings_with_label" msgid="8569489414006897127">"Налаштування переадресації виклику (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
-    <string name="labelCF" msgid="2574386948026924737">"Переадрес. виклику"</string>
+    <string name="labelCF" msgid="2574386948026924737">"Переадресація виклику"</string>
     <string name="labelCFU" msgid="8147177368148660600">"Завжди переадресовувати"</string>
-    <string name="messageCFU" msgid="3560082430662923687">"Завжди викор. цей номер"</string>
+    <string name="messageCFU" msgid="3560082430662923687">"Завжди переадресовувати на цей номер"</string>
     <string name="sum_cfu_enabled_indicator" msgid="4014187342724130197">"Пересил. всіх викликів"</string>
     <string name="sum_cfu_enabled" msgid="2450052502198827927">"Пересилання всіх викликів на <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfu_enabled_no_number" msgid="6591985777096823616">"Номер недоступний"</string>
     <string name="sum_cfu_disabled" msgid="8384177689501334080">"Вимкнено"</string>
     <string name="labelCFB" msgid="6139853033106283172">"Коли зайнято"</string>
-    <string name="messageCFB" msgid="3711089705936187129">"Номер., коли зайн."</string>
+    <string name="messageCFB" msgid="3711089705936187129">"Переадресовувати на цей номер"</string>
     <string name="sum_cfb_enabled" msgid="5984198104833116690">"Пересилання на <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfb_disabled" msgid="4913145177320506827">"Вимкнено"</string>
     <string name="disable_cfb_forbidden" msgid="3506984333877998061">"Ваш оператор не підтримує вимкнення переадресації викликів, коли телефон зайнятий."</string>
     <string name="labelCFNRy" msgid="1736067178393744351">"Коли немає відповіді"</string>
-    <string name="messageCFNRy" msgid="672317899884380374">"Номер., якщо не відпов."</string>
+    <string name="messageCFNRy" msgid="672317899884380374">"Переадресовувати на цей номер"</string>
     <string name="sum_cfnry_enabled" msgid="6955775691317662910">"Пересилання на <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Вимкнено"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"Ваш оператор не підтримує вимкнення переадресації викликів, коли телефон не відповідає."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Коли недоступно"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Номер., якщо недосяжн."</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Переадресовувати на цей номер"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Пересилання на <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Вимкнено"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"Ваш оператор не підтримує вимкнення переадресації викликів, коли телефон недосяжний."</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Підключатися до служб передавання даних у роумінгу"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Підключатися до служб передавання даних у роумінгу"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Доступ до даних утрачено, оскільки ви вийшли з домашньої мережі з вимкненим роумінгом даних."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Дозволити передавання даних у роумінгу? Може стягуватися значна плата."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Може стягуватися значна плата."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Дозволити роумінг даних?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Параметри GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Параметри CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Викор. даних"</string>
@@ -343,13 +345,14 @@
     <string name="disable_fdn_ok" msgid="5727046928930740173">"Увімк. FDN"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"Керув. номерами фікс. набору"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"Змінити PIN-код для доступу FDN"</string>
-    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Керув. списком номерів тел."</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"Керувати списком номерів"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"Конфіденційність Voice"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"Увімкн. режим розшир. конфіденц."</string>
     <string name="tty_mode_option_title" msgid="9033098925144434669">"Режим TTY"</string>
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Устан. режим TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Автоповтор"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Увімкнути режим автоповтору"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Під час відеодзвінка заборонено змінювати режим TTY"</string>
     <string name="menu_add" msgid="1882023737425114762">"Додати контакт"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Змінити контакт"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Видалити контакт"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Читання з SIM-карти…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"У SIM-карті немає контактів."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Виберіть контакти для імпорту"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Щоб імпортувати контакти із SIM-карти, спершу вимкніть режим польоту."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Щоб імпортувати контакти із SIM-карти, вимкніть режим польоту."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Увімк./вимк. PIN-код SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Змінити PIN-код SIM-карти"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"PIN-код SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Завершити виклик"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Передзвонити"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Повідомлення"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Щоб установ. з\'єднання, споч. вимк. режим польоту."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Щоб зателефонувати, вимкніть режим польоту."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Щоб зателефонувати, вимкніть режим польоту або під’єднайтеся до бездротової мережі."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Не зареєстровано в мережі."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Мобільна мережа недоступна."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Мобільна мережа недоступна. Щоб зателефонувати, під’єднайтеся до бездротової мережі."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Щоб зателефонувати, введіть дійсний номер."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Неможливо зателефонувати."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Запуск ряду MMI..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Неможл. створ. конференц-викл."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Неможливо відхилити виклик."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Неможливо телефонувати."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Щоб зателефонувати, під’єднайтеся до бездротової мережі."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Аварійний виклик"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Увімкнення радіо…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Зв’язку немає. Повторна спроба…"</string>
@@ -508,18 +514,24 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Увійд. в реж. авар. зворот. виклику"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Реж. авар. зворот. виклику"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Передавання даних вимкнено"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Немає передав. даних протягом <xliff:g id="COUNT">%s</xliff:g> хв."</item>
-    <item quantity="other" msgid="3122217344579273583">"Немає передав. даних протягом <xliff:g id="COUNT">%s</xliff:g> хв."</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Телефон буде в режимі екстреного зворотного виклику <xliff:g id="COUNT">%s</xliff:g> хв. У цьому режимі неможливо користуватися програмами, які використовують передавання даних. Вийти зараз?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Телефон буде в режимі екстреного зворотного виклику <xliff:g id="COUNT">%s</xliff:g> хв. У цьому режимі неможливо користуватися програмами, які використовують передавання даних. Вийти зараз?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Вибрана дія не доступна в режимі екстреного зворотного виклику. Телефон буде в цьому режимі <xliff:g id="COUNT">%s</xliff:g> хв. Вийти зараз?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Вибрана дія не доступна в режимі екстреного зворотного виклику. Телефон буде у цьому режимі <xliff:g id="COUNT">%s</xliff:g> хв. Вийти зараз?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Передавання даних недоступне протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини</item>
+      <item quantity="few">Передавання даних недоступне протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин</item>
+      <item quantity="many">Передавання даних недоступне протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин</item>
+      <item quantity="other">Передавання даних недоступне протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
+      <item quantity="few">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
+      <item quantity="many">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
+      <item quantity="other">Телефон перебуватиме в режимі екстреного виклику протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. У цьому режимі не працюватимуть додатки, які передають дані. Вийти?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилини. Вийти?</item>
+      <item quantity="few">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. Вийти?</item>
+      <item quantity="many">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. Вийти?</item>
+      <item quantity="other">Вибрана дія недоступна в режимі екстреного виклику. Телефон перебуватиме в цьому режимі протягом <xliff:g id="COUNT_1">%s</xliff:g> хвилин. Вийти?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Вибрана дія не доступна під час екстреного виклику."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Вихід із режиму екстреного зворотного виклику"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Так"</string>
@@ -548,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Екстрені виклики"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Лише екстрені виклики"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM-карта, роз’єм: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Спеціальні можливості"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Вхід. дзвінок через Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Дзвінок через Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Торкніться знову, щоб відкрити"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Під час розшифрування повідомлення сталася помилка."</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
index 1dcc6c3..e89a17f 100644
--- a/res/values-ur-rPK/strings.xml
+++ b/res/values-ur-rPK/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"فون اکاؤنٹس"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"‏SIP اکاؤنٹ شامل کریں"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"اکاؤنٹ کی ترتیبات کنفیگر کریں"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"‏Wi-Fi کالنگ"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"‏Wi-Fi کالنگ"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"‏Wi-Fi کالنگ کا استعمال نہ کریں"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"کال اسسٹنٹ کا استعمال نہ کریں"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"کوئی نہیں"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"کنفیگر کریں"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"پہلے سے شامل کنکشن سروس"</string>
     <string name="voicemail" msgid="8693759337917898954">"صوتی میل"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"صوتی میل (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"نیٹ ورک آپریٹرز"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"ہنگامی براڈکاسٹس"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"رومنگ کے وقت ڈیٹا سروسز سے مربوط ہوں"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"رومنگ کے وقت ڈیٹا سروسز سے مربوط ہوں"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"آپ ڈیٹا کی حالت رسائی سے محروم ہوگئے کیونکہ آپ نے ڈیٹا رومنگ آف ہونے کے ساتھ اپنا ہوم نیٹ ورک چھوڑ دیا۔"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"رومنگ میں ڈیٹا کے استعمال کی اجازت دیں؟ مخصوص چارجز لاگو ہو سکتے ہیں۔"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"آپ پر خاطر خواہ چارجز لگ سکتے ہیں۔"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"ڈیٹا رومنگ کی اجازت دیں؟"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"‏GSM/UMTS کے اختیارات"</string>
     <string name="cdma_options" msgid="4016822858172249884">"‏CDMA کے اختیارات"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"ڈیٹا کا استعمال"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"‏TTY طرز متعین کریں"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"از خود دوبارہ کوشش کریں"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"از خود دوبارہ کوشش کریں کا طرز فعال کریں"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"‏ویڈیو کال کے دوران TTY وضع تبدیل کرنے کی اجازت نہیں ہے"</string>
     <string name="menu_add" msgid="1882023737425114762">"رابطہ شامل کریں"</string>
     <string name="menu_edit" msgid="7143003705504672374">"رابطہ میں ترمیم کریں"</string>
     <string name="menu_delete" msgid="3977150783449642851">"رابطہ حذف کریں"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"‏SIM کارڈ سے پڑھ رہا ہے…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"‏آپ کے SIM کارڈ پر کوئی رابطے نہیں ہیں۔"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"درآمد کرنے کیلئے رابطے منتخب کریں"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"‏SIM کارڈ سے رابطے درآمد کرنے کیلئے، پہلے ہوائی جہاز طرز آف کریں۔"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"‏SIM کارڈ سے رابطے درآمد کرنے کیلئے ہوائی جہاز وضع آف کریں۔"</string>
     <string name="enable_pin" msgid="5422767284133234860">"‏SIM کا PIN فعال/غیر فعال کریں"</string>
     <string name="change_pin" msgid="9174186126330785343">"‏SIM کا PIN تبدیل کریں"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"‏SIM کا PIN:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"کال منقطع کریں"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"واپس کال کریں"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"پیغام"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"کال کرنے کیلئے، پہلے ہوائی جہاز طرز کو آف کریں۔"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"کال کرنے کیلئے ہوائی جہاز وضع آف کریں۔"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"کال کرنے کیلئے ہوائی جہاز وضع آف کریں یا کسی وائرلیس نیٹ ورک سے منسلک ہوں۔"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"نیٹ ورک پر رجسٹرڈ نہیں ہے۔"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"سیلولر نیٹ ورک دستیاب نہیں ہے۔"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"سیلولر نیٹ ورک دستیاب نہیں ہے۔ کال کرنے کیلئے کسی وائرلیس نیٹ ورک سے منسلک ہوں۔"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"کال کرنے کیلئے، ایک درست نمبر درج کریں۔"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"کال نہیں کر سکتے۔"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"‏MMI ترتیب شروع ہو رہی ہے…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"کانفرنس کالیں کرنے سے قاصر ہے۔"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"کال مسترد نہیں کی جا سکتی۔"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"کال(ز) ریلیز نہیں کر سکتے۔"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"کال کرنے کیلئے کسی وائرلیس نیٹ ورک سے منسلک ہوں۔"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"ہنگامی کال"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"ریڈیو آن کر رہا ہے…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"کوئی سروس نہیں ہے۔ دوبارہ کوشش کی جا رہی ہے…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"ہنگامی کال بیک طرز میں داخل ہو گیا"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"ہنگامی کال بیک طرز"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"ڈیٹا کنکشن غیر فعال ہوگیا"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> منٹ تک کوئی ڈیٹا کنکشن نہیں ہے"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> منٹوں تک کوئی ڈیٹا کنکشن نہیں ہے"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"فون <xliff:g id="COUNT">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کوئی بھی ایپس استعمال نہیں ہوسکتی ہیں۔ کیا آپ ابھی خارج ہونا چاہتے ہیں؟"</item>
-    <item quantity="other" msgid="8617116564023933114">"فون <xliff:g id="COUNT">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کوئی بھی ایپلیکیشنز استعمال نہیں ہوسکتی ہیں۔ کیا آپ ابھی خارج ہونا چاہتے ہیں؟"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"منتخب کردہ کارروائی ہنگامی کال بیک طرز میں دستیاب نہیں ہے۔ فون <xliff:g id="COUNT">%s</xliff:g> منٹ تک اس طرز میں رہے گا۔ کیا آپ ابھی خارج ہونا چاہتے ہیں؟"</item>
-    <item quantity="other" msgid="6115622137771382224">"منتخب کردہ کارروائی ہنگامی کال بیک طرز میں دستیاب نہیں ہے۔ فون <xliff:g id="COUNT">%s</xliff:g> منٹوں تک اس طرز میں رہے گا۔ کیا آپ ابھی خارج ہونا چاہتے ہیں؟"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> منٹ تک کوئی ڈیٹا کنکشن نہیں ہے</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> منٹ تک کوئی ڈیٹا کنکشن نہیں ہے</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">فون <xliff:g id="COUNT_1">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کسی بھی ایپلیکیشنز کا استعمال نہیں کیا جا سکتا ہے۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
+      <item quantity="one">فون <xliff:g id="COUNT_0">%s</xliff:g> منٹ تک ہنگامی کال بیک وضع میں رہے گا۔ اس وضع میں رہتے ہوئے ڈیٹا کنکشن کا استعمال کرنے والی کسی بھی ایپس کا استعمال نہیں کیا جا سکتا ہے۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">منتخب کردہ کارروائی ایک ہنگامی کال بیک وضع میں رہتے ہوئے دستیاب نہیں ہے۔ فون <xliff:g id="COUNT_1">%s</xliff:g> منٹ تک اس وضع میں رہے گا۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
+      <item quantity="one">منتخب کردہ کارروائی ایک ہنگامی کال بیک وضع میں رہتے ہوئے دستیاب نہیں ہے۔ فون <xliff:g id="COUNT_0">%s</xliff:g> منٹ تک اس وضع میں رہے گا۔ کیا آپ ابھی باہر نکلنا چاہتے ہیں؟</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"منتخب کردہ کارروائی ایک ہنگامی کال میں رہتے ہوئے دستیاب نہیں ہے۔"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"موجودہ ہنگامی کال بیک طرز"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"ہاں"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"ہنگامی کالز"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"صرف ہنگامی کالنگ"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"‏SIM کارڈ، سلاٹ: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Accessibility"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"‏آنے والی Wi-Fi کال"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"‏Wi-Fi کال"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"کھولنے کیلئے دوبارہ ٹچ کریں"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"پیغام کو ڈیکوڈ کرتے وقت ایک خرابی پیش آ گئی۔"</string>
 </resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
index 39578f6..f3377ae 100644
--- a/res/values-uz-rUZ/strings.xml
+++ b/res/values-uz-rUZ/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Telefon hisoblari"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"SIP hisobini qo‘shish"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Hisob sozlamalarini shakllantirish"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi qo‘ng‘iroq"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi qo‘ng‘iroq"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Wi-Fi qo‘ng‘iroqlardan foydalanilmasin"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Qo‘ng‘iroq yordamchisidan foydalanilmasin"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Hech biri"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Sozlash"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Ichki o‘rnatilgan ulanish xizmati"</string>
     <string name="voicemail" msgid="8693759337917898954">"Ovozli xabar"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"(<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>) audio xabari"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Tarmoq operatorlari"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Favqulodda tarqatma xabarlar"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Rouming holatda ma’lumot uzatish xizmatlariga ulanish"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Rouming holatda ma’lumot uzatish xizmatlariga ulanish"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Internetga ulanish uzildi, chunki uy tarmog‘ingizni rouming internetini o\'chirgan holatda tark etdingiz."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Rouming vaqtida mobil internetdan foydalanilsinmi? Bu sezilarli darajada qimmat turadi."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Roumingdan foydalanish xarajati ancha yuqori bo‘lishi mumkin."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Internet-roumingga ruxsat berilsinmi?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS sozlamalari"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA sozlamalari"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Trafik sarfi"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"TTY rejimini o‘rnatish"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Avto-qayta urinish"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Avto-qayta urinish rejimini yoqish"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Video qo‘ng‘iroq davomida TTY rejimini o‘zgartirish taqiqlangan"</string>
     <string name="menu_add" msgid="1882023737425114762">"Kontakt qo‘shish"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Kontaktni tahrirlash"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Kontaktni o‘chirish"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"SIM kartadan o‘qilmoqda…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM kartangizda kontaktlar yo‘q."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Import qilish uchun kontaktlarni tanlang"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"SIM kartangizdan kontaktlarni import qilish uchun, avvalo, \"Parvoz rejimi\"ni o‘chiring."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"SIM kartadan kontaktlarni import qilish uchun parvoz rejimini o‘chiring"</string>
     <string name="enable_pin" msgid="5422767284133234860">"SIM karta PIN kodini yoqish/o‘chirish"</string>
     <string name="change_pin" msgid="9174186126330785343">"SIM karta PIN kodini o‘zgartirish"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM karta PIN kodi:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Go‘shakni qo‘yish"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Teskari qo‘ng‘iroq"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Xabar"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Qo‘ng‘iroq qilish uchun, avval \"Parvoz rejimi\" o‘chirilishi kerak."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Qo‘ng‘iroq qilish uchun parvoz rejimini o‘chiring"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Qo‘ng‘iroq qilish uchun parvoz rejimini o‘chiring yoki simsiz tarmoqqa ulaning."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Tarmoqda ro‘yxatdan o‘tmagan."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Mobil tarmoq mavjud emas."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Mobil tarmoq mavjud emas. Qo‘ng‘iroq qilish uchun simsiz tarmoqqa ulaning."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Qo‘ng‘iroq qilish uchun raqamni to‘g‘ri kiriting."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Qo‘ng‘iroq qilib bo‘lmadi."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"MMI tartibi ishga tushmoqda..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Konferensiya qo‘ng‘iroqlarini amalga oshirib bo‘lmaydi."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Qo‘ng‘iroqni rad qilib bo‘lmadi."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Qo‘ng‘iroq(lar)ni chiqarib bo‘lmadi."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Qo‘ng‘iroq qilish uchun simsiz tarmoqqa ulaning"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Favqulodda qo‘ng‘iroq"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Radio yoqilmoqda…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Aloqa yo‘q. Qayta urinilmoqda…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Favqulodda teskari qo‘ng‘iroq rejimi kiritildi"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Favqulodda teskari qo‘ng‘iroq rejimi"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Internetga ulanish o‘chirildi"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"<xliff:g id="COUNT">%s</xliff:g> daqiqa internetga ulanib bo‘lmaydi"</item>
-    <item quantity="other" msgid="3122217344579273583">"<xliff:g id="COUNT">%s</xliff:g> daqiqa internetga ulanib bo‘lmaydi"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Telefon favqulodda teskari qo‘ng‘iroq rejimida <xliff:g id="COUNT">%s</xliff:g> daqiqa qoladi. Ushbu rejim ishlab turganda birorta ham ilova internet ulanishlaridan foydalana olmaydi. Hozir chiqishni xohlaysizmi?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Telefon favqulodda teskari qo‘ng‘iroq rejimida <xliff:g id="COUNT">%s</xliff:g> daqiqa qoladi. Ushbu rejim ishlab turganda birorta ham ilova internet ulanishlaridan foydalana olmaydi. Hozir chiqishni xohlaysizmi?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Favqulodda teskari qo‘ng‘iroq qilish rejimida tanlangan amallarni bajarib bo‘lmaydi. Telefon ushbu rejimda <xliff:g id="COUNT">%s</xliff:g> daqiqa qoladi. Hozir chiqishni xohlaysizmi?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Favqulodda teskari qo‘ng‘iroq qilish rejimida tanlangan amallarni bajarib bo‘lmaydi. Telefon ushbu rejimda <xliff:g id="COUNT">%s</xliff:g> daqiqa qoladi. Hozir chiqishni xohlaysizmi?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other"><xliff:g id="COUNT_1">%s</xliff:g> daqiqa davomida internetga ulanib bo‘lmaydi</item>
+      <item quantity="one"><xliff:g id="COUNT_0">%s</xliff:g> daqiqa davomida internetga ulanib bo‘lmaydi</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Telefon <xliff:g id="COUNT_1">%s</xliff:g> daqiqa davomida Favqulodda teskari qo‘ng‘iroq rejimida bo‘ladi. Ushbu rejimda internet bilan ishlaydigan hech qanday ilovadan foydalanib bo‘lmaydi. Bu rejimdan chiqishni xohlaysizmi?</item>
+      <item quantity="one">Telefon <xliff:g id="COUNT_0">%s</xliff:g> daqiqa davomida Favqulodda teskari qo‘ng‘iroq rejimida bo‘ladi. Ushbu rejimda internet bilan ishlaydigan hech qanday ilovadan foydalanib bo‘lmaydi. Bu rejimdan chiqishni xohlaysizmi?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">Tanlangan amaldan Favqulodda teskari qo‘ng‘iroq rejimida foydalanib bo‘lmaydi. Telefon <xliff:g id="COUNT_1">%s</xliff:g> daqiqa davomida shu rejimda bo‘ladi. Bu rejimdan chiqishni xohlaysizmi?</item>
+      <item quantity="one">Tanlangan amaldan Favqulodda teskari qo‘ng‘iroq rejimida foydalanib bo‘lmaydi. Telefon <xliff:g id="COUNT_0">%s</xliff:g> daqiqa davomida shu rejimda bo‘ladi. Bu rejimdan chiqishni xohlaysizmi?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Favqulodda qo‘ng‘rioq rejimida tanlangan amalni bajarib bo‘lmaydi."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Favqulodda teskari qo‘ng‘iroq rejimidan chiqilmoqda"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Ha"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Favqulodda qo‘ng‘iroqlar"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Faqat favqulodda qo‘ng‘iroqlar"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM karta, teshik: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Maxsus imkoniyatlar"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Kiruvchi Wi-Fi qo‘ng‘irog‘i"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi qo‘ng‘irog‘i"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Ochish uchun yana bosing"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Xabarni kodsizlashda xatolik yuz berdi."</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index ebb2a1e..2054e66 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Tài khoản điện thoại"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Thêm tài khoản SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Định cấu hình cài đặt tài khoản"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Gọi qua Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Gọi qua Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Không sử dụng tính năng gọi qua Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Không sử dụng trợ lý cuộc gọi"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Không có"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Định cấu hình"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Dịch vụ kết nối được tích hợp"</string>
     <string name="voicemail" msgid="8693759337917898954">"Thư thoại"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Thư thoại (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"Thư thoại:"</string>
     <string name="networks" msgid="8873030692174541976">"Nhà cung cấp dịch vụ mạng"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Phát sóng trong tình huống khẩn cấp"</string>
@@ -116,7 +117,7 @@
     <string name="sum_cfnry_disabled" msgid="3884684060443538097">"Tắt"</string>
     <string name="disable_cfnry_forbidden" msgid="4308233959150658058">"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."</string>
     <string name="labelCFNRc" msgid="2614827454402079766">"Khi không liên lạc được"</string>
-    <string name="messageCFNRc" msgid="6380695421020295119">"Số khi không thể truy cập được"</string>
+    <string name="messageCFNRc" msgid="6380695421020295119">"Số khi không liên lạc được"</string>
     <string name="sum_cfnrc_enabled" msgid="7010898346095497421">"Chuyển tiếp tới <xliff:g id="PHONENUMBER">{0}</xliff:g>"</string>
     <string name="sum_cfnrc_disabled" msgid="7222141261321276464">"Đã tắt"</string>
     <string name="disable_cfnrc_forbidden" msgid="5646361343094064333">"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."</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Kết nối với dịch vụ dữ liệu khi chuyển vùng"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"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."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Cho phép sử dụng dữ liệu khi chuyển vùng? Mức phí đáng kể có thể được áp dụng."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Bạn có thể phải chịu các khoản phí đáng kể."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Cho phép chuyển vùng dữ liệu?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Tùy chọn GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Tùy chọn CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Sử dụng dữ liệu"</string>
@@ -350,6 +352,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Đặt chế độ TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Tự động thử lại"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Bật chế độ Tự động thử lại"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Không được phép thay đổi Chế độ TTY trong cuộc gọi điện video"</string>
     <string name="menu_add" msgid="1882023737425114762">"Thêm liên hệ"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Chỉnh sửa liên hệ"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Xóa liên hệ"</string>
@@ -373,7 +376,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Đang đọc từ thẻ SIM…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Không có danh bạ trên thẻ SIM của bạn."</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Chọn danh bạ để nhập"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Để nhập danh bạ từ thẻ SIM, trước tiên hãy tắt Chế độ trên máy bay."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Tắt chế độ trên máy bay để nhập danh bạ từ thẻ SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Bật/vô hiệu hóa mã PIN của SIM"</string>
     <string name="change_pin" msgid="9174186126330785343">"Thay đổi mã PIN của SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"Mã PIN của SIM:"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Kết thúc"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Gọi lại"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Tin nhắn"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Để thực hiện cuộc gọi, trước tiên, hãy tắt chế độ trên Máy bay."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Tắt chế độ trên máy bay để thực hiện cuộc gọi."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Tắt chế độ trên máy bay hoặc kết nối với mạng không dây để thực hiện cuộc gọi."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Chưa được đăng ký trên mạng."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Không có mạng di động."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Hiện không có mạng di động. Hãy kết nối với mạng không dây để thực hiện cuộc gọi."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Để thực hiện cuộc gọi, hãy nhập một số hợp lệ."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Không thực hiện được cuộc gọi."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Khởi động chuỗi MMI…"</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Không thể thực hiện cuộc gọi hội nghị."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Không từ chối được cuộc gọi."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Không thực hiện được cuộc gọi."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Kết nối với mạng không dây để thực hiện cuộc gọi."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Cuộc gọi khẩn cấp"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Đang bật radio..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Không có dịch vụ nào. Đang thử lại…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Đã vào Chế độ Gọi lại Khẩn cấp"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Chế độ Gọi lại Khẩn cấp"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Đã tắt kết nối mạng"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Không có kết nối dữ liệu trong <xliff:g id="COUNT">%s</xliff:g> phút"</item>
-    <item quantity="other" msgid="3122217344579273583">"Không có kết nối dữ liệu trong <xliff:g id="COUNT">%s</xliff:g> phút"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong vòng <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong vòng <xliff:g id="COUNT">%s</xliff:g> 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?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"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 <xliff:g id="COUNT">%s</xliff:g> phút. Bạn có muốn thoát ngay bây giờ không?"</item>
-    <item quantity="other" msgid="6115622137771382224">"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 <xliff:g id="COUNT">%s</xliff:g> phút. Bạn có muốn thoát ngay bây giờ không?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">Không có kết nối dữ liệu trong <xliff:g id="COUNT_1">%s</xliff:g> phút</item>
+      <item quantity="one">Không có kết nối dữ liệu trong <xliff:g id="COUNT_0">%s</xliff:g> phút</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong <xliff:g id="COUNT_1">%s</xliff:g> phút. Khi ở chế độ này, không thể dùng bất kỳ ứng dụng nào sử dụng kết nối dữ liệu. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
+      <item quantity="one">Điện thoại sẽ ở chế độ Gọi lại khẩn cấp trong <xliff:g id="COUNT_0">%s</xliff:g> phút. Khi ở chế độ này, không thể dùng bất kỳ ứng dụng nào sử dụng kết nối dữ liệu. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">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 <xliff:g id="COUNT_1">%s</xliff:g> phút. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
+      <item quantity="one">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 <xliff:g id="COUNT_0">%s</xliff:g> phút. Bạn có muốn thoát chế độ này ngay bây giờ không?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Tác vụ đã chọn không khả dụng trong khi thực hiện cuộc gọi khẩn cấp."</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Thoát khỏi chế độ Gọi lại khẩn cấp"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Có"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Cuộc gọi khẩn cấp"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Chỉ gọi điện khẩn cấp"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Thẻ SIM, rãnh: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Trợ năng"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Cuộc gọi đến qua Wi-Fi"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Cuộc gọi qua Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Chạm lại để mở"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Đã xảy ra lỗi khi giải mã tin nhắn."</string>
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index c927248..4a7c249 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -19,8 +19,8 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
   <string-array name="preferred_network_mode_choices_world_mode">
     <item msgid="3391522821603584785">"通用"</item>
-    <item msgid="6753774959494729275">"LTE/CDMA"</item>
-    <item msgid="8658695584186942227">"LTE/GSM/UMTS"</item>
+    <item msgid="6753774959494729275">"LTE / CDMA"</item>
+    <item msgid="8658695584186942227">"LTE / GSM / UMTS"</item>
   </string-array>
   <string-array name="preferred_network_mode_values_world_mode">
     <item msgid="8390941159766263625">"10"</item>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 847712e..959a489 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"电话帐户"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"添加 SIP 帐户"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"配置帐户设置"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"WLAN 通话"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"WLAN 通话"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"不使用 WLAN 通话功能"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"不使用通话助手"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"无"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"配置"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"内置网络连接服务"</string>
     <string name="voicemail" msgid="8693759337917898954">"语音信箱"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"语音信箱（<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>）"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"语音信箱："</string>
     <string name="networks" msgid="8873030692174541976">"网络运营商"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"紧急广播"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"漫游时连接到移动数据网络服务"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"漫游时连接到移动数据网络服务"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"移动数据网络连接已断开，因为您已离开本地网络并关闭了移动数据网络漫游功能。"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"要允许在漫游时使用数据流量吗？这可能会产生较多费用。"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"这可能会产生高额费用。"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"要允许数据网络漫游吗？"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS 选项"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA 选项"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"流量使用"</string>
@@ -332,28 +334,29 @@
     <string name="fdn" msgid="7878832555095183202">"固定拨号"</string>
     <string name="fdn_with_label" msgid="187084204115493366">"固定拨号 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="manage_fdn_list" msgid="8777755791892122369">"固定拨号列表"</string>
-    <string name="fdn_list_with_label" msgid="7437232552210469217">"FDN 列表 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
+    <string name="fdn_list_with_label" msgid="7437232552210469217">"固定拨号列表 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="fdn_activation" msgid="2156479741307463576">"激活固定拨号"</string>
     <string name="fdn_enabled" msgid="5238109009915521240">"已启用固定拨号"</string>
     <string name="fdn_disabled" msgid="4700049736675368279">"未启用固定拨号"</string>
     <string name="enable_fdn" msgid="3740191529180493851">"启用固定拨号"</string>
     <string name="disable_fdn" msgid="7944020890722540616">"停用固定拨号"</string>
-    <string name="change_pin2" msgid="2153563695382176676">"更改 PIN2"</string>
+    <string name="change_pin2" msgid="2153563695382176676">"更改 PIN2 码"</string>
     <string name="enable_fdn_ok" msgid="7215588870329688132">"停用固定拨号"</string>
     <string name="disable_fdn_ok" msgid="5727046928930740173">"启用固定拨号"</string>
     <string name="sum_fdn" msgid="1959399454900272878">"管理固定拨号"</string>
     <string name="sum_fdn_change_pin" msgid="6666549734792827932">"更改使用固定拨号所需的 PIN 码"</string>
-    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"管理手机号码列表"</string>
+    <string name="sum_fdn_manage_list" msgid="8431088265332628316">"管理号码列表"</string>
     <string name="voice_privacy" msgid="3776841382844614716">"语音隐私权"</string>
     <string name="voice_privacy_summary" msgid="3159383389833516214">"启用增强型隐秘模式"</string>
     <string name="tty_mode_option_title" msgid="9033098925144434669">"TTY 模式"</string>
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"设置 TTY 模式"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"自动重拨"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"启用自动重拨模式"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"视频通话过程中不允许更改为 TTY 模式"</string>
     <string name="menu_add" msgid="1882023737425114762">"添加联系人"</string>
     <string name="menu_edit" msgid="7143003705504672374">"编辑联系人"</string>
     <string name="menu_delete" msgid="3977150783449642851">"删除联系人"</string>
-    <string name="get_pin2" msgid="8204677063922225311">"键入 PIN2"</string>
+    <string name="get_pin2" msgid="8204677063922225311">"输入 PIN2 码"</string>
     <string name="name" msgid="7329028332786872378">"名称"</string>
     <string name="number" msgid="7905950798349903858">"号码"</string>
     <string name="save" msgid="4094274636321939086">"保存"</string>
@@ -366,14 +369,14 @@
     <string name="delete_fdn_contact" msgid="6668958073074151717">"删除固定拨号联系人"</string>
     <string name="deleting_fdn_contact" msgid="5669163206349319969">"正在删除固定拨号联系人..."</string>
     <string name="fdn_contact_deleted" msgid="7154162327112259569">"已删除固定拨号联系人。"</string>
-    <string name="pin2_invalid" msgid="5470854099230755944">"系统未更新 FDN，因为键入的 PIN 码有误。"</string>
-    <string name="fdn_invalid_number" msgid="1494755047900009147">"系统未更新 FDN，因为号码不能超过 20 位。"</string>
-    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"FDN 未更新。PIN2 有误，或电话号码遭拒。"</string>
-    <string name="fdn_failed" msgid="540018079008319747">"FDN 操作失败。"</string>
+    <string name="pin2_invalid" msgid="5470854099230755944">"固定拨号未更新，因为输入的 PIN 码有误。"</string>
+    <string name="fdn_invalid_number" msgid="1494755047900009147">"固定拨号未更新，因为号码不能超过 20 位。"</string>
+    <string name="pin2_or_fdn_invalid" msgid="6025144083384701197">"固定拨号未更新。PIN2 码有误，或电话号码遭拒。"</string>
+    <string name="fdn_failed" msgid="540018079008319747">"固定拨号操作失败。"</string>
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"正在从SIM卡读取..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM卡上无联系人。"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"选择要导入的联系人"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"要从SIM卡导入联系人，请先关闭飞行模式。"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"需关闭飞行模式才能导入 SIM 卡中的联系人。"</string>
     <string name="enable_pin" msgid="5422767284133234860">"启用/停用SIM卡PIN码"</string>
     <string name="change_pin" msgid="9174186126330785343">"更改SIM卡PIN码"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM卡PIN码："</string>
@@ -391,10 +394,10 @@
     <string name="pin_failed" msgid="5644377896213584760">"PIN 码不正确"</string>
     <string name="pin_changed" msgid="4455736268023261662">"PIN 码已更新"</string>
     <string name="puk_requested" msgid="5921393215789090200">"密码不正确。PIN 码已被锁定。已请求 PUK 码。"</string>
-    <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2"</string>
-    <string name="oldPin2Label" msgid="8559146795026261502">"旧 PIN2"</string>
-    <string name="newPin2Label" msgid="4573956902204349054">"新 PIN2"</string>
-    <string name="confirmPin2Label" msgid="8100319484454787708">"确认新 PIN2"</string>
+    <string name="enter_pin2_text" msgid="8339444124477720345">"PIN2 码"</string>
+    <string name="oldPin2Label" msgid="8559146795026261502">"旧 PIN2 码"</string>
+    <string name="newPin2Label" msgid="4573956902204349054">"新 PIN2 码"</string>
+    <string name="confirmPin2Label" msgid="8100319484454787708">"确认新 PIN2 码"</string>
     <string name="badPuk2" msgid="7910064009531541708">"PUK2 码不正确，请重试。"</string>
     <string name="badPin2" msgid="6646896629970023109">"旧的 PIN2 码不正确，请重试。"</string>
     <string name="mismatchPin2" msgid="4177967478551851117">"PIN2 码不正确，请重试。"</string>
@@ -434,9 +437,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"挂断"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"回拨"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"短信"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"要进行呼叫，请先关闭飞行模式。"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"需关闭飞行模式才能拨打电话。"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"需关闭飞行模式或连接至无线网络才能拨打电话。"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"尚未注册网络。"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"无法连接到移动网络。"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"移动网络不可用。需连接至无线网络才能拨打电话。"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"要拨打电话，请输入有效的电话号码。"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"无法拨打该电话。"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"正在启动 MMI 序列..."</string>
@@ -447,6 +452,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"无法进行电话会议。"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"无法拒接来电。"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"无法挂断电话。"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"需连接至无线网络才能拨打电话。"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"紧急呼救"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"正在打开天线..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"无服务，正在重试…"</string>
@@ -508,18 +514,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"已进入紧急回拨模式"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"紧急回拨模式"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"数据连接已停用"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"持续 <xliff:g id="COUNT">%s</xliff:g> 分钟没有数据连接"</item>
-    <item quantity="other" msgid="3122217344579273583">"持续 <xliff:g id="COUNT">%s</xliff:g> 分钟没有数据连接"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"手机在 <xliff:g id="COUNT">%s</xliff:g> 分钟内都会处于紧急回拨模式下，此模式下无法使用需要联网的应用。您要立即退出吗？"</item>
-    <item quantity="other" msgid="8617116564023933114">"手机在 <xliff:g id="COUNT">%s</xliff:g> 分钟内都会处于紧急回拨模式下，此模式下无法使用需要联网的应用。要立即退出吗？"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"无法在紧急回拨模式下执行所选操作，而手机在 <xliff:g id="COUNT">%s</xliff:g> 分钟内都会处于此模式下。要立即退出吗？"</item>
-    <item quantity="other" msgid="6115622137771382224">"无法在紧急回拨模式下执行所选操作，而手机在 <xliff:g id="COUNT">%s</xliff:g> 分钟内都会处于此模式下。要立即退出吗？"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">持续 <xliff:g id="COUNT_1">%s</xliff:g> 分钟没有数据网络连接</item>
+      <item quantity="one">持续 <xliff:g id="COUNT_0">%s</xliff:g> 分钟没有数据网络连接</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">手机在 <xliff:g id="COUNT_1">%s</xliff:g> 分钟内都会处于紧急回拨模式。此模式下无法使用任何需要连接数据网络的应用。要立即退出吗？</item>
+      <item quantity="one">手机在 <xliff:g id="COUNT_0">%s</xliff:g> 分钟内都会处于紧急回拨模式。此模式下无法使用任何需要连接数据网络的应用。要立即退出吗？</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">在紧急回拨模式下无法执行所选操作。手机在 <xliff:g id="COUNT_1">%s</xliff:g> 分钟内都会处于此模式。要立即退出吗？</item>
+      <item quantity="one">在紧急回拨模式下无法执行所选操作。手机在 <xliff:g id="COUNT_0">%s</xliff:g> 分钟内都会处于此模式。要立即退出吗？</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"进行紧急呼救时无法执行所选操作。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"正在退出紧急回拨模式"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"是"</string>
@@ -548,4 +554,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"紧急呼救"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"只能拨打紧急呼救电话"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM 卡，插槽：<xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"无障碍功能"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"WLAN 来电"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"WLAN 通话"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"再次触摸即可打开"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"对邮件解码时出错。"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 0f45a1c..99cc169 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"手機帳戶"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"加入 SIP 帳戶"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"設定帳戶設定"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi 通話"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi 通話"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"不要使用 Wi-Fi 通話功能"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"不要使用通話小幫手"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"無"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"設定"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"內置連線服務"</string>
     <string name="voicemail" msgid="8693759337917898954">"留言信箱"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"留言信箱 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"留言信箱："</string>
     <string name="networks" msgid="8873030692174541976">"網絡供應商"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"緊急廣播"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"您已離開主網絡覆蓋範圍，且已關閉數據漫遊服務，因此數據連線已中斷。"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"允許漫遊時使用數據嗎？您可能需要支付龐大的費用。"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"您可能需要支付龐大的費用。"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"要允許數據漫遊服務嗎？"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS 選項"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA 選項"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"數據用量"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"設定 TTY 模式"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"自動重試"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"啟用自動重試模式"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"視像通話過程中不允許變更 TTY 模式"</string>
     <string name="menu_add" msgid="1882023737425114762">"新增聯絡人"</string>
     <string name="menu_edit" msgid="7143003705504672374">"編輯聯絡人"</string>
     <string name="menu_delete" msgid="3977150783449642851">"刪除聯絡人"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"正在從 SIM 卡讀取..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"SIM 卡中沒有聯絡人。"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"選取要匯入的聯絡人"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"如要從 SIM 卡匯入通訊錄，請先關閉飛行模式。"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"關閉飛行模式，並從 SIM 卡匯入聯絡人。"</string>
     <string name="enable_pin" msgid="5422767284133234860">"啟用/停用 SIM PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"更改 SIM PIN"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM PIN："</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"掛斷"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"回撥"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"短訊"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"請先關閉飛行模式後再撥打電話。"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"關閉飛行模式以撥打電話。"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"關閉飛行模式或連接無線網絡，以撥打電話。"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"未在網絡上完成註冊。"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"無法連線至流動網絡。"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"無法使用流動網絡。連接無線網絡，以撥打電話。"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"要撥打電話，請輸入有效的號碼。"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"無法通話。"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"開始 MMI 序列..."</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"無法進行會議通話"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"無法拒絕來電。"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"無法釋放通話。"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"連接無線網絡，以撥打電話。"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"緊急電話"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"正在開啟無線電..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"沒有服務。請再試一次…"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"已進入緊急回撥模式"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"緊急回撥模式"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"數據連線已停用"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘內沒有數據連線"</item>
-    <item quantity="other" msgid="3122217344579273583">"接下來將出現 <xliff:g id="COUNT">%s</xliff:g> 分鐘的資料斷線狀態"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於緊急回撥模式。在這個模式中，所有使用數據連線的應用程式皆無法使用。您要立即退出嗎？"</item>
-    <item quantity="other" msgid="8617116564023933114">"手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於緊急回撥模式。在這個模式中，所有使用數據連線的應用程式皆無法使用。您要立即退出嗎？"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"緊急回撥模式不支援您所選取的操作。手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於這個模式，您要立即退出嗎？"</item>
-    <item quantity="other" msgid="6115622137771382224">"緊急回撥模式不支援您所選取的操作。手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於這個模式，您要立即退出嗎？"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">在接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內沒有數據連線</item>
+      <item quantity="one">接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內沒有數據連線</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">手機將在 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內處於緊急電話模式。在此模式中，無法使用需要數據連線的應用程式。您要退出嗎？</item>
+      <item quantity="one">手機將在 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內處於緊急電話模式。在此模式中，無法使用需要連接數據的應用程式。您要退出嗎？</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">在緊急電話模式中，無法進行已選取的操作。手機將在 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內處於此模式。您要退出嗎？</item>
+      <item quantity="one">在緊急電話模式中，無法進行已選取的操作。手機將在 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內處於此模式。您要退出嗎？</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"緊急電話模式不支援您所選取的操作。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"正在退出緊急回撥模式"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"是"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"緊急通話"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"只限緊急通話"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM 卡，插槽：<xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"無障礙功能"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Wi-Fi 來電"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi 通話"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"再次輕觸以開啟"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"為訊息解碼時發生錯誤。"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 8ba5a6f..bc926fb 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"手機帳戶"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"新增 SIP 帳戶"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"配置帳戶設定"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Wi-Fi 通話"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Wi-Fi 通話"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"不使用 Wi-Fi 通話功能"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"不使用通話小幫手"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"無"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"設定"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"內建連線服務"</string>
     <string name="voicemail" msgid="8693759337917898954">"語音信箱"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"語音信箱 (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"語音信箱："</string>
     <string name="networks" msgid="8873030692174541976">"電信業者"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"緊急廣播"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"漫遊時連線到數據傳輸服務"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"您已離開國內網路涵蓋範圍，且已關閉數據傳輸漫遊服務，因此數據連線已中斷。"</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"允許漫遊時使用行動數據嗎？可能需要支付可觀的費用。"</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"您可能需要支付可觀的費用。"</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"允許漫遊服務？"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"GSM/UMTS 選項"</string>
     <string name="cdma_options" msgid="4016822858172249884">"CDMA 選項"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"數據用量"</string>
@@ -356,6 +358,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"設定 TTY 模式"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"自動重試"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"啟用自動重試模式"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"無法在視訊通話過程中變更 TTY 模式"</string>
     <string name="menu_add" msgid="1882023737425114762">"新增聯絡人"</string>
     <string name="menu_edit" msgid="7143003705504672374">"編輯聯絡人"</string>
     <string name="menu_delete" msgid="3977150783449642851">"刪除聯絡人"</string>
@@ -379,7 +382,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"正在從 SIM 卡讀取…"</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"您的 SIM 卡上沒有聯絡人。"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"選取要匯入的聯絡人"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"如要從 SIM 卡匯入聯絡人，請先關閉「飛行」模式。"</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"關閉飛航模式即可從 SIM 卡匯入聯絡人資訊。"</string>
     <string name="enable_pin" msgid="5422767284133234860">"啟用/停用 SIM PIN"</string>
     <string name="change_pin" msgid="9174186126330785343">"變更 SIM PIN"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"SIM 卡 PIN 碼："</string>
@@ -440,9 +443,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"掛斷"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"回撥"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"簡訊"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"撥號前，請先關閉飛航模式。"</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"關閉飛航模式即可撥打電話。"</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"關閉飛航模式或連上無線網路即可撥打電話。"</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"尚未註冊網路。"</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"無法連線到行動網路。"</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"無法使用行動通訊網路。但連上 Wi-Fi 網路即可撥打電話。"</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"如要撥打電話，請輸入有效的號碼。"</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"無法通話。"</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"開始 MMI 序列…"</string>
@@ -453,6 +458,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"無法進行多方通話。"</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"無法拒接來電。"</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"無法掛斷電話。"</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"連上無線網路即可撥打電話。"</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"緊急電話"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"開啟無線通訊中…"</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"找不到服務訊號，正在重試…"</string>
@@ -514,18 +520,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"已進入緊急回撥模式"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"緊急回撥模式"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"資料連線已停用"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘內沒有資料連線"</item>
-    <item quantity="other" msgid="3122217344579273583">"接下來將出現 <xliff:g id="COUNT">%s</xliff:g> 分鐘的資料斷線狀態"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於緊急回撥模式。在這個模式中，所有使用數據連線的應用程式皆無法運作。您要立即退出嗎？"</item>
-    <item quantity="other" msgid="8617116564023933114">"手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於緊急回撥模式。在這個模式中，所有使用數據連線的應用程式皆無法運作。您要立即退出嗎？"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"緊急回撥模式不支援您要執行的操作。手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於這個模式，您要立即退出嗎？"</item>
-    <item quantity="other" msgid="6115622137771382224">"緊急回撥模式不支援您要執行的操作。手機在接下來的 <xliff:g id="COUNT">%s</xliff:g> 分鐘都將處於這個模式，您要立即退出嗎？"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="other">接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內沒有數據連線</item>
+      <item quantity="one">接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內沒有數據連線</item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="other">接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內，手機會進入緊急回電模式。在此模式下，您將無法使用需要數據連線的應用程式。您要立即退出這個模式嗎？</item>
+      <item quantity="one">接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內，手機會進入緊急回電模式。在此模式下，您將無法使用需要數據連線的應用程式。您要立即退出這個模式嗎？</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="other">緊急回電模式不支援您要執行的操作。接下來的 <xliff:g id="COUNT_1">%s</xliff:g> 分鐘內，手機會進入此模式。您要立即退出這個模式嗎？</item>
+      <item quantity="one">緊急回電模式不支援您要執行的操作。接下來的 <xliff:g id="COUNT_0">%s</xliff:g> 分鐘內，手機會進入此模式。您要立即退出這個模式嗎？</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"緊急通話模式不支援您要執行的操作。"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"正在退出緊急回撥模式"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"是"</string>
@@ -554,4 +560,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"緊急電話"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"僅限撥打緊急電話"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"SIM 卡，插槽：<xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"協助工具"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Wi-Fi 來電"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Wi-Fi 通話"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"再次輕觸即可開啟"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"為郵件解碼時發生錯誤。"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 975bb10..332149b 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -66,7 +66,7 @@
     <string name="phone_accounts_selection_header" msgid="1365215726106915865">"Ama-akhawunti wefoni"</string>
     <string name="phone_accounts_add_sip_account" msgid="2023821743341923271">"Engeza i-akhawunti ye-SIP"</string>
     <string name="phone_accounts_configure_account_settings" msgid="1361715069911607109">"Lungiselela izilungiselelo ze-akhawunti"</string>
-    <string name="phone_account_wifi_calling" msgid="1840272538233414629">"Ukushaya kwe-Wi-Fi"</string>
+    <string name="wifi_calling" msgid="739018212480165598">"Ukushaya kwe-Wi-Fi"</string>
     <string name="wifi_calling_do_not_use" msgid="7491443219113013323">"Ungasebenzisi ukushaya nge-Wi-Fi"</string>
     <string name="wifi_calling_do_not_use_call_assistant" msgid="5420257095556091770">"Ungasebenzisi umsizi wokushaya"</string>
     <string name="wifi_calling_call_assistant_none" msgid="6283702349285593683">"Lutho"</string>
@@ -78,6 +78,7 @@
     <string name="wifi_calling_call_assistant_configure" msgid="1092639708949670031">"Lungiselela"</string>
     <string name="connection_service_default_label" msgid="1498481943805913754">"Isevisi yokuxhumeka eyakhelwe ngaphakathi"</string>
     <string name="voicemail" msgid="8693759337917898954">"Ivoyisimeyili"</string>
+    <string name="voicemail_settings_with_label" msgid="152724978380748296">"Ivoyisimeyili (<xliff:g id="SUBSCRIPTIONLABEL">%s</xliff:g>)"</string>
     <string name="voicemail_abbreviated" msgid="2215592488517217448">"VM:"</string>
     <string name="networks" msgid="8873030692174541976">"Imisebenzi yenethiwekhi"</string>
     <string name="cell_broadcast_settings" msgid="8740238216690502563">"Ukusakazwa okuphuthumayo"</string>
@@ -204,7 +205,8 @@
     <string name="roaming_enable" msgid="7331106985174381987">"Xhuma emasevisini edatha uma uzulazula"</string>
     <string name="roaming_disable" msgid="1843417228755568110">"Xhuma emasevisini edatha lapho uzulazula"</string>
     <string name="roaming_reenable_message" msgid="8913735676127858115">"Ulahlekelwe uxhumano lwedatha ngoba ushiye inethiwekhi yakho yasekhaya inokuzulazula kwedatha okuvuliwe."</string>
-    <string name="roaming_warning" msgid="7126227198294007907">"Vumela ukusetshenziswa kwedatha uma kuzulwa? Izindleko ezibalulekile zingasebenza."</string>
+    <string name="roaming_warning" msgid="1603164667540144353">"Ingahle uthole izindleko ezincane."</string>
+    <string name="roaming_alert_title" msgid="3654815360303826008">"Vumela ukuhamba kwedatha?"</string>
     <string name="gsm_umts_options" msgid="6538311689850981686">"Okukhethwa kukho kwe-GSM/UMTS"</string>
     <string name="cdma_options" msgid="4016822858172249884">"Okukhethwa kukho kwe-CDMA"</string>
     <string name="throttle_data_usage" msgid="3715677828160555808">"Ukusebenzisa idatha"</string>
@@ -354,6 +356,7 @@
     <string name="tty_mode_option_summary" msgid="1073835131534808732">"Hlela imodi ye-TTY"</string>
     <string name="auto_retry_mode_title" msgid="4073265511427813322">"Zama futhi ngokuzenzakalelayo"</string>
     <string name="auto_retry_mode_summary" msgid="4973886004067532288">"Vumela imodi Yokuzama Futhi Okuzenzakalelayo"</string>
+    <string name="tty_mode_not_allowed_video_call" msgid="3795846787901909176">"Ukuguqulwa kwemodi ye-TTY akuvunyelwe ngesikhathi sekholi yevidiyo"</string>
     <string name="menu_add" msgid="1882023737425114762">"Engeza othintana naye"</string>
     <string name="menu_edit" msgid="7143003705504672374">"Hlela othintana naye"</string>
     <string name="menu_delete" msgid="3977150783449642851">"Susa othintana naye"</string>
@@ -377,7 +380,7 @@
     <string name="simContacts_emptyLoading" msgid="2203331234764498011">"Ifunda ekhadini le-SIM..."</string>
     <string name="simContacts_empty" msgid="5270660846489561932">"Abekho othintana nabo ekhadini lakho le-SIM"</string>
     <string name="simContacts_title" msgid="1861472842524839921">"Khetha othintana nabo ozobangenisa"</string>
-    <string name="simContacts_airplaneMode" msgid="1846161429087789936">"Ukufaka oxhumana nabo kusuka ekhadini le-SIM, qala ngokucima imodi yeNdiza."</string>
+    <string name="simContacts_airplaneMode" msgid="5254946758982621072">"Vala imodi yendiza ukuze ungenise oxhumana nabo kusukela kukhadi le-SIM."</string>
     <string name="enable_pin" msgid="5422767284133234860">"Vumela/Vima i-PIN ye-SI&lt;M"</string>
     <string name="change_pin" msgid="9174186126330785343">"Shintsha i-PIN ye-SIM"</string>
     <string name="enter_pin_text" msgid="8532615714751931951">"I-SIM PIN:"</string>
@@ -438,9 +441,11 @@
     <string name="notification_action_end_call" msgid="6069460915123531620">"Vala ikholi"</string>
     <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Phinda ushaye"</string>
     <string name="notification_missedCall_message" msgid="3049928912736917988">"Umlayezo"</string>
-    <string name="incall_error_power_off" msgid="6550191216405193368">"Ukwenza ikholi, vala kuqala imodi Yendiza."</string>
+    <string name="incall_error_power_off" msgid="2947938060513306698">"Vala imodi yendiza ukuze wenze ikholi."</string>
+    <string name="incall_error_power_off_wfc" msgid="8711428920632416575">"Vala imodi yendiza noma xhumeka kunethiwekhi engenantambo ukuze wenze ikholi."</string>
     <string name="incall_error_emergency_only" msgid="4678640422710818317">"Ayibhalisiwe kwinethiwekhi."</string>
     <string name="incall_error_out_of_service" msgid="4100065333878929223">"Inethiwekhi yeselula ayitholakali."</string>
+    <string name="incall_error_out_of_service_wfc" msgid="323851839058697057">"Inethiwekhi yeselula ayitholakali. Xhumeka kunethiwekhi engenantambo ukuze wenze ikholi."</string>
     <string name="incall_error_no_phone_number_supplied" msgid="1150414018684246528">"Ukuze wenze ikholi, faka inombolo evumelekile."</string>
     <string name="incall_error_call_failed" msgid="6302746943230078197">"Ayikwazi ukushaya."</string>
     <string name="incall_status_dialed_mmi" msgid="3672498861336189563">"Iqalisa ukulandelana kwe-MMI..."</string>
@@ -451,6 +456,7 @@
     <string name="incall_error_supp_service_conference" msgid="2505727299596357312">"Ayikwazi ukwenza amakholi engqungquthela."</string>
     <string name="incall_error_supp_service_reject" msgid="8998568661508655638">"Ayikwazi ukunqabela ikholi."</string>
     <string name="incall_error_supp_service_hangup" msgid="7434513517153834426">"Ayikwazi ukukhipha amakholi."</string>
+    <string name="incall_error_wfc_only_no_wireless_network" msgid="1782466780452640089">"Xhumeka kunethiwekhi engenantambo ukuze wenze ikholi."</string>
     <string name="emergency_enable_radio_dialog_title" msgid="4627849966634578257">"Ikholi ephuthumayo"</string>
     <string name="emergency_enable_radio_dialog_message" msgid="207613549344420291">"Ivula umsakazo..."</string>
     <string name="emergency_enable_radio_dialog_retry" msgid="5960061579996526883">"Ayikho isevisi. Iyazama futhi…"</string>
@@ -512,18 +518,18 @@
     <string name="phone_entered_ecm_text" msgid="6266424252578731203">"Ingene Kwimdoi Yokuphinda Ukushayela Okuphuthumayo"</string>
     <string name="phone_in_ecm_notification_title" msgid="3226896828951687085">"Imodi Yokuphinda Ukushayela Okuphuthumayo"</string>
     <string name="phone_in_ecm_call_notification_text" msgid="4611608947314729773">"Uxhumano lwedatha luvimbelwe"</string>
-  <plurals name="phone_in_ecm_notification_time">
-    <item quantity="one" msgid="4866221796252472622">"Alukho uxhumano lwedatha lwamaminithi angu-<xliff:g id="COUNT">%s</xliff:g>"</item>
-    <item quantity="other" msgid="3122217344579273583">"Alukho uxhumano lwamaminithi angu-<xliff:g id="COUNT">%s</xliff:g>"</item>
-  </plurals>
-  <plurals name="alert_dialog_exit_ecm">
-    <item quantity="one" msgid="8060210887681426682">"Ucingo luzoba semodini ye-Emergency Callback amaminithi angu-<xliff:g id="COUNT">%s</xliff:g>. Ngenkathi ikule modi awekho ama-apps asebenzisa ukuxhumana kwedatha angasetshenziswa. Ufuna ukuphuma manje?"</item>
-    <item quantity="other" msgid="8617116564023933114">"Ucingo luzoba semodini ye-Emergency Callback amaminithi angu-<xliff:g id="COUNT">%s</xliff:g>. Ngenkathi ikule modi azikho izinhlelo ezisebenzisa ukuxhumana kwedatha ezingasetshenziswa. Ufuna ukuphuma manje?"</item>
-  </plurals>
-  <plurals name="alert_dialog_not_avaialble_in_ecm">
-    <item quantity="one" msgid="2585506997024726599">"Isenzo esikhethiwe asitholakali uma usemodini ye-Emergency Callback. Ucingo luzoba kule modi amaminithi angu-<xliff:g id="COUNT">%s</xliff:g>. Ufuna ukuphuma manje?"</item>
-    <item quantity="other" msgid="6115622137771382224">"Isenzo esikhethiwe asitholakali ngenkathi ukumodi ye-Emergency Callback. Ucingo luzoba kule modi amaminithi angu-<xliff:g id="COUNT">%s</xliff:g>. Ufuna ukuphuma manje?"</item>
-  </plurals>
+    <plurals name="phone_in_ecm_notification_time" formatted="false" msgid="8308381858502470919">
+      <item quantity="one">Alukho uxhumo ledatha amaminthi angu-<xliff:g id="COUNT_1">%s</xliff:g></item>
+      <item quantity="other">Alukho uxhumo ledatha amaminthi angu-<xliff:g id="COUNT_1">%s</xliff:g></item>
+    </plurals>
+    <plurals name="alert_dialog_exit_ecm" formatted="false" msgid="7179911675595441201">
+      <item quantity="one">Ifoni izoba kumodi yokushayela emuva yesimo esiphuthumayo amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ngenkathi ikule modi azikho izinhlelo zokusebenza ezisebenzisa uxhumo ledatha ezingasetshenziswa. Ufuna ukuphuma manje?</item>
+      <item quantity="other">Ifoni izoba kumodi yokushayela emuva yesimo esiphuthumayo amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ngenkathi ikule modi azikho izinhlelo zokusebenza ezisebenzisa uxhumo ledatha ezingasetshenziswa. Ufuna ukuphuma manje?</item>
+    </plurals>
+    <plurals name="alert_dialog_not_avaialble_in_ecm" formatted="false" msgid="8042973425225093895">
+      <item quantity="one">Isenzo esikhethiwe asitholakali ngenkathi ikumodi yokushayela emuv ayesimo esiphuthumayo. Ifoni izoba kule modi amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ufuna ukuphuma manje?</item>
+      <item quantity="other">Isenzo esikhethiwe asitholakali ngenkathi ikumodi yokushayela emuv ayesimo esiphuthumayo. Ifoni izoba kule modi amaminithi angu-<xliff:g id="COUNT_1">%s</xliff:g>. Ufuna ukuphuma manje?</item>
+    </plurals>
     <string name="alert_dialog_in_ecm_call" msgid="1886723687211887104">"Isenzo esikhethiwe asitholakali ngenkathi usocingweni oluphuthumayo"</string>
     <string name="progress_dialog_exiting_ecm" msgid="4835734101617817074">"Ikhipha Imodi Yokuphinda Ukushaya Okuphuthumayo"</string>
     <string name="alert_dialog_yes" msgid="6674268047820703974">"Yebo"</string>
@@ -552,4 +558,9 @@
     <string name="sim_label_emergency_calls" msgid="4847699229529306397">"Amakholi aphuthumayo"</string>
     <string name="sim_description_emergency_calls" msgid="7535215397212301562">"Ikholi ephuthumayo kuphela"</string>
     <string name="sim_description_default" msgid="4778679519938775515">"Ikhadi le-SIM, isilothi: <xliff:g id="SLOT_ID">%s</xliff:g>"</string>
+    <string name="accessibility_settings_activity_title" msgid="8562004288733103868">"Ukufinyeleleka"</string>
+    <string name="status_hint_label_incoming_wifi_call" msgid="8772915926382037499">"Ikholi ye-Wi-Fi engenayo"</string>
+    <string name="status_hint_label_wifi_call" msgid="8900805254974653903">"Ikholi ye-Wi-Fi"</string>
+    <string name="emergency_action_launch_hint" msgid="5841511849007540970">"Thinta futhi ukuze uvule"</string>
+    <string name="message_decode_error" msgid="3456481534066924855">"Kube nephutha ngenkathi kukhishwa ikhodi kumlayezo."</string>
 </resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 45b984e..67572ed 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -58,4 +58,5 @@
     <color name="network_operators_color_primary">#ff263238</color>
     <color name="network_operators_color_primary_dark">#ff21272b</color>
 
+    <color name="emergency_dialer_background">#ff263238</color>
 </resources>
diff --git a/res/values/config.xml b/res/values/config.xml
index b207be7..1f32b2d 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -153,6 +153,10 @@
     <!-- After a CDMA conference call is merged, the swap button should be displayed. -->
     <bool name="support_swap_after_merge" translatable="false">true</bool>
 
+    <!-- Determine whether the voicemail notification is persistent in the notification bar.
+         If true, the voicemail notifications cannot be dismissed from the notification bar. -->
+    <bool name="voicemail_notification_persistent">false</bool>
+
     <!-- For IMS video over LTE calls, determines whether video pause signalling is supported. -->
     <bool name="support_pause_ims_video_calls" translatable="false">true</bool>
 </resources>
diff --git a/res/values/ids.xml b/res/values/ids.xml
new file mode 100644
index 0000000..82a6add
--- /dev/null
+++ b/res/values/ids.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2015 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
+  -->
+
+<resources>
+    <item type="id" name="tag_intent" />
+</resources>
\ No newline at end of file
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0b8bcef..260de24 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -116,10 +116,16 @@
 
     <!-- Error message for users that aren't allowed to modify Mobile Network settings [CHAR LIMIT=none] -->
     <string name="mobile_network_settings_not_available">Cellular network settings are not available for this user</string>
-    <!-- GSM Call settings screen, setting option name -->
+    <!-- GSM Call settings screen, setting option name. [CHAR LIMIT=40] -->
     <string name="labelGSMMore">GSM call settings</string>
-    <!-- CDM Call settings screen, setting option name -->
+    <!-- GSM Call settings screen, setting option name with label indicating the SIM the settings
+         are applied to. [CHAR LIMIT=40] -->
+    <string name="labelGsmMore_with_label">GSM call settings (<xliff:g id="subscriptionlabel" example="T-Mobile">%s</xliff:g>)</string>
+    <!-- CDMA Call settings screen, setting option name -->
     <string name="labelCDMAMore">CDMA call settings</string>
+    <!-- CDMA Call settings screen, setting option name with label indicating the SIM the settings
+         are applied to. [CHAR LIMIT=40] -->
+    <string name="labelCdmaMore_with_label">CDMA call settings (<xliff:g id="subscriptionlabel" example="Verizon">%s</xliff:g>)</string>
     <!-- Mobile network settings screen, setting option name -->
     <string name="apn_settings">Access Point Names</string>
     <!-- Label for the "Network settings" screen in the Settings UI -->
@@ -171,6 +177,8 @@
     <string name="connection_service_default_label">Built-in connection service</string>
     <!-- Call settings screen, setting option name -->
     <string name="voicemail">Voicemail</string>
+    <!-- Title of the "Voicemail" settings screen, with a text label identifying which SIM the settings are for. -->
+    <string name="voicemail_settings_with_label">Voicemail (<xliff:g id="subscriptionlabel" example="Mock Carrier">%s</xliff:g>)</string>
     <!-- Call forwarding dialog box, voicemail number prefix -->
     <string name="voicemail_abbreviated">VM:</string>
     <!-- Mobile network settings screen, setting option name -->
@@ -443,7 +451,9 @@
          "data roaming" feature turned off. -->
     <string name="roaming_reenable_message">You\'ve lost data connectivity because you left your home network with data roaming turned off.</string>
     <!-- Mobile network settings screen, dialog message when user selects the Data roaming check box -->
-    <string name="roaming_warning">Allow data usage when roaming? Significant charges may apply.</string>
+    <string name="roaming_warning">You may incur significant charges.</string>
+    <!-- Mobile network settings screen, dialog message title when user selects the Data roaming check box -->
+    <string name="roaming_alert_title">Allow data roaming?</string>
 
     <!-- USSD aggregation dialog box: separator strings between messages (new-lines will be added before and after) -->
     <string name="ussd_dialog_sep" translatable="false">----------</string>
@@ -1281,6 +1291,11 @@
     <string name="sim_label_emergency_calls">Emergency calls</string>
     <string name="sim_description_emergency_calls">Emergency calling only</string>
     <string name="sim_description_default">SIM card, slot: <xliff:g id="slot_id">%s</xliff:g></string>
+
+    <!-- Title for activity to control accessibility settings such as TTY mode and hearing aid
+         compatability. [CHAR LIMIT=40] -->
+    <string name="accessibility_settings_activity_title">Accessibility</string>
+
     <!-- Configuration setting for world mode Format is <true;GID if any to be checked>-->
     <string translatable="false" name="config_world_mode"/>
 
@@ -1298,4 +1313,14 @@
     <string name="tty_mode_key">button_tty_mode_key</string>
     <!-- DO NOT TRANSLATE. Internal key for a voicemail notification preference. -->
     <string name="wifi_calling_settings_key">button_wifi_calling_settings_key</string>
+
+    <!-- Hint appearing below a selected action on the emergency dialer telling user to tap again to execute the action [CHAR LIMIT=NONE] -->
+    <string name="emergency_action_launch_hint">Touch again to open</string>
+
+    <!-- Strings for IMAP -->
+
+    <!-- String used in place of a message that could not be properly decoded (e.g. bad base64
+       data was received.) [CHAR LIMIT=none] -->
+    <string name="message_decode_error">There was an error while decoding the message.</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4493739..9d2d47f 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -256,11 +256,12 @@
         <item name="android:src">@drawable/overflow_menu</item>
     </style>
 
-    <style name="EmergencyDialerTheme" parent="@android:style/Theme.Material.Light">
-        <item name="dialpad_key_button_touch_tint">@color/dialer_dialpad_touch_tint</item>
-        <item name="android:actionBarStyle">@style/TelephonyActionBarStyle</item>
-        <item name="android:colorPrimary">@color/dialer_theme_color</item>
-        <item name="android:colorPrimaryDark">@color/dialer_theme_color_dark</item>
+    <style name="EmergencyDialerTheme" parent="@android:style/Theme.Material.NoActionBar">
+        <item name="android:colorPrimary">@color/emergency_dialer_background</item>
+        <item name="android:colorPrimaryDark">@color/emergency_dialer_background</item>
+        <item name="android:windowBackground">@color/emergency_dialer_background</item>
+        <item name="android:statusBarColor">@android:color/transparent</item>
+        <item name="android:navigationBarColor">@android:color/transparent</item>
         <item name="android:homeAsUpIndicator">@drawable/ic_back_arrow</item>
     </style>
 
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
new file mode 100644
index 0000000..a67e2ad
--- /dev/null
+++ b/res/xml/accessibility_settings.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:phone="http://schemas.android.com/apk/res/com.android.phone"
+    android:title="@string/accessibility_settings_activity_title">
+
+    <com.android.phone.settings.TtyModeListPreference
+        android:key="@string/tty_mode_key"
+        android:title="@string/tty_mode_option_title"
+        android:summary="@string/tty_mode_option_summary"
+        android:persistent="false"
+        android:entries="@array/tty_mode_entries"
+        android:entryValues="@array/tty_mode_values"/>
+
+    <CheckBoxPreference
+        android:key="button_hac_key"
+        android:title="@string/hac_mode_title"
+        android:persistent="true"
+        android:summary="@string/hac_mode_summary"/>
+
+</PreferenceScreen>
diff --git a/res/xml/call_feature_setting.xml b/res/xml/call_feature_setting.xml
index a6e78e4..6471b16 100644
--- a/res/xml/call_feature_setting.xml
+++ b/res/xml/call_feature_setting.xml
@@ -29,53 +29,7 @@
 
     <PreferenceScreen
         android:key="button_voicemail_category_key"
-        android:title="@string/voicemail"
-        android:persistent="false">
-
-        <com.android.phone.settings.VoicemailProviderListPreference
-            android:key="button_voicemail_provider_key"
-            android:title="@string/voicemail_provider"
-            android:summary="@string/sum_voicemail_choose_provider"
-            android:defaultValue=""
-            android:persistent="true" />
-
-        <PreferenceScreen
-            android:key="button_voicemail_setting_key"
-            android:title="@string/voicemail_settings"
-            android:persistent="false">
-
-            <!-- Note for all com.android.phone.EditPhoneNumberPreference objects
-
-                 The last several attributes are for use with the EditText field
-                 in the dialog.  These attributes are forwarded to that field
-                 when the edittext is created.  The attributes include:
-                 1. android:singleLine
-                 2. android:autoText
-                 3. android:background -->
-
-            <com.android.phone.EditPhoneNumberPreference
-                android:key="button_voicemail_key"
-                android:title="@string/voicemail_settings_number_label"
-                android:persistent="false"
-                android:dialogTitle="@string/voicemail"
-                phone:confirmMode="confirm"
-                android:singleLine="true"
-                android:autoText="false" />
-
-        </PreferenceScreen>
-
-        <com.android.phone.settings.VoicemailRingtonePreference
-            android:key="@string/voicemail_notification_ringtone_key"
-            android:title="@string/voicemail_notification_ringtone_title"
-            android:persistent="false"
-            android:ringtoneType="notification" />
-
-        <CheckBoxPreference
-            android:key="@string/voicemail_notification_vibrate_key"
-            android:title="@string/voicemail_notification_vibrate_when_title"
-            android:persistent="true" />
-
-    </PreferenceScreen>
+        android:title="@string/voicemail" />
 
     <PreferenceScreen
         android:key="button_fdn_key"
@@ -104,48 +58,16 @@
         android:persistent="false"
         android:summary="@string/auto_retry_mode_summary"/>
 
-    <com.android.phone.settings.TtyModeListPreference
-        android:key="@string/tty_mode_key"
-        android:title="@string/tty_mode_option_title"
-        android:summary="@string/tty_mode_option_summary"
-        android:persistent="false"
-        android:entries="@array/tty_mode_entries"
-        android:entryValues="@array/tty_mode_values"/>
-
-    <CheckBoxPreference
-        android:key="button_hac_key"
-        android:title="@string/hac_mode_title"
-        android:persistent="true"
-        android:summary="@string/hac_mode_summary"/>
-
-    <ListPreference
-        android:key="button_dtmf_settings"
-        android:title="@string/dtmf_tones_title"
-        android:summary="@string/dtmf_tones_summary"
-        android:entries="@array/dtmf_tone_entries"
-        android:entryValues="@array/dtmf_tone_values"/>
-
     <PreferenceScreen
         android:key="button_gsm_more_expand_key"
         android:title="@string/labelGSMMore"
         android:summary="@string/sum_gsm_call_settings"
-        android:persistent="false">
-
-        <intent android:action="android.intent.action.MAIN"
-            android:targetPackage="com.android.phone"
-            android:targetClass="com.android.phone.GsmUmtsCallOptions"/>
-
-    </PreferenceScreen>
+        android:persistent="false" />
 
     <PreferenceScreen
         android:key="button_cdma_more_expand_key"
         android:title="@string/labelCDMAMore"
         android:summary="@string/sum_cdma_call_settings"
-        android:persistent="false">
+        android:persistent="false" />
 
-        <intent android:action="android.intent.action.MAIN"
-            android:targetPackage="com.android.phone"
-            android:targetClass="com.android.phone.CdmaCallOptions"/>
-
-    </PreferenceScreen>
 </PreferenceScreen>
diff --git a/res/xml/voicemail_settings.xml b/res/xml/voicemail_settings.xml
index f4679e5..a7d5fb4 100644
--- a/res/xml/voicemail_settings.xml
+++ b/res/xml/voicemail_settings.xml
@@ -15,9 +15,50 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:phone="http://schemas.android.com/apk/res/com.android.phone"
     android:title="@string/voicemail">
 
-    <!-- Temporary placeholder until prefs are migrated from Call Settings. -->
-    <Preference android:title="@string/voicemail" />
+    <com.android.phone.settings.VoicemailProviderListPreference
+        android:key="button_voicemail_provider_key"
+        android:title="@string/voicemail_provider"
+        android:summary="@string/sum_voicemail_choose_provider"
+        android:defaultValue=""
+        android:persistent="true" />
+
+    <PreferenceScreen
+        android:key="button_voicemail_setting_key"
+        android:title="@string/voicemail_settings"
+        android:persistent="false">
+
+        <!-- Note for all com.android.phone.EditPhoneNumberPreference objects
+
+             The last several attributes are for use with the EditText field
+             in the dialog.  These attributes are forwarded to that field
+             when the edittext is created.  The attributes include:
+             1. android:singleLine
+             2. android:autoText
+             3. android:background -->
+
+        <com.android.phone.EditPhoneNumberPreference
+            android:key="button_voicemail_key"
+            android:title="@string/voicemail_settings_number_label"
+            android:persistent="false"
+            android:dialogTitle="@string/voicemail"
+            phone:confirmMode="confirm"
+            android:singleLine="true"
+            android:autoText="false" />
+
+    </PreferenceScreen>
+
+    <com.android.phone.settings.VoicemailRingtonePreference
+        android:key="@string/voicemail_notification_ringtone_key"
+        android:title="@string/voicemail_notification_ringtone_title"
+        android:persistent="false"
+        android:ringtoneType="notification" />
+
+    <CheckBoxPreference
+        android:key="@string/voicemail_notification_vibrate_key"
+        android:title="@string/voicemail_notification_vibrate_when_title"
+        android:persistent="true" />
 
 </PreferenceScreen>
diff --git a/sip/res/values-af/strings.xml b/sip/res/values-af/strings.xml
index b5395fc..0a3a023 100644
--- a/sip/res/values-af/strings.xml
+++ b/sip/res/values-af/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internetoproep-instellings"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internetoproep-rekeninge (SIP-rekeninge)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-instellings"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-rekeninge"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Rekeninge"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Ontvang inkomende oproepe"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Verminder batterylewe"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Gebruik internetoproepe"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Gebruik internetoproepe (net Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Gebruik meer batterykrag"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Gebruik SIP-oproepe"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gebruik SIP-oproepe (net Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Vir alle oproepe wanneer datanetwerk beskikbaar is"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Net vir internetoproepe"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Vra vir elke oproep"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Net vir SIP-oproepe"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Vir alle oproepe"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Maak oproep"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Gebruik internetoproep-rekening:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Gebruik altyd om internetoproepe te maak"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Jy kan verander watter internetoproep-rekening by verstek gebruik word vanaf die Foon &gt; Instellings &gt; Internetoproep-instellings &gt; Rekeningeskerm."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Selfoonoproep"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetoproep"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Geen internetoproep-rekening nie"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Daar is geen internetoproep-rekeninge op die selfoon nie. Wil jy nou een byvoeg?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Voeg by"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Voeg rekening by"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Verwyder rekening"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-rekeninge"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Sluit die profiel"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Goed"</string>
     <string name="close_profile" msgid="3122414058856309881">"Maak toe"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primêre rekening. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Gaan tans status na …"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registreer tans …"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Probeer steeds …"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Poortnommer"</string>
     <string name="transport_title" msgid="889155457465372527">"Vervoertipe"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Stuur hou lewendig"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Stel as primêre rekening"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Gebruik vir uitgaande oproepe"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Opsionele instellings"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Stawinggebruikernaam"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Gebruikernaam gebruik vir stawing"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Raak om almal te versteek"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> word vereis en kan nie leeg wees nie."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Poortnommer moet tussen 1000 en 65534 wees."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Geen internetverbinding nie"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Geen Wi-Fi-verbinding nie"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Gaan eers jou internetverbinding na om \'n internetoproep te maak."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Jy moet aan \'n Wi-Fi-netwerk gekoppel wees vir internetoproepe (gebruik Wi-Fi- en netwerkinstellings)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetoproepe word nie gesteun nie"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Gaan eers jou internetverbinding na om \'n SIP-oproep te maak."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Jy moet aan \'n Wi-Fi-netwerk gekoppel wees om SIP-oproepe te maak (gebruik die Draadlose en netwerkinstellings)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-oproepe word nie gesteun nie"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Outomaties"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Stuur altyd"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Ingeboude internetoproepe"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Ingeboude SIP-oproepe"</string>
 </resources>
diff --git a/sip/res/values-am/strings.xml b/sip/res/values-am/strings.xml
index 1043466..33afdda 100644
--- a/sip/res/values-am/strings.xml
+++ b/sip/res/values-am/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"የበይነመረብ ጥሪ ቅንብሮች"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"የበይነመረብ ጥሪ (SIP) መለያዎች"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ቅንብሮች"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"የSIP መለያዎች"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"መለያዎች"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ገቢ ጥሪዎች ተቀበል"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"የባትሪ ህይወት ይቀንሳል"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"የበየነ መረብ ጥሪ ተጠቀም"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"የበይነመረብ ጥሪ (Wi-Fi ብቻ) ተጠቀም"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ተጨማሪ የባትሪ ዕድሜን ይጠቀማል"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"የSIP መደወያን ተጠቀም"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"የSIP መደወያን ተጠቀም (Wi-Fi ብቻ)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ለሁሉም ጥሪዎች የውሂብ አውታረመረብ ሲኖር"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"ለበይነመረብ ጥሪዎች ብቻ"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ለእያንዳንዱ ጥሪ ጠይቅ"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"ለSIP ጥሪዎች ብቻ"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"ለሁሉም ጥሪዎች"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ጥሪ አድርግ"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ይህንን የበይነመረብ መደወያ መለያ ይጠቀሙ፦"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"ሁልጊዜ የበይነመረብ ጥሪዎችን ለማድረግ ይጠቀሙ"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"የትኛውን የበየነመረብ የመደወያ መለያ ለመጠቀም በነባሪ ከስልኩ &gt; ቅንብሮች &gt; የበየነመረብ ቅንብሮች &gt; የመለያዎች ማሳያ መለወጥ ይችላሉ።"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"የተንቀሳቃሽ ስልክ ጥሪ"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"የበይነመረብ ጥሪ"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ምንም የበይነመረብ ጥሪ መለያ የለም"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"በዚህ ስልክ ላይ ምንም የበየነ መረብ መደወያ መለያዎች የሉም። አሁን አንድ ማከል ይፈልጋሉ?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"ያክሉ"</string>
     <string name="add_sip_account" msgid="800843669753980091">"መለያ ያክሉ"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"መለያ ያስወግዱ"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP መለያዎች"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"መገለጫውን ይዝጉ"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"እሺ"</string>
     <string name="close_profile" msgid="3122414058856309881">"ዝጋ"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"ተቀዳሚ መለያ፦ <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"ሁኔታን በመመልከት ላይ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"በመመዝገብ ላይ…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"አሁንም በመሞከር ላይ…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"ወደብ ቁጥር"</string>
     <string name="transport_title" msgid="889155457465372527">"የማጓጓዣ አይነት"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"keep-alive ላክ"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"እንደ ቀዳሚ መለያ አዘጋጅ"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"ለወደ ውጪ ጥሪዎች ይጠቅማል"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"አማራጭ ቅንብሮች"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"የማረጋገጫ  የተጠቃሚ ስም"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"ተጠቃሚ ስም ለማረጋገጫ ተጠቅሟል"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"ሁሉንም ለመደበቅ ▽ ይንኩ"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ይጠይቃል፣ ባዶ መተው አይቻልም።"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"የወደብ ቁጥር በ1000 እና 65534 ውስጥ መሆን አለበት።"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ምንም የበይነመረብ ግንኙነት የለም"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"ምንም የWi-Fi ግንኙነት የለም"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"የበይነመረብ ጥሪ ለማድረግ መጀመሪያ የበይነመረብ ግንኙነትዎን ይፈትሹ።"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ለበይነመረብ ጥሪዎች ወደ Wi-Fi አውታረ መረብ ማገናኘት አለብዎ (የገመድ አልባና አውታረ መረብ ቅንብሮችን ይጠቀሙ)።"</string>
-    <string name="no_voip" msgid="1600568347241920141">"የበይነመረብ ጥሪ አይደገፍም"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"የSIP ጥሪ ለማድረግ፣ በመጀመሪያ የበይነመረብ ግንኙነትዎን ይፈትሹ።"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP ጥሪዎችን ለማድረግ ወደ Wi-Fi አውታረ መረብ መገናኘት ያስፈልግዎታል (ሽቦ አልባ እና አውታረ መረብ ቅንብሮችን ይጠቀሙ)።"</string>
+    <string name="no_voip" msgid="3038021971231952704">"የSIP መደወያ አይደገፍም"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"ራስ ሰር"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ሁልጊዜ ላክ"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"አብሮ የተገነባ የበይመረብ ጥሪ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"ውስጠ ግንቡ SIP መደወያ"</string>
 </resources>
diff --git a/sip/res/values-ar/strings.xml b/sip/res/values-ar/strings.xml
index 40cd8cd..6c4be12 100644
--- a/sip/res/values-ar/strings.xml
+++ b/sip/res/values-ar/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"إعدادات المكالمة عبر الانترنت"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"‏حسابات المكالمة عبر الانترنت ( SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"‏إعدادات SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"‏حسابات SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"الحسابات"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"تلقي المكالمات الواردة"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"يقلل من عمر البطارية"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"استخدام الاتصال عبر الإنترنت"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"‏استخدام الاتصال عبر الإنترنت (Wi-Fi فقط)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"تستهلك المزيد من عمر البطارية"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"‏استخدام اتصالات SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"‏استخدام اتصالات SIP ‏(Wi-Fi فقط)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"لكل المكالمات عند توفر شبكة البيانات"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"فقط للمكالمات عبر الإنترنت"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"السؤال عند كل مكالمة"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"‏لاتصالات SIP فقط"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"لكل المكالمات"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"إجراء اتصال"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"استخدام حساب الاتصال عبر الإنترنت:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"الاستخدام دومًا لإجراء مكالمات عبر الإنترنت"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"‏يمكنك تغيير حساب مكالمات الإنترنت الذي تريد استخدامه افتراضيًا من الهاتف &gt; إعدادات &gt; إعدادات مكالمات لإنترنت &gt; شاشة الحسابات."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"اتصال عبر هاتف خلوي"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"مكالمة عبر الإنترنت"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ليس هناك حساب اتصال عبر الإنترنت"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"لا توجد حسابات مكالمات الإنترنت على هذا الهاتف. هل تريد إضافة حساب الآن؟"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"إضافة"</string>
     <string name="add_sip_account" msgid="800843669753980091">"إضافة حساب"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"إزالة الحساب"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"‏حسابات SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"إغلاق الملف الشخصي"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"موافق"</string>
     <string name="close_profile" msgid="3122414058856309881">"إغلاق"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"حساب أساسي. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"جارٍ فحص الحالة…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"جارٍ التسجيل…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"لا تزال المحاولة مستمرة…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"رقم المنفذ"</string>
     <string name="transport_title" msgid="889155457465372527">"نوع النقل"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"إرسال رسالة للتحقق من الاتصال"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"تعيين كحساب أساسي"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"مستخدم للمكالمات الصادرة"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"الإعدادات الاختيارية"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"اسم المستخدِم للمصادقة"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"اسم المستخدِم المستخدَم للمصادقة"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ المس لإخفاء الكل"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> مطلوب ولا يمكن تركه فارغًا."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"يجب أن يكون رقم المنفذ ما بين 1000 و65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"لا اتصال بالإنترنت"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"‏ليس هناك اتصال Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"لإجراء مكالمة إنترنت، تحقق من اتصالك بالإنترنت أولاً."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"‏يلزمك الاتصال بشبكة Wi-Fi لإجراء مكالمات عبر الإنترنت (استخدم إعدادات اللاسلكي والشبكة)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"الاتصال عبر الإنترنت غير معتمد"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"‏لإجراء اتصال SIP، تحقق من الاتصال بالإنترنت أولاً."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"‏يجب عليك الاتصال بشبكة Wi-Fi لإجراء اتصالات SIP (استخدم إعدادات \"الشبكة واللاسلكي\")."</string>
+    <string name="no_voip" msgid="3038021971231952704">"‏اتصالات SIP غير متاحة"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"تلقائي"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"الإرسال دائمًا"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"اتصال مدمج بالإنترنت"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"‏اتصالات SIP مدمجة"</string>
 </resources>
diff --git a/sip/res/values-bg/strings.xml b/sip/res/values-bg/strings.xml
index 58b0bf3..0b511c5 100644
--- a/sip/res/values-bg/strings.xml
+++ b/sip/res/values-bg/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Настройки за обаждания през интернет"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Профили за обаждане през интернет (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Настройки за SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Профили за SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Профили"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Получаване на входящи обаждания"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Намалява живота на батерията"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Използване на интернет за обаждания"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Използване на интернет за обаждания (само при Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Изразходва повече от батерията"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Използване на услуга за обаждане през SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Използване на услуга за обаждане през SIP (само при Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"За всички обаждания, когато е налице мрежа за данни"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Само за обаждания през интернет"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Извеждане на запитване за всяко обаждане"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Само за обаждания през SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"За всички обаждания"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Провеждане на обаждане"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Използване на профил за обажданe през интернет:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Използване винаги за провеждане на обаждания през интернет"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Можете да промените кой профил да се използва по подразбиране за обаждане през интернет от екрана „Телефон“ &gt; „Настройки“ &gt; „Настройки за интернет обаждания“ &gt; „Профили“."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Обаждане по клетъчен телефон"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Обаждане през интернет"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Няма профил за обаждане през интернет"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Няма профили за обаждане през интернет на този телефон. Искате ли да добавите сега?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Добавяне"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Добавяне на профил"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Премахване на профил"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Профили за SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Затваряне на потребителския профил"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ОK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Затваряне"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Основен профил. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Състоянието се проверява..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Регистрира се…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Опитите продължават…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Номер на порта"</string>
     <string name="transport_title" msgid="889155457465372527">"Тип транспорт"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Изпращане на съобщение за проверка на връзката"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Задаване като основен профил"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Използва се за изходящи обаждания"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Незадължителни настройки"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Потребителско име за удостоверяване"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Потребителско име, използвано за удостоверяване"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Докоснете за скриване на всички"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Полето „<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>“ е задължително и трябва да се попълни."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Номерът на порта трябва да е между 1000 и 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Няма връзка с интернет"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Няма връзка с Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"За да проведете обаждане през интернет, първо проверете връзката си с мрежата."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"За обаждане през интернет трябва да сте свързани с Wi-Fi мрежа (използвайте настройките в „Кабелни и безжични мрежи“)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Обаждането през интернет не се поддържа"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"За да осъществите обаждане през SIP, първо проверете връзката си с интернет."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"За да се обаждате през SIP, трябва да сте свързани с Wi-Fi мрежа (използвайте настройките „Кабелни и безжични мрежи“)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Обажданията през SIP не се поддържат"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Автоматично"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Изпращане винаги"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Вградена услуга за обаждане през интернет"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Вградена услуга за обаждане през SIP"</string>
 </resources>
diff --git a/sip/res/values-bn-rBD/strings.xml b/sip/res/values-bn-rBD/strings.xml
index adeab22..3cc1e6e 100644
--- a/sip/res/values-bn-rBD/strings.xml
+++ b/sip/res/values-bn-rBD/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"ইন্টারনেট কল সেটিংস"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"ইন্টারনেট কলিং (SIP) অ্যাকাউন্টগুলি"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP সেটিংস"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP অ্যাকাউন্টগুলি"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"অ্যাকাউন্টগুলি"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"আগত কলগুলি গ্রহণ করুন"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ব্যাটারি স্থায়িত্ব কম করে"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ইন্টারনেট কলিং ব্যবহার করুন"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ইন্টারনেট কলিং ব্যবহার করুন (শুধুমাত্র Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"আরো বেশি ব্যাটারি লাইফ ব্যবহার করে"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP কলিং ব্যবহার করুন"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP কলিং ব্যবহার করুন (শুধুমাত্র Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"যখন ডেটা নেটওয়ার্ক উপলব্ধ তখন সব কলের জন্য"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"শুধুমাত্র ইন্টারনেট কলের জন্য"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"প্রতিটি কলের আগে জিজ্ঞাসা করুন"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"শুধুমাত্র SIP কলগুলির জন্য"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"সব কলের জন্য"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"কল করুন"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ইন্টারনেট কলিং অ্যাকাউন্ট ব্যবহার করুন:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"সবসময় ইন্টারনেট কল করতে ব্যবহার করুন"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"ডিফল্ট হিসাবে আপনি কোন্ ইন্টারনেট কলিং অ্যাকাউন্ট ব্যবহার করতে চান তা ফোন &gt; সেটিংস &gt; ইন্টারনেট কল সেটিংস &gt; অ্যাকাউন্টের স্ক্রীন থেকে পরিবর্তন করতে পারবেন৷"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"সেল ফোন কল"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"ইন্টারনেট কল"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"কোনো ইন্টারনেট কলিং অ্যাকাউন্ট নেই"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"এই ফোনে কোনো ইন্টারনেট কলিং অ্যাকাউন্ট নেই। আপনি কি এখন একটি অ্যাকাউন্ট যোগ করতে চান?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"জুড়ুন"</string>
     <string name="add_sip_account" msgid="800843669753980091">"অ্যাকাউন্ট যোগ করুন"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"অ্যাকাউন্ট সরান"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP অ্যাকাউন্টগুলি"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"প্রোফাইলটি বন্ধ করুন"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ঠিক আছে"</string>
     <string name="close_profile" msgid="3122414058856309881">"বন্ধ করুন"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"প্রাথমিক অ্যাকাউন্ট। <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"স্থিতি পরীক্ষা করা হচ্ছে ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"নিবন্ধীকরণ চলছে..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"এখনও চেষ্টা করছে..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"পোর্ট নম্বর"</string>
     <string name="transport_title" msgid="889155457465372527">"পরিবহনের ধরন"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"সক্রিয়-রাখুন অনুরোধ পাঠান"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"প্রাথমিক অ্যাকাউন্ট হিসাবে সেট করুন"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"বহির্গামী কলগুলির জন্য ব্যবহৃত"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ঐচ্ছিক সেটিংস"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"প্রমাণীকরণের ব্যবহারকারীর নাম"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"প্রমাণীকরণের জন্য ব্যবহৃত ব্যবহারকারী নাম"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ সবকিছু লুকানোর জন্য স্পর্শ করুন"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> প্রয়োজনীয় এবং এটিকে ফাঁকা রাখা যাবে না৷"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"পোর্ট নম্বরটিকে ১০০০ ও ৬৫৫৩৪ এর মধ্যে হতে হবে৷"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"কোনো ইন্টারনেট সংযোগ নেই"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"কোনো Wi-Fi সংযোগ নেই"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ইন্টারনেট কল করার জন্য প্রথমে আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন।"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ইন্টারনেট কলগুলি করার জন্য আপনাকে একটি Wi-Fi নেটওয়ার্কের সাথে সংযুক্ত হতে হবে (ওয়্যারলেস &amp; নেটওয়ার্ক সেটিংস ব্যবহার করুন)৷"</string>
-    <string name="no_voip" msgid="1600568347241920141">"ইন্টারনেট কলিং সমর্থিত নয়"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"একটি SIP কল করতে প্রথমে আপনার ইন্টারনেট সংযোগ পরীক্ষা করুন৷"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP কলগুলি করার জন্য আপনাকে একটি Wi-Fi নেটওয়ার্কের সাথে সংযুক্ত হতে হবে (ওয়ারলেস নেটওয়ার্ক সেটিংস ব্যবহার করুন)৷"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP কলিং সমর্থিত নয়"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"স্বয়ংক্রিয়"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"সবসময় পাঠান"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"বিল্ট-ইন ইন্টারনেট কলিং"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"অন্তর্নির্মিত SIP কলিং"</string>
 </resources>
diff --git a/sip/res/values-ca/strings.xml b/sip/res/values-ca/strings.xml
index 805f4b4..a744ccb 100644
--- a/sip/res/values-ca/strings.xml
+++ b/sip/res/values-ca/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Configuració de les trucades per Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Comptes per a trucades per Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Configuració de SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Comptes SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Comptes"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Rep trucades entrants"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Redueix la durada de la bateria."</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Trucades per Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Trucades per Internet (només Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Fa servir més bateria."</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Ús de les trucades SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Ús de les trucades SIP (només Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Per a totes les trucades quan hi hagi xarxes de dades disponibles"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Només trucades per Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Pregunta cada vegada"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Només per a trucades SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Per a totes les trucades"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Fes una trucada"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Utilitza el compte per a trucades per Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Utilitza-ho sempre per fer trucades per Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Per canviar el compte de trucades per Internet que vols utilitzar de manera predeterminada, vés a Telèfon &gt; Configuració &gt; Configuració de trucades per Internet &gt; Comptes."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Trucada amb telèfon mòbil"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Trucada per Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"No hi ha cap compte per a trucades per Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"En aquest telèfon no hi ha comptes de trucades per Internet. Vols afegir-n\'hi un?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Afegeix"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Afegeix un compte"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Suprimeix el compte"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Comptes SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Tanca el perfil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"D\'acord"</string>
     <string name="close_profile" msgid="3122414058856309881">"Tanca"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Compte principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"S\'està comprovant l\'estat..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"S\'està registrant..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Encara s\'està provant..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Número de port"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipus de transport"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Envia mantenir en línia"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Defineix com a compte principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilitzada per a trucades sortints"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Configuració opcional"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nom d\'usuari per a l\'autenticació"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nom d\'usuari utilitzat per a l\'autenticació"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Toca per amagar-ho tot."</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> és obligatori i no es pot deixar en blanc."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"El número de port hauria d\'estar entre 1000 i 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"No hi ha connexió a Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"No hi ha connexió Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Per fer una trucada per Internet, primer comprova la connexió a Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Has d\'estar connectat a una xarxa Wi-Fi per fer trucades per Internet (utilitza la configuració Connexions sense fil i xarxa)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"No s\'admeten les trucades per Internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Per fer una trucada SIP, comprova la connexió a Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Per fer i rebre trucades SIP, has d\'estar connectat a una xarxa Wi-Fi (fes servir la configuració Connexions sense fil i xarxes)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Les trucades SIP no són compatibles."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automàtic"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Envia sempre"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Trucades per Internet integrades"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Trucades SIP integrades"</string>
 </resources>
diff --git a/sip/res/values-cs/strings.xml b/sip/res/values-cs/strings.xml
index 416aecb..7d66537 100644
--- a/sip/res/values-cs/strings.xml
+++ b/sip/res/values-cs/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Nastavení internetového volání"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Účty pro internetové hovory (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Nastavení protokolu SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Účty SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Účty"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Přijímat příchozí hovory"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Snižuje výdrž baterie"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Použít internetové volání"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Používat internetové volání (jen přes Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Více vybíjí baterii"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Použít volání SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Použít volání SIP (pouze Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Pro všechny hovory, pokud je k dispozici datová síť"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Pouze pro internetové hovory"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Pokaždé se zeptat"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Pouze pro volání SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Pro všechny hovory"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Uskutečnit hovor"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Použít účet pro internetové hovory:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Vždy používat pro internetové hovory"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Výchozí účet pro internetové hovory můžete změnit na obrazovce Telefon &gt; Nastavení &gt; Nastavení internetových hovorů &gt; Účty."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Hovor z mobilního telefonu"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetový hovor"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Žádný účet pro internetové hovory:"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"V tomto telefonu není žádný účet pro internetové volání. Chcete jej nyní vytvořit?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Přidat"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Přidat účet"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Odebrat účet"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Účty SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Zavřít profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Zavřít"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primární účet. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Kontrola stavu..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrace…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Probíhají další pokusy…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Číslo portu"</string>
     <string name="transport_title" msgid="889155457465372527">"Typ přenosu"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Odesílat zprávy pro zachování připojení"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Nastavit jako primární účet"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Použito pro odchozí hovory"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Nepovinná nastavení"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Ověřovací uživatelské jméno"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Uživatelské jméno používané k ověření"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Výběrem této položky skryjete všechna nastavení"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je povinné. Nelze je ponechat prázdné."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Číslo portu by mělo být od 1000 do 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Bez internetu"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Připojení Wi-Fi není k dispozici"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Chcete-li uskutečnit internetový hovor, zkontrolujte, zda jste připojeni k internetu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"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ě)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetové hovory nejsou podporovány"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Chcete-li uskutečnit volání SIP, nejdříve si zkontrolujte připojení k internetu."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Chcete-li použít volání SIP, musíte být připojeni k síti Wi-Fi (použijte nastavení Bezdrátová připojení a sítě)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Volání SIP není podporováno."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automaticky"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Odesílat vždy"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Vestavěné internetové volání"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Vestavěné volání SIP"</string>
 </resources>
diff --git a/sip/res/values-da/strings.xml b/sip/res/values-da/strings.xml
index ed9dbd8..628a677 100644
--- a/sip/res/values-da/strings.xml
+++ b/sip/res/values-da/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Indstillinger for internetopkald"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Konti til internetopkald (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-indstillinger"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-konti"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Konti"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Modtag indgående opkald"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reducerer batteriets levetid"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Benyt internetopkald"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Benyt internetopkald (kun Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Bruger mere batteri"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Anvend SIP-opkald"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Anvend SIP-opkald (kun Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Gælder alle opkald ved tilgængeligt datanetværk"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Kun til internetopkald"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Spørg ved hvert opkald"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Kun for SIP-opkald"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Gælder alle opkald"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Foretag opkald"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Benyt internetopkaldskonto:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Benyt altid til at foretage internetopkald"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Du kan ændre, hvilken internetopkaldskonto der skal bruges som standard, ved at gå til Telefon &gt; Indstillinger &gt; Indstillinger for internetopkald &gt; skærmen Konti."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobiltelefonopkald"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetopkald"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ingen internetopkaldskonto"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Der er ingen internetopkaldskonti på denne telefon. Vil du tilføje en nu?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Tilføj"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Tilføj konto"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Fjern konto"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-konti"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Luk profilen"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Luk"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primær konto. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Tjekker status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrerer..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Forsøger stadig..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Portnummer"</string>
     <string name="transport_title" msgid="889155457465372527">"Transporttype"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Send keepalive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Angiv som primær konto"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Bruges til udgående opkald"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Valgfri indstillinger"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Brugernavn til godkendelse"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Brugernavn bruges til godkendelse"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tryk for at skjule alle"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> skal udfyldes. Feltet må ikke være tomt."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Portnummeret skal være mellem 1000 og 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Ingen internetforbindelse"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Ingen Wi-Fi-forbindelse"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Kontrollér din internetforbindelse, før du foretager et internetopkald."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Du skal have forbindelse til et Wi-Fi-netværk for at kunne foretage internetopkald (brug Indstillinger for trådløs og netværk)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetopkald understøttes ikke"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Før du foretager et SIP-opkald, skal du kontrollere din internetforbindelse."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Du skal have forbindelse til et Wi-Fi-netværk for at foretage SIP-opkald (brug indstillingerne for Trådløst og netværk)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-opkald understøttes ikke."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatisk"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Send altid"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Indbygget internetopkald"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Indbygget SIP-opkald"</string>
 </resources>
diff --git a/sip/res/values-de/strings.xml b/sip/res/values-de/strings.xml
index bdfcf10..cc2b857 100644
--- a/sip/res/values-de/strings.xml
+++ b/sip/res/values-de/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Einstellungen für Internetanrufe"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Konten für Internetanrufe (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-Einstellungen"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-Konten"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Konten"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Eingehende Anrufe annehmen"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Verkürzt Akkulaufzeit"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Internetanrufe verwenden"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Internetanruf verwenden (nur WLAN)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Beansprucht den Akku stärker"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP-Telefonie nutzen"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP-Telefonie nutzen (nur WLAN)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Für alle Anrufe mit verfügbarem Datennetzwerk"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Nur für Internetanrufe"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Bei jedem Anruf fragen"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Nur für SIP-Anrufe"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Für alle Anrufe"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Telefonieren"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Konto für Internetanrufe verwenden:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Immer für Internetanrufe verwenden"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Sie können auf Ihrem Telefon unter \"Einstellungen\" &gt; \"Einstellungen für Internetanrufe\" &gt; \"Konten\" festlegen, welches Konto standardmäßig für Internetanrufe verwendet werden soll."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobiltelefon"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetanruf"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Kein Konto für Internetanrufe"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Auf diesem Telefon befinden sich keine Konten für Internetanrufe. Möchten Sie jetzt ein Konto hinzufügen?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Hinzufügen"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Konto hinzufügen"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Konto entfernen"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-Konten"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Profil schließen"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Schließen"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primäres Konto. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Status wird überprüft…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrierung läuft…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Wird weiter versucht…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Portnummer"</string>
     <string name="transport_title" msgid="889155457465372527">"Transportart"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Keep-Alive senden"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Als primäres Konto festlegen"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Für ausgehende Anrufe verwendet"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Optionale Einstellungen"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nutzername für die Authentifizierung"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Für die Authentifizierung verwendeter Nutzername"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tippen, um alle auszublenden"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ist ein Pflichtfeld. Es darf nicht leer bleiben."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Portnummer muss zwischen 1000 und 65534 liegen."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Keine Internetverbindung"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Keine WLAN-Verbindung"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Überprüfen Sie zunächst Ihre Internetverbindung, bevor Sie einen Internetanruf tätigen."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Für Internetanrufe ist eine aktive WLAN-Verbindung notwendig. Wählen Sie die entsprechenden Einstellungen unter \"Drahtlos &amp; Netzwerke\"."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetanrufe werden nicht unterstützt"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Überprüfen Sie zunächst Ihre Internetverbindung, um einen SIP-Anruf zu tätigen."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Für SIP-Anrufe ist eine WLAN-Verbindung erforderlich. Wählen Sie die entsprechenden Einstellungen unter \"Drahtlos &amp; Netzwerke\" aus."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-Anrufe werden nicht unterstützt."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatisch"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Immer senden"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Integrierte Internettelefonie"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Integrierte SIP-Telefonie"</string>
 </resources>
diff --git a/sip/res/values-el/strings.xml b/sip/res/values-el/strings.xml
index a1c20dd..5f241ae 100644
--- a/sip/res/values-el/strings.xml
+++ b/sip/res/values-el/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Ρυθμίσεις κλήσεων διαδικτύου"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Λογαριασμοί κλήσεων διαδικτύου (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Ρυθμίσεις SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Λογαριασμοί SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Λογαριασμοί"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Λήψη εισερχόμενων κλήσεων"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Μειώνει τη διάρκεια ζωής της μπαταρίας"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Χρήση κλήσεων διαδικτύου"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Χρήση κλήσεων διαδικτύου (μόνο με Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Χρησιμοποιεί περισσότερη μπαταρία"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Χρήση κλήσεων SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Χρήση κλήσεων SIP (μόνο Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Για όλες τις κλήσεις όταν το δίκτυο δεδομένων είναι διαθέσιμο"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Μόνο για κλήσεις διαδικτύου"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Ερώτηση για κάθε κλήση"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Μόνο για κλήσεις SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Για όλες τις κλήσεις"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Πραγματοποίηση κλήσης"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Χρήση λογαριασμού κλήσης διαδικτύου:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Να χρησιμοποιείται πάντα για την πραγματοποίηση κλήσεων"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Μπορείτε να καθορίσετε ποιος λογαριασμός κλήσεων διαδικτύου θα χρησιμοποιείται από προεπιλογή, από τις επιλογές Τηλέφωνο &gt; Ρυθμίσεις &gt; Ρυθμίσεις κλήσεων διαδικτύου &gt; Οθόνη λογαριασμών."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Κλήση από κινητό τηλέφωνο"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Κλήση διαδικτύου"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Δεν υπάρχει λογαριασμός κλήσης διαδικτύου"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Δεν υπάρχουν λογαριασμοί κλήσεων διαδικτύου σε αυτό το τηλέφωνο. Θέλετε να προσθέσετε έναν τώρα;"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Προσθήκη"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Προσθήκη λογαριασμού"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Κατάργηση λογαριασμού"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Λογαριασμοί SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Κλείσιμο του προφίλ"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ΟΚ"</string>
     <string name="close_profile" msgid="3122414058856309881">"Κλείσιμο"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Κύριος λογαριασμός. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Έλεγχος κατάστασης…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Γίνεται εγγραφή…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Γίνεται ακόμη προσπάθεια…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Αριθμός θύρας"</string>
     <string name="transport_title" msgid="889155457465372527">"Τύπος μεταφοράς"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Αποστολή μηνυμάτων \"keep-alive\""</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Ορισμός ως κύριος λογαριασμός"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Χρησιμοποιείται για εξερχόμενες κλήσεις"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Προαιρετικές ρυθμίσεις"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Όνομα χρήστη ελέγχου ταυτότητας"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Όνομα χρήστη που χρησιμοποιείται για έλεγχο ταυτότητας"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▷ Αγγίξτε για απόκρυψη όλων"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Το πεδίο <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> είναι υποχρεωτικό και δεν μπορεί να είναι κενό."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Ο αριθμός της θύρας θα πρέπει να είναι μεταξύ 1000 και 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Χωρίς σύνδεση στο διαδίκτυο"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Δεν υπάρχει σύνδεση Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Για να πραγματοποιήσετε μια κλήση διαδικτύου, ελέγξτε πρώτα τη σύνδεσή σας στο διαδίκτυο."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Για τις κλήσεις διαδικτύου πρέπει να είστε συνδεδεμένοι σε δίκτυο Wi-Fi (χρησιμοποιήστε το Ασύρματο και τις Ρυθμίσεις δικτύου)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"Μη υποστηριζόμενες κλήσεις διαδικτύου"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Για να πραγματοποιήσετε μια κλήση SIP, ελέγξτε πρώτα τη σύνδεση διαδικτύου."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Για να πραγματοποιήσετε κλήσεις SIP, θα πρέπει να συνδεθείτε σε δίκτυο Wi-Fi (χρησιμοποιήστε τις ρυθμίσεις Ασύρματο &amp; δίκτυο)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Οι κλήσεις SIP δεν υποστηρίζονται"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Αυτόματα"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Να γίνεται πάντα αποστολή"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Ενσωματωμένες κλήσεις διαδικτύου"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Ενσωματωμένη υπηρεσία κλήσεων SIP"</string>
 </resources>
diff --git a/sip/res/values-en-rAU/strings.xml b/sip/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..2b8c14a
--- /dev/null
+++ b/sip/res/values-en-rAU/strings.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="sip_settings" msgid="3768482698061677257">"SIP settings"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP accounts"</string>
+    <string name="sip_accounts_title" msgid="2082527045326874519">"Accounts"</string>
+    <string name="sip_receive_calls" msgid="426678617137462173">"Receive incoming calls"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Uses more battery life"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Use SIP calling"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Use SIP calling (Wi-Fi only)"</string>
+    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"For all calls when data network is available"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Only for SIP calls"</string>
+    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"For all calls"</string>
+    <string name="add_sip_account" msgid="800843669753980091">"Add account"</string>
+    <string name="remove_sip_account" msgid="1367664438506503690">"Remove account"</string>
+    <string name="sip_account_list" msgid="5610858485304821480">"SIP accounts"</string>
+    <string name="saving_account" msgid="5336529880235177448">"Saving the account…"</string>
+    <string name="removing_account" msgid="5537351356808985756">"Removing the account…"</string>
+    <string name="sip_menu_save" msgid="7882219814563869225">"Save"</string>
+    <string name="sip_menu_discard" msgid="2350421645423888438">"Discard"</string>
+    <string name="alert_dialog_close" msgid="1326011828713435134">"Close the profile"</string>
+    <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
+    <string name="close_profile" msgid="3122414058856309881">"Close"</string>
+    <string name="registration_status_checking_status" msgid="6136793741862200337">"Checking status..."</string>
+    <string name="registration_status_registering" msgid="2677183977796278749">"Registering…"</string>
+    <string name="registration_status_still_trying" msgid="7648151061205513458">"Still trying…"</string>
+    <string name="registration_status_not_receiving" msgid="7620333886153361090">"Not receiving calls."</string>
+    <string name="registration_status_no_data" msgid="2541999976218192413">"Account registration stopped because there is no Internet connection."</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Account registration stopped because there is no Wi-Fi connection."</string>
+    <string name="registration_status_not_running" msgid="514205414303796800">"Account registration unsuccessful."</string>
+    <string name="registration_status_done" msgid="3264961069247314253">"Receiving calls."</string>
+    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"Account registration unsuccessful: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); will try later"</string>
+    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Account registration unsuccessful: Incorrect username or password."</string>
+    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Account registration unsuccessful: Check the server name."</string>
+    <string name="third_party_account_summary" msgid="9041060473615403041">"This account is currently in use by the <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> app."</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP account details"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP account details"</string>
+    <string name="domain_address_title" msgid="1968479941328225423">"Server"</string>
+    <string name="username_title" msgid="6770064611005663470">"Username"</string>
+    <string name="password_title" msgid="5289013731515564295">"Password"</string>
+    <string name="display_name_title" msgid="579241787583079773">"Display name"</string>
+    <string name="proxy_address_title" msgid="6890163365640631841">"Outbound proxy address"</string>
+    <string name="port_title" msgid="6693965912656593862">"Port number"</string>
+    <string name="transport_title" msgid="889155457465372527">"Transport type"</string>
+    <string name="send_keepalive_title" msgid="599627072150501159">"Send keep-alive"</string>
+    <string name="advanced_settings" msgid="6622996380747040711">"Optional settings"</string>
+    <string name="auth_username_title" msgid="8262491689004708265">"Authentication username"</string>
+    <string name="auth_username_summary" msgid="941160241371436473">"Username used for authentication"</string>
+    <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Not set&gt;"</string>
+    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Same as username&gt;"</string>
+    <string name="optional_summary" msgid="2363105560396317624">"&lt;Optional&gt;"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Touch to show all"</string>
+    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Touch to hide all"</string>
+    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
+    <string name="not_a_valid_port" msgid="7931422555587011830">"Port number should be within 1000 and 65534."</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"To place a SIP call, check your Internet connection first."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP calling not supported"</string>
+    <string name="sip_system_decide" msgid="5577696249416700671">"Automatic"</string>
+    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Always send"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Built-in SIP calling"</string>
+</resources>
diff --git a/sip/res/values-en-rGB/strings.xml b/sip/res/values-en-rGB/strings.xml
index 5839a13..2b8c14a 100644
--- a/sip/res/values-en-rGB/strings.xml
+++ b/sip/res/values-en-rGB/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internet call settings"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internet calling (SIP) accounts"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP settings"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP accounts"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Accounts"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Receive incoming calls"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduces battery life"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Use Internet calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Use Internet calling (Wi-Fi only)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Uses more battery life"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Use SIP calling"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Use SIP calling (Wi-Fi only)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"For all calls when data network is available"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Only for Internet calls"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Ask for each call"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Only for SIP calls"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"For all calls"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Place call"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Use Internet calling account:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Always use to place Internet calls"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"You can change which Internet calling account to use by default from the Phone &gt; Settings &gt; Internet call settings &gt; Accounts screen."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobile phone call"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internet call"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"No Internet calling account"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"There are no Internet calling accounts on this phone. Do you want to add one now?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Add"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Add account"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Remove account"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP accounts"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Close the profile"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Close"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primary account. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Checking status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registering…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Still trying…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Port number"</string>
     <string name="transport_title" msgid="889155457465372527">"Transport type"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Send keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Set as primary account"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Used for outbound calls"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Optional settings"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Authentication username"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Username used for authentication"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Touch to hide all"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Port number should be within 1000 and 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"No Internet connection"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"No Wi-Fi connection"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"To make an Internet call, check your Internet connection first."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"You need to be connected to a Wi-Fi network for Internet calls (use the Wireless &amp; Network settings)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internet calling not supported"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"To place a SIP call, check your Internet connection first."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP calling not supported"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatic"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Always send"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Built-in Internet calling"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Built-in SIP calling"</string>
 </resources>
diff --git a/sip/res/values-en-rIN/strings.xml b/sip/res/values-en-rIN/strings.xml
index 5839a13..2b8c14a 100644
--- a/sip/res/values-en-rIN/strings.xml
+++ b/sip/res/values-en-rIN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internet call settings"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internet calling (SIP) accounts"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP settings"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP accounts"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Accounts"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Receive incoming calls"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduces battery life"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Use Internet calling"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Use Internet calling (Wi-Fi only)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Uses more battery life"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Use SIP calling"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Use SIP calling (Wi-Fi only)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"For all calls when data network is available"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Only for Internet calls"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Ask for each call"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Only for SIP calls"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"For all calls"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Place call"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Use Internet calling account:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Always use to place Internet calls"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"You can change which Internet calling account to use by default from the Phone &gt; Settings &gt; Internet call settings &gt; Accounts screen."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobile phone call"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internet call"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"No Internet calling account"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"There are no Internet calling accounts on this phone. Do you want to add one now?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Add"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Add account"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Remove account"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP accounts"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Close the profile"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Close"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primary account. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Checking status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registering…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Still trying…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Port number"</string>
     <string name="transport_title" msgid="889155457465372527">"Transport type"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Send keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Set as primary account"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Used for outbound calls"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Optional settings"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Authentication username"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Username used for authentication"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Touch to hide all"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is required and can\'t be left blank."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Port number should be within 1000 and 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"No Internet connection"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"No Wi-Fi connection"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"To make an Internet call, check your Internet connection first."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"You need to be connected to a Wi-Fi network for Internet calls (use the Wireless &amp; Network settings)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internet calling not supported"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"To place a SIP call, check your Internet connection first."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"You need to be connected to a Wi-Fi network for SIP calls (use the Wireless &amp; Network settings)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP calling not supported"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatic"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Always send"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Built-in Internet calling"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Built-in SIP calling"</string>
 </resources>
diff --git a/sip/res/values-es-rUS/strings.xml b/sip/res/values-es-rUS/strings.xml
index a667bc2..8da8d43 100644
--- a/sip/res/values-es-rUS/strings.xml
+++ b/sip/res/values-es-rUS/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Configuración de llamadas por Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Cuentas para llamadas por Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Configuración de SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Cuentas SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Cuentas"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Recibir llamadas entrantes"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduce la vida útil de la batería."</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Usar la llamada por Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Usar la llamada por Internet (solo Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Utiliza más batería"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Utilizar llamadas SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Utilizar llamadas SIP (solo Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para todas las llamadas cuando la red de datos esté disponible"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Sólo para llamadas por Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Preguntar para cada llamada"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Solo para llamadas SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Para todas las llamadas"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Realizar una llamada"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Usa la cuenta de llamadas por Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Usar siempre para realizar llamadas por Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Para cambiar la cuenta de llamadas por Internet predeterminada, ve a Teléfono &gt; Configuración &gt; Configuración de llamadas de Internet &gt; Cuentas."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Llamada de teléfono celular"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Llamada por Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Sin cuenta de llamadas por Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"No se encuentran cuentas de llamadas por Internet en este teléfono. ¿Deseas agregar una ahora?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Agregar"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Agregar cuenta"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Eliminar cuenta"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Cuentas SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Cerrar el perfil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Aceptar"</string>
     <string name="close_profile" msgid="3122414058856309881">"Cerrar"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Cuenta principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Comprobando el estado…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrando…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Intento en curso…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Número de puerto"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipo de transporte"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Enviar mantenimiento de conexión"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Definir como cuenta principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Se utiliza para llamadas salientes."</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Configuración opcional"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nombre de usuario de autenticación"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nombre de usuario utilizado para autenticación"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tocar para ocultar todo"</string>
     <string name="empty_alert" msgid="6659484914371384024">"El campo <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> es obligatorio y no puede quedar en blanco."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"El número de puerto debe estar dentro de 1000 y 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"No hay conexión a Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"No hay conexión Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Para realizar una llamada por Internet, primero verifica tu conexión a Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"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)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"No se admiten llamadas por Internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Para realizar una llamada SIP, primero comprueba que tienes conexión a Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Tienes que estar conectado a una red Wi-Fi para las llamadas SIP (utilizar la configuración de redes inalámbricas)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Llamada SIP no compatible"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automático"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Enviar siempre"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Llamadas por Internet integradas"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Llamadas SIP integradas"</string>
 </resources>
diff --git a/sip/res/values-es/strings.xml b/sip/res/values-es/strings.xml
index 5a535f5..73deae6 100644
--- a/sip/res/values-es/strings.xml
+++ b/sip/res/values-es/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Ajustes de llamada por Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Cuentas (SIP) de llamadas por Internet"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Ajustes de SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Cuentas SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Cuentas"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Recibir llamadas"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduce la duración de la batería"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Llamadas por Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Llamadas por Internet (Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Consume más batería"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Usar llamadas SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Usar llamadas SIP (solo con Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para todas las llamadas cuando haya redes de datos disponibles"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Solo para llamadas por Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"En cada llamada"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Solo para llamadas SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"En todas las llamadas"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Hacer llamada"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Usar cuenta de llamada por Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Usar siempre para realizar llamadas de Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Para cambiar la cuenta de llamadas por Internet que quieres usar de forma predeterminada, accede a Teléfono &gt; Ajustes &gt; Ajustes de llamada por Internet &gt; Cuentas."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Llamada de teléfono móvil"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Llamada por Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Sin cuentas de llamada por Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"No hay cuentas de llamadas por Internet en este teléfono. ¿Quieres añadir una cuenta ahora?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Añadir"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Añadir cuenta"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Eliminar cuenta"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Cuentas SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Cerrar el perfil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Aceptar"</string>
     <string name="close_profile" msgid="3122414058856309881">"Cerrar"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Cuenta principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Comprobando estado..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrando..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Seguimos intentándolo..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Número de puerto"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipo de transporte"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Enviar mensajes de mantenimiento de la conexión"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Establecer como cuenta principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Se utiliza para llamadas salientes"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Ajustes opcionales"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nombre de usuario de autenticación"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nombre de usuario utilizado para la autenticación"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tocar para ocultar todo"</string>
     <string name="empty_alert" msgid="6659484914371384024">"El campo <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> es obligatorio y no se puede dejar en blanco."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"El número de puerto debe estar comprendido entre 1.000 y 65.534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Sin conexión a Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Sin conexión Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Para hacer una llamada por Internet, comprueba tu conexión a Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Para hacer llamadas por Internet, debes estar conectado a una red Wi-Fi (usa la opción Conexiones inalámbricas y redes)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"No se admiten llamadas por Internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Antes de realizar una llamada SIP, comprueba tu conexión a Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Debes estar conectado a una red Wi-Fi para realizar llamadas SIP (usa la opción de conexiones y redes inalámbricas)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Llamada SIP no admitida"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automático"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Enviar siempre"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Llamadas por Internet integradas"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Llamadas SIP integradas"</string>
 </resources>
diff --git a/sip/res/values-et-rEE/strings.xml b/sip/res/values-et-rEE/strings.xml
index bce0282..cc14644 100644
--- a/sip/res/values-et-rEE/strings.xml
+++ b/sip/res/values-et-rEE/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Interneti-kõne seaded"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Interneti-kõne (SIP) kontod"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-i seaded"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-kontod"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Kontod"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Võta vastu sissetulevad kõned"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Vähendab aku kestvust"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Interneti-kõne kasutamine"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Interneti-kõne kasutamine (ainult WiFi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Kasutab rohkem akut"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP-kõnede tegemine"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP-kõnede tegemine (ainult WiFi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Kõikide kõnede puhul, kui andmesidevõrk on saadaval"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Ainult Interneti-kõnede jaoks"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Küsi iga kõne puhul"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Ainult SIP-kõnede tegemiseks"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Kõikide kõnede jaoks"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Kõne valimine"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Interneti-kõne konto kasutamine:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Kasuta alati Interneti-kõnede tegemiseks"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Vaikimisi kasutatava Interneti-kõne konto muutmiseks tehke järgmised valikud: Telefon &gt; Seaded &gt; Interneti-kõne seaded &gt; Kontod."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobiiltelefonikõne"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Interneti-kõne"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Interneti-kõnede kontot ei ole"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Selles telefonis pole ühtegi Interneti-kõne kontot. Kas soovite praegu ühe lisada?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Lisa"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Lisa konto"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Eemalda konto"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-kontod"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Profiili sulgemine"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Sule"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Peamine konto. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Oleku kontrollimine ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registreerimine ..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Registreerimine jätkub ..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Pordi number"</string>
     <string name="transport_title" msgid="889155457465372527">"Protokolli tüüp"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Saada ühenduse hoidmise eelistused"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Määra peamiseks kontoks"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Kasutatakse väljuvate kõnede jaoks"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Valikulised seaded"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Autentimise kasutajanimi"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Autentimiseks kasutatav kasutajanimi"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Puudutage kõige peitmiseks"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Väli <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> on kohustuslik, seda ei saa tühjaks jätta."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Pordi number peab jääma vahemikku 1000 kuni 65 534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Interneti-ühenduseta"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"WiFi-ühendust ei ole"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Interneti-kõne tegemiseks kontrollige esmalt Interneti-ühendust."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Interneti-kõnede jaoks peate olema ühendatud WiFi-võrguga (kasutage traadita ühenduse ja võrgu seadeid)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"Interneti-kõnesid ei toetata"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP-kõne tegemiseks kontrollige esmalt Interneti-ühendust."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP-kõnede tegemiseks peate olema ühendatud WiFi-võrku (kasutage juhtmeta seadeid ja võrgustikuseadeid)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-kõnede tegemist ei toetata"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automaatne"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Saada alati"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Sisseehitatud Interneti-kõne funktsioonid"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Sisseehitatud SIP-kõnede tegemine"</string>
 </resources>
diff --git a/sip/res/values-eu-rES/strings.xml b/sip/res/values-eu-rES/strings.xml
index 3607460..c62a29f 100644
--- a/sip/res/values-eu-rES/strings.xml
+++ b/sip/res/values-eu-rES/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internet bidezko deien ezarpenak"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internet bidez deitzeko (SIP) kontuak"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ezarpenak"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP kontuak"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Kontuak"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Jaso sarrerako deiak"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Bateriaren iraupena murrizten du"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Erabili Internet bidezko deiak"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Erabili Internet bidezko deiak (Wi-Fi soilik)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Bateria gehiago erabiltzen du"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Erabili SIP deiak"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Erabili SIP deiak (Wi-Fi bidez soilik)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Dei guztietan datu-sarea erabilgarri dagoenean"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Internet bidezko deietan soilik"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Galdetu deitzen den bakoitzean"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP deietarako soilik"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Dei guztietan"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Egin deia"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Erabili Internet bidez deitzeko kontua:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Erabili beti Internet bidezko deiak egiteko"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Internet bidezko deiak egiteko kontu lehenetsia alda dezakezu Telefonoa &gt; Ezarpenak &gt; Internet bidezko deien ezarpenak &gt; Kontuak atalean."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Telefono mugikorra"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internet bidezko deia"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ez dago Internet bidez deitzeko konturik"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Ez dago Internet bidez deitzeko konturik telefono honetan. Kontu bat gehitu nahi duzu?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Gehitu"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Gehitu kontua"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Kendu kontua"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP kontuak"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Itxi profila"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Ados"</string>
     <string name="close_profile" msgid="3122414058856309881">"Itxi"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Kontu nagusia. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Egoera egiaztatzen…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Erregistratzen…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Oraindik saiatzen…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Ataka-zenbakia"</string>
     <string name="transport_title" msgid="889155457465372527">"Garraio mota"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Bidali konexioa mantentzeko mezua"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Ezarri kontu nagusi gisa"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Irteerako deiak egiteko erabiltzen da"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Aukerako ezarpenak"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Autentifikatzeko erabiltzaile-izena"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Autentifikatzeko erabili den erabiltzaile-izena"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Guztiak ezkutatzeko, ukitu"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> beharrezkoa da eta ezin da hutsik utzi."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Ataka-zenbakiak 1000 eta 65534 artean egon behar luke."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Ez duzu Interneteko konexiorik"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Ez dago Wi-Fi konexiorik"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Internet bidezko deiak egin aurretik, Interneteko konexioa egiaztatu behar duzu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Internet bidezko deiak egiteko, Wi-Fi sare batera konektatuta egon behar duzu (erabili Hari gabekoak eta sarea ataleko ezarpenak)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Ez dira Internet bidezko deiak onartzen"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP deiak egiteko, egiaztatu Interneteko konexioa."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Wi-Fi sare batera konektatuta egon behar zara SIP deiak egiteko (erabili hari gabekoen eta sareen ezarpenak)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP deiak ez dira onartzen"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatikoa"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Bidali beti"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Internet bidezko dei bateratuak"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"SIP dei integratuak"</string>
 </resources>
diff --git a/sip/res/values-fa/strings.xml b/sip/res/values-fa/strings.xml
index 3921ab8..00c5414 100644
--- a/sip/res/values-fa/strings.xml
+++ b/sip/res/values-fa/strings.xml
@@ -16,28 +16,18 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"تنظیمات تماس اینترنتی"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"‏حساب‌های تماس اینترنتی (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"‏تنظیمات SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"‏حساب‌های SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"حساب‌ها"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"دریافت تماس‌های ورودی"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"عمر باتری را کاهش می‌دهد"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"استفاده از تماس اینترنتی"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"‏استفاده از تماس اینترنتی (فقط Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"از نیروی باتری بیشتری استفاده می‌کند"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"‏استفاده از تماس SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"‏استفاده از تماس SIP (فقط Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"برای همه تماس‌ها وقتی شبکه داده در دسترس است"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"فقط برای تماس‌های اینترنتی"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"برای هر تماس سؤال شود"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"‏فقط برای تماس‌های SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"برای همه تماس‌ها"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"برقرار کردن تماس"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"استفاده از حساب تماس اینترنتی:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"همیشه برای برقراری تماس‌های اینترنتی استفاده شود"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"‏می‌توانید با رفتن به تلفن &gt; تنظیمات &gt; تنظیمات تماس اینترنتی &gt; صفحه حساب‌ها، حساب تماس اینترنتی را که می‌خواهید به صورت پیش‌فرض استفاده شود تغییر دهید."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"تماس با تلفن همراه"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"تماس اینترنتی"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"حساب تماس اینترنتی وجود ندارد"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"بر روی این تلفن حساب‌های تماس اینترنتی وجود ندارد. آیا می‌خواهید اکنون یک حساب اضافه کنید؟"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"افزودن"</string>
     <string name="add_sip_account" msgid="800843669753980091">"افزودن حساب"</string>
-    <string name="remove_sip_account" msgid="1367664438506503690">"حذف حساب"</string>
+    <string name="remove_sip_account" msgid="1367664438506503690">"حذف کردن حساب"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"‏حساب‌های SIP"</string>
     <string name="saving_account" msgid="5336529880235177448">"در حال ذخیره حساب..."</string>
     <string name="removing_account" msgid="5537351356808985756">"در حال حذف حساب..."</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"بستن نمایه"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"تأیید"</string>
     <string name="close_profile" msgid="3122414058856309881">"بستن"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"حساب اصلی. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"در حال بررسی وضعیت..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"در حال ثبت..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"هنوز در حال تلاش..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"شماره درگاه"</string>
     <string name="transport_title" msgid="889155457465372527">"نوع حمل و نقل"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"ارسال حفظ اتصال"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"تنظیم به‌عنوان حساب اصلی"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"برای تماس‌های خارج از محدوده استفاده شد"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"تنظیمات اختیاری"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"نام کاربری برای احراز هویت"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"نام کاربری مورد استفاده برای احراز هویت"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ جهت پنهان کردن همه لمس کنید"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ضروری است و نباید خالی بماند."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"شماره درگاه باید بین ۱۰۰۰ و ۶۵۵۳۴ باشد."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"اتصال اینترنت موجود نیست"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"‏اتصال Wi-Fi وجود ندارد"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"برای برقراری تماس اینترنتی، ابتدا اتصال اینترنت خودتان را بررسی کنید."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"‏برای تماس‌های اینترنتی باید به یک شبکه Wi-Fi وصل باشید (از تنظیمات بی‌سیم و شبکه استفاده کنید)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"تماس اینترنتی پشتیبانی نمی‌شود"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"‏برای برقراری تماس SIP، ابتدا اتصال اینترنتتان را بررسی کنید."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"‏برای برقراری تماس‌های SIP باید به شبکه Wi-Fi متصل باشید (از تنظیمات بی‌سیم و شبکه استفاده کنید)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"‏تماس SIP پشتیبانی نمی‌شود"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"خودکار"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"همیشه ارسال شود"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"تماس اینترنتی داخلی"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"‏تماس SIP درونی"</string>
 </resources>
diff --git a/sip/res/values-fi/strings.xml b/sip/res/values-fi/strings.xml
index 4341259..dd0b69a 100644
--- a/sip/res/values-fi/strings.xml
+++ b/sip/res/values-fi/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internetpuheluiden asetukset"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internetpuhelutilit (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-asetukset"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-tilit"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Tilit"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Vastaanota saapuvia puheluita"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Vähentää akun kestoa"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Käytä internetpuheluita"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Käytä internetpuheluita (vain Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Käyttää enemmän akkua"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Käytä SIP-puheluita"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Käytä SIP-puheluita (vain Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Kaikki puhelut, kun verkko on käytettävissä"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Vain internetpuhelut"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Kysy aina"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Vain SIP-puhelut"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Kaikki puhelut"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Soita puhelu"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Käytä seuraavaa internetpuhelutiliä:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Käytä aina internetpuheluille"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Voit vaihtaa oletusarvoisesti käytettävän internetpuhelutilin valitsemalla Puhelin &gt; Asetukset &gt; Internetpuheluasetukset &gt; Tilit."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Matkapuhelimen puhelu"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetpuhelu"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ei internetpuhelutiliä"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Tällä puhelimella ei ole internetpuhelutilejä. Haluatko lisätä tilin nyt?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Lisää"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Lisää tili"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Poista tili"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-tilit"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Sulje profiili"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Sulje"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Ensisijainen tili. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Tarkistetaan tilaa…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Rekisteröidään…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Yritetään edelleen…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Porttinumero"</string>
     <string name="transport_title" msgid="889155457465372527">"Siirtotyyppi"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Lähetä tarkistusviesti"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Aseta ensisijaiseksi tiliksi"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Käytössä lähteville puheluille"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Lisäasetukset"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Todennuksessa käytettävä käyttäjänimi"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Käyttäjänimeä käytetään todennukseen"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Piilota kaikki koskettamalla"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> on pakollinen, joten se ei voi olla tyhjä."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Porttinumeron tulee olla 1 000 – 65 534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Ei internetyhteyttä"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Ei Wi-Fi-yhteyttä"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Tarkista internetyhteys ennen internetpuhelun soittamista."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Sinulla täytyy olla yhteys Wi-Fi-verkkoon, jotta voit soittaa internetpuheluita (käytä Langaton verkko ja verkot -asetuksia)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetpuheluita ei tueta"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Jos haluat soittaa SIP-puhelun, tarkista ensin internetyhteytesi."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Sinun on oltava yhteydessä Wi-Fi-verkkoon, jotta voit soittaa SIP-puheluita (vaihda asetus Langaton verkko- ja verkkoasetuksissa)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-puheluita ei tueta"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automaattinen"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Lähetä aina"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Internetpuheluiden SIP-yhteys"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Sisäänrakennetut SIP-puhelut"</string>
 </resources>
diff --git a/sip/res/values-fr-rCA/strings.xml b/sip/res/values-fr-rCA/strings.xml
index 30eebfa..ea210ec 100644
--- a/sip/res/values-fr-rCA/strings.xml
+++ b/sip/res/values-fr-rCA/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Paramètres d\'appel Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Comptes d\'appels Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Paramètres SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Comptes SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Comptes"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Recevoir les appels"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Réduit l\'autonomie de la pile"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Utiliser la téléphonie Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Utiliser la téléphonie Internet (Wi-Fi uniquement)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Consomme davantage d\'énergie"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Utiliser les appels SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Utiliser les appels SIP (Wi-Fi seulement)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Pour tous les appels lorsqu\'un réseau de données est accessible"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Uniquement pour les appels Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Demander chaque fois"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Uniquement pour les appels SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Pour tous les appels"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Appeler"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Utiliser un compte de téléphonie par Internet :"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Toujours utiliser pour les appels Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Vous pouvez changer le compte à utiliser par défaut pour les appels Internet à l\'écran Téléphone &gt; Paramètres &gt; Paramètres d\'appel Internet &gt; Comptes."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Appel par téléphone cellulaire"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Appel Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Aucun compte d\'appel Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Aucun compte d\'appels Internet sur ce téléphone. Voulez-vous en ajouter un maintenant?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Ajouter"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Ajouter un compte"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Supprimer le compte"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Comptes SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Fermer le profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Fermer"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Compte principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Vérification de l\'état en cours..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Enregistrement en cours…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Tentative en cours…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Numéro de port"</string>
     <string name="transport_title" msgid="889155457465372527">"Type de transport"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Envoyer un message keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Définir comme compte principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilisé pour les appels sortants"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Paramètres facultatifs"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nom d\'utilisateur d\'authentification"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nom d\'utilisateur utilisé pour l\'authentification"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"Touchez ▽ pour tout masquer"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Le champ « <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> » est obligatoire. Veuillez le remplir."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Le numéro de port doit être compris entre 1000 et 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Aucune connexion Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Aucune connexion Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Pour effectuer un appel Internet, vérifiez tout d\'abord la connexion Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Les appels Internet nécessitent une connexion Wi-Fi pouvant être activée dans les paramètres « Sans fil et réseaux »."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Appels Internet non acceptés"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Pour faire un appel SIP, veuillez d\'abord vérifier votre connexion Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Vous devez être connecté à un réseau Wi-Fi pour faire des appels SIP (utilisez les paramètres « Sans fil et réseaux »)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Les appels SIP ne sont pas acceptés."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatique"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Toujours envoyer"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Fonctionnalité d\'appel par Internet intégrée"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Appels SIP intégrés"</string>
 </resources>
diff --git a/sip/res/values-fr/strings.xml b/sip/res/values-fr/strings.xml
index b01818e..1007751 100644
--- a/sip/res/values-fr/strings.xml
+++ b/sip/res/values-fr/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Paramètres d\'appel Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Comptes d\'appels Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Paramètres SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Comptes SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Comptes"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Recevoir les appels"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Réduit la durée de vie de la batterie"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Passer des appels Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Passer des appels Internet (Wi-Fi uniquement)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Consomme davantage de batterie"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Utiliser les appels SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Utiliser les appels SIP (Wi-Fi seulement)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Pour tous les appels lorsqu\'un réseau de données est disponible"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Seulement pour les appels Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Demander à chaque fois"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Pour les appels SIP seulement"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Pour tous les appels"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Passer un appel"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Utiliser un compte de téléphonie par Internet :"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Utiliser systématiquement pour passer des appels Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Vous pouvez changer le compte à utiliser par défaut pour les appels Internet depuis l\'écran Téléphone &gt; Paramètres &gt; Paramètres d\'appel Internet &gt; Comptes."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Appel de mobile"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Appel Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Aucun compte de téléphonie par Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Aucun compte d\'appels Internet sur ce téléphone. Voulez-vous en ajouter un maintenant ?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Ajouter"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Ajouter un compte"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Supprimer le compte"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Comptes SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Fermer le profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Fermer"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Compte principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Vérification de l\'état en cours..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Enregistrement en cours…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Tentative en cours…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Numéro de port"</string>
     <string name="transport_title" msgid="889155457465372527">"Type de transport"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Envoyer un keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Définir comme compte principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilisé pour les appels sortants"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Paramètres facultatifs"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nom d\'utilisateur d\'authentification"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nom d\'utilisateur utilisé pour l\'authentification"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Appuyer ici pour tout masquer"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Le champ \"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>\" est obligatoire. Veuillez le renseigner."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Le numéro de port doit être compris entre 1000 et 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Aucune connexion Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Aucune connexion Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Pour effectuer un appel Internet, vérifiez tout d\'abord la connexion Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Les appels Internet nécessitent une connexion Wi-Fi pouvant être activée dans les paramètres \"Sans fil et réseaux\"."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Appels Internet non acceptés"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Pour passer un appel SIP, veuillez d\'abord vérifier votre connexion Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Vous devez être connecté à un réseau Wi-Fi pour passer des appels SIP (utilisez les paramètres \"Sans fil et réseaux\")."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Les appels SIP ne sont pas acceptés."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatique"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Toujours envoyer"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Fonctionnalité d\'appel Internet intégrée"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Appels SIP intégrés"</string>
 </resources>
diff --git a/sip/res/values-gl-rES/strings.xml b/sip/res/values-gl-rES/strings.xml
index 2b0f0a2..5a2c4ed 100644
--- a/sip/res/values-gl-rES/strings.xml
+++ b/sip/res/values-gl-rES/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Configuración de chamadas por Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Contas de chamadas por Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Configuración SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Contas SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Contas"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Recibir chamadas entrantes"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduce a duración da batería"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Usar chamadas por Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Utilizar chamadas por Internet (só wifi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Consume máis batería"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Utilizar chamadas SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Utilizar chamadas SIP (só coa wifi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para todas as chamadas cando a rede de datos está dispoñible"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Só para chamadas de Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Preguntar para cada chamada"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Só para chamadas SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Para todas as chamadas"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Facer chamada"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Utilizar conta para chamadas por Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Utilizar sempre para realizar chamadas por Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Podes cambiar a conta de chamadas por Internet que queres usar de forma predeterminada na pantalla Teléfono &gt; Configuración &gt; Configuración de chamadas por Internet &gt; Contas."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Chamada de teléfono móbil"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Chamada por Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ningunha conta de chamadas por Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Non hai contas de chamadas por Internet neste teléfono. Queres engadir unha agora?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Engadir"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Engadir conta"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Eliminar conta"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Contas SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Pechar o perfil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Aceptar"</string>
     <string name="close_profile" msgid="3122414058856309881">"Pechar"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Conta principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Comprobando o estado..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Rexistrando..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Aínda se está tentando..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Número de porto"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipo de transporte"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Enviar sinal conexión"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Establecer como conta principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilizado para chamadas saíntes"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Configuración opcional"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nome de usuario da autenticación"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nome de usuario utilizado para a autenticación"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Toca aquí para ocultar todo"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> é obrigatorio e non se pode deixar en branco."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"O número do porto debe estar comprendido entre o 1000 e o 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Sen conexión a Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Sen conexión wifi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Para facer unha chamada por Internet, primeiro comproba a túa conexión a Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Tes que estar conectado a unha rede wifi para facer chamadas por Internet (utiliza a configuración de Sen fíos e Rede)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Chamadas por Internet non compatibles"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Para realizar unha chamada SIP, primeiro debes comprobar a túa conexión de Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Tes que estar conectado a unha rede wifi para facer chamadas SIP (utiliza a configuración de Sen fíos e rede)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"As chamadas SIP non son compatibles"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automático"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Enviar sempre"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Chamadas por Internet integradas"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Chamadas SIP integradas"</string>
 </resources>
diff --git a/sip/res/values-gu-rIN/strings.xml b/sip/res/values-gu-rIN/strings.xml
new file mode 100644
index 0000000..f1a5bca
--- /dev/null
+++ b/sip/res/values-gu-rIN/strings.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="sip_settings" msgid="3768482698061677257">"SIP સેટિંગ્સ"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP એકાઉન્ટ્સ"</string>
+    <string name="sip_accounts_title" msgid="2082527045326874519">"એકાઉન્ટ્સ"</string>
+    <string name="sip_receive_calls" msgid="426678617137462173">"આવનારા કૉલ્સ પ્રાપ્ત કરો"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"બધુ બૅટરીની આવરદાનો ઉપયોગ કરે છે"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP કૉલિંગનો ઉપયોગ કરો"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP કૉલિંગનો ઉપયોગ કરો (ફક્ત Wi-Fi)"</string>
+    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"જ્યારે ડેટા નેટવર્ક ઉપલબ્ધ હોય ત્યારે બધા કૉલ્સ માટે"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"ફક્ત SIP કૉલ્સ માટે"</string>
+    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"બધા કૉલ્સ માટે"</string>
+    <string name="add_sip_account" msgid="800843669753980091">"એકાઉન્ટ ઉમેરો"</string>
+    <string name="remove_sip_account" msgid="1367664438506503690">"એકાઉન્ટ દૂર કરો"</string>
+    <string name="sip_account_list" msgid="5610858485304821480">"SIP એકાઉન્ટ્સ"</string>
+    <string name="saving_account" msgid="5336529880235177448">"એકાઉન્ટ સાચવી રહ્યાં છે…"</string>
+    <string name="removing_account" msgid="5537351356808985756">"એકાઉન્ટ દૂર કરી રહ્યાં છે…"</string>
+    <string name="sip_menu_save" msgid="7882219814563869225">"સાચવો"</string>
+    <string name="sip_menu_discard" msgid="2350421645423888438">"છોડી દો"</string>
+    <string name="alert_dialog_close" msgid="1326011828713435134">"પ્રોફાઇલ બંધ કરો"</string>
+    <string name="alert_dialog_ok" msgid="4752048404605388940">"ઑકે"</string>
+    <string name="close_profile" msgid="3122414058856309881">"બંધ કરો"</string>
+    <string name="registration_status_checking_status" msgid="6136793741862200337">"સ્થિતિ તપાસી રહ્યાં છે..."</string>
+    <string name="registration_status_registering" msgid="2677183977796278749">"નોંધણી કરી રહ્યાં છે…"</string>
+    <string name="registration_status_still_trying" msgid="7648151061205513458">"હજી પ્રયાસ કરી રહ્યાં છે..."</string>
+    <string name="registration_status_not_receiving" msgid="7620333886153361090">"કૉલ્સ પ્રાપ્ત કરી રહ્યાં નથી."</string>
+    <string name="registration_status_no_data" msgid="2541999976218192413">"કોઈ ઇન્ટરનેટ કનેક્શન ન હોવાને કારણે એકાઉન્ટની નોંધણી રોકી."</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"કોઈ Wi-Fi કનેક્શન ન હોવાને કારણે એકાઉન્ટની નોંધણી રોકી."</string>
+    <string name="registration_status_not_running" msgid="514205414303796800">"એકાઉન્ટની નોંધણી અસફળ."</string>
+    <string name="registration_status_done" msgid="3264961069247314253">"કૉલ્સ પ્રાપ્ત કરી રહ્યાં છે."</string>
+    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"એકાઉન્ટની નોંધણી અસફળ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); પછીથી પ્રયાસ કરીશું"</string>
+    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"એકાઉન્ટની નોંધણી અસફળ: ખોટું વપરાશકર્તાનામ અથવા પાસવર્ડ."</string>
+    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"એકાઉન્ટની નોંધણી અસફળ: સર્વરનું નામ તપાસો."</string>
+    <string name="third_party_account_summary" msgid="9041060473615403041">"આ એકાઉન્ટ હાલમાં <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> એપ્લિકેશન દ્વારા ઉપયોગમાં છે."</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP એકાઉન્ટ વિગતો"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP એકાઉન્ટ વિગતો"</string>
+    <string name="domain_address_title" msgid="1968479941328225423">"સર્વર"</string>
+    <string name="username_title" msgid="6770064611005663470">"વપરાશકર્તાનામ"</string>
+    <string name="password_title" msgid="5289013731515564295">"પાસવર્ડ"</string>
+    <string name="display_name_title" msgid="579241787583079773">"પ્રદર્શન નામ"</string>
+    <string name="proxy_address_title" msgid="6890163365640631841">"આઉટબાઉન્ડ પ્રોક્સી સરનામું"</string>
+    <string name="port_title" msgid="6693965912656593862">"પોર્ટ નંબર"</string>
+    <string name="transport_title" msgid="889155457465372527">"સંક્રમણ પ્રકાર"</string>
+    <string name="send_keepalive_title" msgid="599627072150501159">"જીવંત-રાખો મોકલો"</string>
+    <string name="advanced_settings" msgid="6622996380747040711">"વૈકલ્પિક સેટિંગ્સ"</string>
+    <string name="auth_username_title" msgid="8262491689004708265">"પ્રમાણીકરણ વપરાશકર્તાનામ"</string>
+    <string name="auth_username_summary" msgid="941160241371436473">"પ્રમાણીકરણ માટે ઉપયોગમાં લેવાયેલ વપરાશકર્તાનામ"</string>
+    <string name="default_preference_summary" msgid="1979249643719483249">"&lt;સેટ કરેલ નથી&gt;"</string>
+    <string name="display_name_summary" msgid="7155076491675565407">"&lt;વપરાશકર્તાનામના સમાન&gt;"</string>
+    <string name="optional_summary" msgid="2363105560396317624">"&lt;વૈકલ્પિક&gt;"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ બધુ દર્શાવવા માટે ટચ કરો"</string>
+    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ બધુ છુપાવવા માટે ટચ કરો"</string>
+    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> આવશ્યક છે અને ખાલી છોડી શકાતું નથી."</string>
+    <string name="not_a_valid_port" msgid="7931422555587011830">"પોર્ટ નંબર 1000 અને 65534 ની અંદરનો હોવો જોઈએ."</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP કૉલ કરવા માટે, પ્રથમ તમારું ઇન્ટરનેટ કનેક્શન તપાસો."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP કૉલ્સ માટે તમારે Wi-Fi નેટવર્કથી કનેક્ટ હોવું જરૂરી છે (વાયરલેસ અને નેટવર્ક સેટિંગ્સનો ઉપયોગ કરો)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP કૉલિંગ સમર્થિત નથી"</string>
+    <string name="sip_system_decide" msgid="5577696249416700671">"સ્વચલિત"</string>
+    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"હંમેશાં મોકલો"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"બિલ્ટ-ઇન SIP કૉલિંગ"</string>
+</resources>
diff --git a/sip/res/values-hi/strings.xml b/sip/res/values-hi/strings.xml
index c5834c3..fbf3fd2 100644
--- a/sip/res/values-hi/strings.xml
+++ b/sip/res/values-hi/strings.xml
@@ -16,46 +16,35 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"इंटरनेट कॉल सेटिंग"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"इंटरनेट कॉलिंग (SIP) खाते"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP सेटिंग"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP खाते"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"खाते"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"इनकमिंग कॉल प्राप्त करें"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"बैटरी का जीवनकाल कम करता है"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"इंटरनेट कॉलिंग का उपयोग करें"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"इंटरनेट कॉलिंग का उपयोग करें (केवल Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"अधिक बैटरी जीवन काल का उपयोग करती है"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP कॉलिंग का उपयोग करें"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP कॉलिंग का उपयोग करें (केवल वाई-फ़ाई)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"डेटा नेटवर्क उपलब्ध होने पर सभी कॉल के लिए"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"केवल इंटरनेट कॉल के लिए"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"प्रत्येक कॉल के लिए पूछें"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"केवल SIP कॉल के लिए"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"सभी कॉल के लिए"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"कॉल करें"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"इंटरनेट कॉलिंग खाते का उपयोग करें:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"हमेशा इंटरनेट कॉल करने के लिए उपयोग करें"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"आप यह बदल सकते हैं कि फ़ोन &gt; सेटिंग &gt; इंटरनेट कॉल सेटिंग &gt; खाता स्क्रीन से डिफ़ॉल्ट रूप से किस इंटरनेट कॉलिंग खाते का उपयोग करना है."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"सेल फ़ोन कॉल"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"इंटरनेट कॉल"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"कोई इंटरनेट कॉलिंग खाता नहीं"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"इस फ़ोन पर कोई इंटरनेट कॉलिंग खाता नहीं है. क्या आप अभी एक जोड़ना चाहते हैं?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"जोड़ें"</string>
     <string name="add_sip_account" msgid="800843669753980091">"खाता जोड़ें"</string>
-    <string name="remove_sip_account" msgid="1367664438506503690">"खाता निकालें"</string>
+    <string name="remove_sip_account" msgid="1367664438506503690">"खाता हटाएं"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP खाते"</string>
     <string name="saving_account" msgid="5336529880235177448">"खाता सहेज रहा है..."</string>
     <string name="removing_account" msgid="5537351356808985756">"खाता निकाल रहा है..."</string>
-    <string name="sip_menu_save" msgid="7882219814563869225">"सहेजें"</string>
+    <string name="sip_menu_save" msgid="7882219814563869225">"जोड़ें"</string>
     <string name="sip_menu_discard" msgid="2350421645423888438">"छोड़ें"</string>
     <string name="alert_dialog_close" msgid="1326011828713435134">"प्रोफ़ाइल बंद करें"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ठीक"</string>
     <string name="close_profile" msgid="3122414058856309881">"बंद करें"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"प्राथमिक खाता. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"स्थिति की जांच हो रही है..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"पंजीकरण जारी है..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"अब भी प्रयास कर रहा है..."</string>
     <string name="registration_status_not_receiving" msgid="7620333886153361090">"कॉल प्राप्त नहीं हो रहे हैं."</string>
     <string name="registration_status_no_data" msgid="2541999976218192413">"खाता पंजीकरण रुक गया क्योंकि कोई इंटरनेट कनेक्शन उपलब्ध नहीं है."</string>
-    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"कोई Wi-Fi कनेक्शन न होने के कारण खाता पंजीकरण रोका गया."</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"कोई वाई-फ़ाई  कनेक्शन न होने के कारण खाता पंजीकरण रोका गया."</string>
     <string name="registration_status_not_running" msgid="514205414303796800">"खाता पंजीकरण विफल."</string>
     <string name="registration_status_done" msgid="3264961069247314253">"कॉल प्राप्त हो रहे हैं"</string>
-    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"खाता पंजीकरण विफल: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); बाद में पुनः प्रयास करें"</string>
+    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"खाता पंजीकरण विफल: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); बाद में फिर से प्रयास करें"</string>
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"खाता पंजीकरण विफल: गलत उपयोगकर्ता नाम या पासवर्ड."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"खाता पंजीकरण विफल: सर्वर नाम जांचें."</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"वर्तमान में <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ऐप्स के द्वारा इस खाते का उपयोग किया जा रहा है."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"पोर्ट नंबर"</string>
     <string name="transport_title" msgid="889155457465372527">"परिवहन का प्रकार"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"कीप अलाइव भेजें"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"प्राथमिक खाते के रूप में सेट करें"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"आउटबाउंड कॉल के लिए उपयोग किया जाता है"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"वैकल्पिक सेटिंग"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"प्रमाणीकरण उपयोगकर्ता नाम"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"प्रमाणीकरण के लिए उपयोग होने वाला उपयोगकर्ता नाम"</string>
@@ -79,14 +66,12 @@
     <string name="optional_summary" msgid="2363105560396317624">"&lt;वैकल्पिक&gt;"</string>
     <string name="advanced_settings_show" msgid="7838761602853998622">"▷ सभी दिखाने के लिए स्पर्श करें"</string>
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ सभी छिपाने के लिए स्पर्श करें"</string>
-    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> आवश्यक है और इसे रिक्त नहीं छोड़ा जा सकता."</string>
+    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> आवश्यक है और इसे खाली नहीं छोड़ा जा सकता."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"पोर्ट नंबर 1000 और 65534 के बीच होना चाहिए."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"कोई इंटरनेट कनेक्शन नहीं"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"कोई Wi-Fi कनेक्शन नहीं"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"इंटरनेट कॉल करने के लिए, पहले अपने इंटरनेट कनेक्शन की जांच करें."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"इंटरनेट कॉल के लिए आपको Wi-Fi नेटवर्क से कनेक्ट होना आवश्यक है (वायरलेस और नेटवर्क सेटिंग का उपयोग करें)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"इंटरनेट कॉलिंग समर्थित नहीं है"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP कॉल करने के लिए, पहले अपना इंटरनेट कनेक्‍शन जांचें."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP कॉल के लिए आपको किसी वाई-फ़ाई नेटवर्क से कनेक्‍ट रहना होगा (वायरलेस और नेटवर्क सेटिंग का उपयोग करें)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP कॉलिंग समर्थित नहीं है"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"स्वचालित"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"हमेशा भेजें"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"अंतर्निहित इंटरनेट कॉल सुविधा"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"अंतर्निहित SIP कॉलिंग"</string>
 </resources>
diff --git a/sip/res/values-hr/strings.xml b/sip/res/values-hr/strings.xml
index b5e29b9..042cbae 100644
--- a/sip/res/values-hr/strings.xml
+++ b/sip/res/values-hr/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Postavke internetskih poziva"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Računi za internetske pozive (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Postavke SIP-a"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP računi"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Računi"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Primi dolazne pozive"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Skraćuje trajanje baterije"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Upotrijebi internetski poziv"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Upotrijebi internetski poziv (samo Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Troši više baterije"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Upotreba SIP poziva"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Upotreba SIP poziva (samo Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Za sve pozive kada je podatkovna mreža dostupna"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Samo za internetske pozive"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Upit za svaki poziv"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Samo za SIP pozive"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Za sve pozive"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Nazovi"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Upotrijebi račun za internetske pozive:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Uvijek upotrijebi za internetske pozive"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Možete promijeniti koji ćete internetski račun za pozivanje upotrebljavati prema zadanim postavkama iz opcije Telefon &gt; Postavke &gt; Postavke internetskih poziva &gt; Zaslon računa."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Poziv mobitelom"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetski poziv"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Nema računa za internetske pozive"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Na ovom telefonu nema računa za internetske pozive. Želite li ga dodati odmah?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Dodaj"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Dodaj račun"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Ukloni račun"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP računi"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Zatvaranje profila"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"U redu"</string>
     <string name="close_profile" msgid="3122414058856309881">"Zatvori"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primarni račun. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Provjeravanje statusa..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registracija…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Još pokušavam…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Broj priključka"</string>
     <string name="transport_title" msgid="889155457465372527">"Vrsta transporta"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Pošalji postavke keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Postavi kao primarni račun"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Upotrebljava se za odlazne pozive"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Izborne postavke"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Korisničko ime za autentifikaciju"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Korisničko ime koje se upotrebljava za autentifikaciju"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Dodirnite da biste sakrili sve"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Polje <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> obavezno je i ne može ostati prazno."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Broj priključka trebao bi biti između 1000 i 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nema internetske veze"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nema Wi-Fi veze"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Za uspostavu internetskog poziva prvo provjerite internetsku vezu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Morate se povezati s Wi-Fi mrežom za internetske pozive (upotrijebite postavke Bežičnog povezivanja i mreža)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetski pozivi nisu podržani"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Da biste uputili SIP poziv, provjerite jeste li povezani s internetom."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Morate se povezati s Wi-Fi mrežom za SIP pozive (upotrijebite postavke Bežično povezivanje i mreže)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP pozivi nisu podržani"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatski"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Uvijek šalji"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Ugrađeni internetski pozivi"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Ugrađeni SIP pozivi"</string>
 </resources>
diff --git a/sip/res/values-hu/strings.xml b/sip/res/values-hu/strings.xml
index c30cf61..eda6bd0 100644
--- a/sip/res/values-hu/strings.xml
+++ b/sip/res/values-hu/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internetes hívás beállításai"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internetes hívási (SIP) fiókok"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-beállítások"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-fiókok"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Fiókok"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Beérkező hívások fogadása"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Csökkenti a használati időt"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Internetes hívás használata"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Internetes hívás használata (csak Wi-Fi esetén)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Több energiát használ"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP-hívás használata"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP-hívás használata (csak Wi-Fin)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Minden hívásnál, amikor nincs elérhető adathálózat"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Csak internetes hívásoknál"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Mindig rákérdez"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Csak SIP-hívásokhoz"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Minden hívásnál"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Hívás indítása"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"A következő Internetes hívási fiók használata:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Mindig használja internetes hívás kezdeményezésekor"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Megváltoztathatja, hogy melyik internetes hívási fiókot használja alapértelmezés szerint a Telefon &gt; Beállítások &gt; Internetes hívásbeállítások &gt; Fiókok képernyőn."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobiltelefonos hívás"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetes hívás"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Nincs internetes hívási fiók"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Nincsenek internetes hívási fiókok ezen a telefonon. Szeretne most hozzáadni egyet?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Hozzáadás"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Fiók hozzáadása"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Fiók eltávolítása"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-fiókok"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"A profil bezárása"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Bezárás"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Elsődleges fiók. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Állapot ellenőrzése…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Regisztrálás…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Még próbálkozik…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Port száma"</string>
     <string name="transport_title" msgid="889155457465372527">"Átvitel típusa"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Kapcsolat megtartása"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Beállítás elsődleges fiókként"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"A kimenő hívásokhoz használatos"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"További beállítások"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Azonosításhoz használt felhasználónév"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Azonosításhoz használt felhasználónév"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Érintse meg az összes elrejtéséhez"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> megadása kötelező, nem maradhat üresen."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"A port számának 1000 és 65534 között kell lennie."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nincs internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nincs Wi-Fi-kapcsolat"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Internetes hívás kezdeményezéséhez először ellenőrizze az internetkapcsolatot."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"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)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Az internetes hívás nem támogatott"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP-hívás indításához előbb ellenőrizze az internetkapcsolatát."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP-hívás használatához csatlakoznia kell egy Wi-Fi-hálózathoz (használja a Vezeték nélküli és egyéb hálózatok menü beállításait)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"A SIP-hívás nem támogatott"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatikus"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Mindig küldjön"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Beépített internetes hívás"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Beépített SIP-hívás"</string>
 </resources>
diff --git a/sip/res/values-hy-rAM/strings.xml b/sip/res/values-hy-rAM/strings.xml
index 1fe8f98..e0eb582 100644
--- a/sip/res/values-hy-rAM/strings.xml
+++ b/sip/res/values-hy-rAM/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Ինտերնետային զանգերի կարգավորումներ"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Ինտերնետ զանգերի (SIP) հաշիվներ"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP կարգավորումներ"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP հաշիվներ"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Հաշիվներ"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Ընդունել մուտքային զանգեր"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Կրճատում է մարտկոցի կյանքը"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Օգտագործել ինտերնետային զանգը"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Օգտագործել ինտերնետային զանգը (միայն Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Ավելի արագ է սպառում մարտկոցի լիցքը"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Զանգ SIP-ի միջոցով"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Զանգ SIP-ի միջոցով (միայն Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Բոլոր զանգերի համար, երբ տվյալների ցանցը հասանելի է"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Միայն ինտերնետային զանգերի համար"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Հարցնել յուրաքանչյուր զանգի ժամանակ"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Միայն SIP-ի միջոցով զանգերի համար"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Բոլոր զանգերի համար"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Կատարել զանգ"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Օգտագործել ինտերնետային զանգի հաշիվը՝"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Միշտ օգտագործել ինտերնետային զանգեր կատարելու համար"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Դուք կարող եք փոխել, թե ինտերնետային զանգի որ հաշիվն օգտագործել որպես կանխադրված՝ հեռախոսում անցնելով &gt; Կարգավորումներ &gt; Ինտերնետային զանգերի կարգավորումներ &gt; Հաշիվներ:"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Բջջային հեռախոսազանգ"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Ինտերնետային զանգ"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ինտերնետային զանգի հաշիվ չկա"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Այս հեռախոսում ինտերնետային զանգերի հաշիվներ չկան: Ցանկանու՞մ եք ավելացնել մեկը հիմա:"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Ավելացնել"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Ավելացնել հաշիվ"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Հեռացնել հաշիվը"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP հաշիվներ"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Փակեք պրոֆիլը"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Լավ"</string>
     <string name="close_profile" msgid="3122414058856309881">"Փակել"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Առաջնային հաշիվ: <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Ստուգվում է կարգավիճակը..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Գրանցում..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Սպասեք..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Միացքի համարը"</string>
     <string name="transport_title" msgid="889155457465372527">"Փոխանցման միջոց"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Ուղարկել keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Օգտագործել որպես առաջնային հաշիվ"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Օգտագործել ելքային զանգերի համար"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Ընտրովի կարգավորումներ"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Նույնականացման օգտանուն"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Օգտանունն օգտագործվել է նույնականացման համար"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Հպեք՝ թաքցնելու ամենը"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>-ը պարտադիր է և չի կարող լինել դատարկ:"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Միացքի համարը պետք է լինի 1000-ի և 65534-ի սահմաններում:"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Ինտերնետ կապ չկա"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi կապ չկա"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Ինտերնետային զանգի կատարման համար նախ ստուգեք ձեր ինտերնետ կապը:"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Ինտերնետային զանգերի համար դուք պետք է միացված լինեք Wi-Fi ցանցին (օգտագործեք Անլար կապի և ցանցերի կարգավորումները):"</string>
-    <string name="no_voip" msgid="1600568347241920141">"Ինտերնետային զանգերը չեն սպասարկվում"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP-ի միջոցով զանգ կատարելու համար նախ ստուգեք ձեր համացանցի կապակցումը:"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP-ի միջոցով զանգեր կատարելու համար ձեզ անհրաժեշտ է կապակցվել Wi-Fi ցանցին (օգտագործեք Անլար կապի և Ցանցի կարգավորումները):"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-ի միջոցով զանգերը չեն աջակցվում"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Ավտոմատ"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Միշտ ուղարկել"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Ներկառուցված ինտերնետային զանգ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"SIP-ի միջոցով զանգերի ներկառուցված ծառայություն"</string>
 </resources>
diff --git a/sip/res/values-in/strings.xml b/sip/res/values-in/strings.xml
index 47da974..e4129a4 100644
--- a/sip/res/values-in/strings.xml
+++ b/sip/res/values-in/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Setelan panggilan internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Akun panggilan internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Setelan SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Akun SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Akun"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Terima panggilan masuk"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Mengurangi masa pakai baterai"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Gunakan panggilan internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Gunakan panggilan internet (Wi-Fi saja)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Menggunakan lebih banyak masa pakai baterai"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Gunakan panggilan SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gunakan panggilan SIP (hanya di Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Untuk semua panggilan ketika jaringan data tersedia"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Hanya untuk panggilan internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Tanyakan pada setiap panggilan"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Hanya untuk panggilan SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Untuk semua panggilan"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Lakukan panggilan"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Gunakan akun panggilan internet"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Selalu gunakan untuk melakukan panggilan internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Anda dapat mengubah akun panggilan internet mana yang digunakan secara default dari layar Telepon &gt; Setelan &gt; Setelan panggilan internet &gt; Akun."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Panggilan ponsel"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Panggilan internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Tidak ada akun panggilan internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Tidak ada akun panggilan internet di ponsel ini. Apakah Anda ingin menambahkan akun sekarang?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Tambahkan"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Tambahkan akun"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Buang akun"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Akun SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Tutup profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Oke"</string>
     <string name="close_profile" msgid="3122414058856309881">"Tutup"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Akun utama. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Memeriksa status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Mendaftarkan..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Masih mencoba..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Nomor port"</string>
     <string name="transport_title" msgid="889155457465372527">"Jenis transportasi"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Kirim keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Setel sebagai akun utama"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Digunakan untuk panggilan keluar"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Setelan opsional"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nama pengguna autentikasi"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nama pengguna yang digunakan untuk autentikasi"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Sentuh untuk menyembunyikan semua"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> diwajibkan dan tidak boleh kosong."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Nomor port harus dalam rentang 1000 dan 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Tidak ada sambungan internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Tidak ada sambungan Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Untuk melakukan panggilan internet, periksalah sambungan internet Anda terlebih dulu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Anda perlu tersambung ke jaringan Wi-Fi untuk panggilan internet (gunakan setelan Nirkabel &amp; Jaringan)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"Panggilan internet tidak didukung"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Untuk melakukan panggilan SIP, periksa sambungan internet terlebih dahulu."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Anda harus tersambung ke jaringan Wi-Fi untuk melakukan panggilan SIP (gunakan setelan Nirkabel &amp; Jaringan)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Panggilan SIP tidak didukung"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Otomatis"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Selalu kirim"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Panggilan internet yang terpasang di dalamnya"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Panggilan SIP bawaan"</string>
 </resources>
diff --git a/sip/res/values-is-rIS/strings.xml b/sip/res/values-is-rIS/strings.xml
index 6f15f2d..49a45e7 100644
--- a/sip/res/values-is-rIS/strings.xml
+++ b/sip/res/values-is-rIS/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Stillingar netsímtala"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Netsímtalareikningar (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-stillingar"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-reikningar"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Reikningar"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Svara símtölum"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Dregur úr endingartíma rafhlöðu"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Nota netsímtal"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Nota netsímtal (Wi-Fi eingöngu)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Notar meiri rafhlöðuorku"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Nota SIP-símtal"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Nota SIP-símtal (eingöngu Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Fyrir öll símtöl þegar gagnanet er tiltækt"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Aðeins fyrir netsímtöl"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Spyrja við hvert símtal"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Aðeins fyrir SIP-símtöl"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Fyrir öll símtöl"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Hringja símtal"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Nota netsímareikning:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Nota alltaf fyrir netsímtöl"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Þú getur breytt því hvaða netsímareikningur er notaður sjálfgefið á skjámyndinni Sími &gt; Stillingar &gt; Netsímastillingar &gt; Reikningar."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Símtal í farsíma"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Netsímtal"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Enginn netsímareikningur"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Engir netsímareikningar í þessum síma. Viltu bæta reikningi við núna?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Bæta við"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Bæta reikningi við"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Fjarlægja reikning"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-reikningar"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Loka sniðinu"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Í lagi"</string>
     <string name="close_profile" msgid="3122414058856309881">"Loka"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Aðalreikningur. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Athugar stöðu..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Skráir…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Enn að reyna…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Númer gáttar"</string>
     <string name="transport_title" msgid="889155457465372527">"Flutningsgerð"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Halda tengingu opinni"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Nota sem aðalreikning"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Notað fyrir hringd símtöl"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Valfrjálsar stillingar"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Notandanafn til auðkenningar"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Notandanafn notað til auðkenningar"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Snertu til að fela allt"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> er áskilið og má ekki vera autt."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Númer gáttar á að vera milli 1000 og 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Engin nettenging"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Engin Wi-Fi tenging"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Til að hringja netsímtal skaltu fyrst athuga nettenginguna."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Nettenging þarf að vera til staðar til að hægt sé að hringja netsímtöl (notaðu stillingarnar undir Þráðlaus net og símkerfi)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Netsímtöl eru ekki studd"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Til að hringja SIP-símtal skaltu fyrst athuga nettenginguna þína."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Þú þarft að tengjast Wi-Fi neti til að hringja SIP-símtöl (notaðu stillingar þráðlauss nets og símkerfa)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-símtöl ekki studd"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Sjálfvirkt"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Senda alltaf"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Innbyggð netsímtöl"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Innbyggð SIP-símtöl"</string>
 </resources>
diff --git a/sip/res/values-it/strings.xml b/sip/res/values-it/strings.xml
index 5723694..97de314 100644
--- a/sip/res/values-it/strings.xml
+++ b/sip/res/values-it/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Impostazioni chiamate Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Account per chiamate Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Impostazioni SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Account SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Account"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Ricevi chiamate in arrivo"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Riduce la durata della batteria"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Usa chiamata Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Usa chiamata Internet (solo Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Consuma più batteria"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Utilizza chiamate SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Utilizza chiamate SIP (solo Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Per tutte le chiamate quando è disponibile la rete dati"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Solo per chiamate Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Chiedi per ogni chiamata"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Solo per chiamate SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Per tutte le chiamate"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Effettua chiamata"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Usa account per chiamate Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Utilizza sempre per effettuare chiamate Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Puoi cambiare l\'account per chiamate Internet da utilizzare per impostazione predefinita dalla schermata Telefono &gt; Impostazioni &gt; Impostazioni chiamate Internet &gt; Account."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Chiamata con telefono cellulare"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Chiamata Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Nessun account per chiamate Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Non sono presenti account per chiamate Internet su questo telefono. Aggiungerne uno adesso?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Aggiungi"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Aggiungi account"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Rimuovi account"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Account SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Chiudi il profilo"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Chiudi"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Account principale. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Controllo stato..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrazione..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Tentativo ancora in corso..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Numero porta"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipo trasporto"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Invia keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Imposta come account principale"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilizzato per chiamate in uscita"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Impostazioni facoltative"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nome utente per autenticazione"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nome utente utilizzato per l\'autenticazione"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tocca per nascondere tutto"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> è obbligatorio e non può essere lasciato vuoto."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Il numero della porta deve essere compreso tra 1000 e 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nessun collegamento Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nessuna connessione Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Prima di effettuare una chiamata via Internet, controlla il tuo collegamento Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Devi essere collegato a una rete Wi-Fi per effettuare chiamate via Internet (utilizza le impostazioni Wireless e reti)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Chiamate Internet non supportate"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Per effettuare una chiamata SIP, verifica prima la connessione Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Devi essere connesso a una rete Wi-Fi per le chiamate SIP (utilizza le impostazioni wireless e della rete)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Chiamate SIP non supportate"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatico"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Invia sempre"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Chiamate Internet integrate"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Chiamate SIP incorporate"</string>
 </resources>
diff --git a/sip/res/values-iw/strings.xml b/sip/res/values-iw/strings.xml
index 309a8f2..54712b7 100644
--- a/sip/res/values-iw/strings.xml
+++ b/sip/res/values-iw/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"הגדרות שיחת אינטרנט"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"‏חשבונות (SIP) להתקשרות באינטרנט"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"‏הגדרות SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"‏חשבונות SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"חשבונות"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"קבל שיחות נכנסות"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"מקצר את חיי הסוללה"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"השתמש בהתקשרות באינטרנט"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"‏השתמש בהתקשרות באינטרנט (Wi-Fi בלבד)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"צריכת הסוללה גבוהה יותר"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"‏שימוש בשיחות SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"‏שימוש בשיחות SIP ‏(Wi-Fi בלבד)‏"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"לכל השיחות כאשר רשת הנתונים זמינה"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"לשיחות אינטרנט בלבד"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"שאל עבור כל שיחה"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"‏עבור שיחות SIP בלבד"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"לכל השיחות"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"בצע שיחה"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"השתמש בחשבון להתקשרות באינטרנט:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"השתמש תמיד כדי לבצע שיחות אינטרנט"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"‏ניתן לשנות את חשבון השיחות באינטרנט לשימוש כברירת מחדל דרך \'טלפון\' &gt; \'הגדרות\' &gt; \'הגדרות שיחת אינטרנט\' &gt; \'חשבונות\'."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"שיחה בטלפון סלולרי"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"שיחת אינטרנט"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"אין חשבון להתקשרות באינטרנט"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"אין חשבונות שיחת אינטרנט לטלפון זה. האם אתה רוצה להוסיף חשבון כעת?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"הוסף"</string>
     <string name="add_sip_account" msgid="800843669753980091">"הוסף חשבון"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"הסר חשבון"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"‏חשבונות SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"סגור את הפרופיל"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"אישור"</string>
     <string name="close_profile" msgid="3122414058856309881">"סגור"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"חשבון ראשי. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"בודק מצב..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"מבצע רישום..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"עדיין מנסה..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"מספר יציאה"</string>
     <string name="transport_title" msgid="889155457465372527">"סוג העברה"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"שלח אות חיבור"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"הגדר כחשבון ראשי"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"משמש לשיחות יוצאות"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"הגדרות אופציונליות"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"שם משתמש לאימות"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"שם משתמש המשמש לאימות"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ גע כדי להסתיר את הכל"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> הוא שדה חובה ולא ניתן להשאיר אותו ריק."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"מספר היציאה צריך להיות בין 1000 ל-65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"אין חיבור לאינטרנט"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"‏אין חיבור Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"כדי לבצע שיחת אינטרנט, בדוק תחילה את החיבור לאינטרנט."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"‏עליך להיות מחובר לרשת Wi-Fi כדי לבצע שיחות באינטרנט (השתמש בהגדרות \'רשתות ותקשורת אלחוטית\')."</string>
-    <string name="no_voip" msgid="1600568347241920141">"אין תמיכה בהתקשרות באינטרנט"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"‏כדי לבצע שיחת SIP, ראשית בדוק את חיבור האינטרנט שלך."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"‏עליך להיות מחובר לרשת Wi-Fi כדי לבצע שיחות SIP (השתמש ב\'הגדרות רשת ותקשורת אלחוטית\')."</string>
+    <string name="no_voip" msgid="3038021971231952704">"‏שיחות SIP לא נתמכות"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"אוטומטי"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"שלח תמיד"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"שיחות אינטרנט מובנות"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"‏שיחות SIP מובנות"</string>
 </resources>
diff --git a/sip/res/values-ja/strings.xml b/sip/res/values-ja/strings.xml
index 667798f..b89dbec 100644
--- a/sip/res/values-ja/strings.xml
+++ b/sip/res/values-ja/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"インターネット通話の設定"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"インターネット通話（SIP）アカウント"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIPの設定"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIPアカウント"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"アカウント"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"着信を受ける"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"電池使用量が増えます"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"インターネット通話を使用"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"インターネット通話を使用（Wi-Fiのみ）"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"電池の使用量が増えます"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP通話の使用"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP通話の使用（Wi-Fiのみ）"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"データネットワーク接続時はすべての通話"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"インターネット通話のみ"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"通話のたびに確認"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP通話のみ"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"すべての通話"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"発信"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"インターネット通話アカウントを使用:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"インターネット通話発信時に常に使用する"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"[携帯端末]&gt;[設定]&gt;[インターネット通話の設定]&gt;[アカウント]画面で、デフォルトで使用するインターネット通話アカウントを変更できます。"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"携帯通信網での通話"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"インターネット通話"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"インターネット通話アカウントなし"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"この携帯端末にはインターネット通話アカウントがありません。今すぐ追加しますか？"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"追加"</string>
     <string name="add_sip_account" msgid="800843669753980091">"アカウントを追加"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"アカウントの削除"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIPアカウント"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"プロフィールを閉じる"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"閉じる"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"メインアカウント（<xliff:g id="REGISTRATION_STATUS">%s</xliff:g>）"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"ステータスを確認しています..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"登録しています…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"試行しています…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"ポート番号"</string>
     <string name="transport_title" msgid="889155457465372527">"伝送方式"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"キープアライブを送信する"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"メインアカウントに設定"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"発信に使用する"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"オプション設定"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"認証ユーザー名"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"認証に使用するユーザー名"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽すべて非表示"</string>
     <string name="empty_alert" msgid="6659484914371384024">"「<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>」は必須です。空欄にはできません。"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"ポート番号は1000～65534で指定してください。"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"インターネット接続なし"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi接続なし"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"インターネット通話を行うにはまずインターネットへの接続を確認してください。"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"インターネット通話にはWi-Fiネットワークへの接続が必要です（[ワイヤレスとネットワークの設定]を使用）。"</string>
-    <string name="no_voip" msgid="1600568347241920141">"インターネット通話には対応していません"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP通話を発信する前に、インターネット接続を確認してください。"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP通話をするにはWi-Fネットワークに接続する必要があります（[無線とネットワーク]で設定）。"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP通話はサポートされていません"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"自動"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"常に送信"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"内蔵のインターネット通話"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"内蔵SIP通話機能"</string>
 </resources>
diff --git a/sip/res/values-ka-rGE/strings.xml b/sip/res/values-ka-rGE/strings.xml
index 89c794f..e5dfb94 100644
--- a/sip/res/values-ka-rGE/strings.xml
+++ b/sip/res/values-ka-rGE/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"ინტერნეტით დარეკვის პარამეტრები"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"ინტერნეტით დარეკვის (SIP) ანგარიშები"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP პარამეტრები"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP ანგარიშები"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"ანგარიშები"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"შემომავალი ზარების მიღება"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ამცირებს ბატარეის ხანგრძლივობას"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ინტერნეტით დარეკვის გამოყენება"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ინტერნეტით დარეკვის გამოყენება (მხოლოდ Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"იყენებს ელემენტის მეტ ენერგიას"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP დარეკვის გამოყენება"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP დარეკვის გამოყენება (მხოლოდ Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ყველა ზარზე, როდესაც მონაცემთა ქსელი ხელმისაწვდომია"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"მხოლოდ ინტერნეტ-ზარებზე"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"კითხვა ყოველ ზარზე"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"მხოლოდ SIP ზარებისათვის"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"ყველა ზარზე"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ზარის განხორციელება"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ინტერნეტით დარეკვის ანგარიშის გამოყენება:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"მუდამ გამოიყენე ინტერნეტ ზარების განსახორციელდებლად"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"შეგიძლიათ აირჩიოთ, თუ რომელი ინტერნეტ-დარეკვის ანგარიში გამოიყენება ნაგულისხმევად შემდეგი ეკრანიდან: ტელეფონი &gt; პარამეტრები &gt; ინტერნეტ-დარეკვის პარამეტრები &gt; ანგარიშები."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"მობილური სატელეფონო ზარი"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"ინტერნეტ-ზარი"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ინტერნეტით დარეკვის ანგარიში არ არის"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ამ ტელეფონზე ინტერნეტით დარეკვის ანგარიშები არ არის. გსურთ, დაამატოთ ახლა?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"დამატება"</string>
     <string name="add_sip_account" msgid="800843669753980091">"ანგარიშის დამატება"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"ანგარიშის წაშლა"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP ანგარიშები"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"პროფილის დახურვა"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"კარგი"</string>
     <string name="close_profile" msgid="3122414058856309881">"დახურვა"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"ძირითადი ანგარიში. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"სტატუსის შემოწმება..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"მიმდინარეობს რეგისტრაცია…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ხელახალი მცდელობა…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"პორტის ნომერი"</string>
     <string name="transport_title" msgid="889155457465372527">"ტრანსპორტირების ტიპი"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"keep-alive-ის გაგზავნა"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"ძირითად ანგარიშად დაყენება"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"გამოიყენება გამავალი ზარებისთვის"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"არასავალდებულო პარამეტრები"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"ავტორიზაციის მომხმარებლის სახელი"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"ავტორიზაციისათვის გამოყენებული მომხმარებლის სახელი"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ შეეხეთ ყველას დასამალად"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> აუცილებელია და ცარიელი ვერ დარჩება."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"პორტის ნომერი უნდა იყოს 1000 – 65534 არეალში."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ინტერნეტთან კავშირი არ არის"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi კავშირი არ არის"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ინტერნეტ-ზარის განსახორციელებლად, ჯერ გადაამოწმეთ ინტერნეტთან კავშირი."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ინტერნეტით დარეკვისათვის დაკავშირებული უნდა იყოთ Wi-Fi ქსელთან (გამოიყენეთ უსადენო და ქსელის პარამეტრები)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"ინტერნეტით დარეკვა მხარდაჭერილი არ არის"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP ზარის განხორციელებისათვის, პირველ რიგში შეამოწმეთ თქვენი ინტერნეტ კავშირი."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP ზარებისათვის, დაკავშირებული უნდა იყოთ Wi-Fi ქსელთან (გამოიყენეთ უკაბელო &amp; amp; ქსელის პარამეტრები)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP დარეკვა არ არის მხარდაჭერილი"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"ავტომატური"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"მუდამ გაგზავნა"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"ჩაშენებული ინტერნეტ-ზარი"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"ჩაშენებული SIP ზარში"</string>
 </resources>
diff --git a/sip/res/values-kk-rKZ/strings.xml b/sip/res/values-kk-rKZ/strings.xml
index 074c2e8..76c54c8 100644
--- a/sip/res/values-kk-rKZ/strings.xml
+++ b/sip/res/values-kk-rKZ/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Интернет қоңыраулары параметрлері"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Интернет қоңыраулары (SIP) есептік жазбалары"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP параметрлері"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP есептік жазбалары"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Есептік жазбалар"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Кіріс қоңырауларды қабылдау"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Батарея мерзімін қысқартады"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Интернет қоңырауларын пайдалану"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Интернет қоңырауларын пайдалану (тек Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Көбірек батарея қуатын пайдаланады"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP қоңырауларын пайдалану"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP қоңырауларын пайдалану (тек Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Деректер желісі қол жетімді болғанда барлық қоңыраулар үшін"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Тек интернет қоңыраулары үшін"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Әр қоңырау үшін сұрау"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Тек SIP қоңыраулары үшін"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Барлық қоңыраулар үшін"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Қоңырау шалу"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Интернет арқылы қоңырау шалу есептік жазбасын пайдалану:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Әрқашан интернет қоңырауларын шалу үшін пайдалану"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Әдепкі бойынша интернет қоңыраулары есептік жазбаларының қайсысы пайдаланылатынын «Телефон» &gt; «Параметрлер» &gt; «Интернет қоңыраулары параметрлері» &gt; «Есептік жазба экраны» арқылы өзгертуге болады."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Ұялы телефон қоңырауы"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Интернет қоңырауы"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Интернет арқылы қоңырау шалу есептік жазбасы жоқ"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Бұл телефонда интернет арқылы қоңырау шалу есептік жазбасы жоқ. Есептік жазба қосуды қалайсыз ба?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Қосу"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Есептік жазба қосу"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Есептік жазбаны жою"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP есептік жазбалары"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Профильді жабу"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Жарайды"</string>
     <string name="close_profile" msgid="3122414058856309881">"Жабу"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Негізгі есептік жазба. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Күй тексерілуде…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Тіркелуде…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Әлі әрекеттенуде…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Порт нөмірі"</string>
     <string name="transport_title" msgid="889155457465372527">"Тасымалдау түрі"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Байланыс сақтау сигналын жіберу"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Негізгі есептік жазба ретінде орнату"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Шығыс қоңыраулар үшін пайдаланылады"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Қосымша параметрлер"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Аутентификациялау пайдаланушы аты"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Аутентификациялау үшін пайдаланылатын пайдаланушы аты"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Барлығын жасыру үшін түрту"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> міндетті және оны бос қалдыруға болмайды."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Порт нөмірі 1000 және 65534 аралығында болуы керек."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Интернет байланысы жоқ"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi байланысы жоқ"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Интернет қоңырауын шалу үшін алдымен интернет байланысын тексеріңіз."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Интернет арқылы қоңырау шалу үшін Wi-Fi желісіне жалғану қажет (Сымсыз &amp; Желі параметрлері тармақтарын қолданыңыз)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Интернет арқылы қоңырау шалу қолдауы жоқ"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP қоңырауын шалу үшін алдымен интернет қосылымын тексеріңіз."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP қоңыраулары үшін Wi-Fi желісіне қосылған болуы керек («Сымсыз желі және желі параметрлері» тармағын пайдаланыңыз)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP қоңырауларына қолдау көрсетілмейді"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Aвтоматты"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Әрқашан жіберу"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Кірістірілген интернет қоңыраулар"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Кірістірілген SIP қоңыраулары"</string>
 </resources>
diff --git a/sip/res/values-km-rKH/strings.xml b/sip/res/values-km-rKH/strings.xml
index b7acdeb..c1d80b3 100644
--- a/sip/res/values-km-rKH/strings.xml
+++ b/sip/res/values-km-rKH/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"កំណត់​ការ​ហៅ​តាម​អ៊ីនធឺណិត"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"គណនី (SIP) ការ​ហៅ​តាម​អ៊ីនធឺណិត"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"ការកំណត់ SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"គណនី SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"គណនី"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ទទួល​ការ​ហៅ​ចូល"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"កាត់​បន្ថយ​អាយុ​ថ្ម"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ប្រើ​ការ​ហៅ​តាម​អ៊ីនធឺណិត"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ប្រើ​ការ​ហៅ​តាម​អ៊ីនធឺណិត (តែ​​វ៉ាយហ្វាយ​ប៉ុណ្ណោះ)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ប្រើថាមពលថ្មច្រើន"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"ប្រើការហៅ SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"ប្រើការហៅ SIP (Wi-Fi តែប៉ុណ្ណោះ)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"សម្រាប់​ការ​ហៅ​ទាំងអស់ នៅ​ពេល​បណ្ដាញ​ទិន្នន័យ​អាច​ប្រើ​បាន"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"​សម្រាប់​តែ​ការ​ហៅ​តាម​អ៊ីនធឺណិត​ប៉ុណ្ណោះ"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"សួរ​រាល់​ពេល​ហៅ"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"សម្រាប់ការហៅ SIP តែប៉ុណ្ណោះ"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"សម្រាប់​ការ​ហៅ​ទាំងអស់"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ហៅ"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ប្រើ​គណនី​ហៅ​តាម​អ៊ីនធឺណិត៖"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"ប្រើ​ជានិច្ច ដើម្បី​​​ហៅ​តាម​អ៊ីនធឺណិត"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"អ្នក​អាច​ប្ដូរ​គណនី​ហៅ​តាម​អ៊ីនធឺណិត ដើម្បី​ប្រើ​តាម​លំនាំដើម​ពី​ទូរស័ព្ទ &gt; ការ​កំណត់ &gt; កំណត់​​ការ​ហៅ​តាម​អ៊ីនធឺណិត &gt; អេក្រង់​គណនី។"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"ហៅ​តាម​ទូរស័ព្ទ​ចល័ត"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"ការ​ហៅ​តាម​​អ៊ីនធឺណិត"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"មិន​មាន​​គណនី​ហៅ​តាម​អ៊ីនធឺណិត"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"មិន​មាន​គណនី​ហៅ​តាម​អ៊ីនធឺណិត​នៅ​លើ​ទូរស័ព្ទ​​នេះ​ទេ។ តើ​អ្នក​ចង់​​បន្ថែម​​​ឥឡូវនេះ​ឬ?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"បន្ថែម"</string>
     <string name="add_sip_account" msgid="800843669753980091">"បន្ថែម​គណនី"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"លុប​គណនី​​"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"គណនី SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"បិទ​​ប្រវត្តិរូប"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"យល់ព្រម"</string>
     <string name="close_profile" msgid="3122414058856309881">"បិទ"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"គណនី​​ចម្បង។ <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"កំពុង​ពិនិត្យ​​​ស្ថានភាព​..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"កំពុង​ចុះឈ្មោះ…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"នៅតែ​ព្យាយាម…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"លេខ​ច្រក"</string>
     <string name="transport_title" msgid="889155457465372527">"ប្រភេទ​បញ្ជូន"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"នៅតែ​មាន​ការ​ផ្ញើ"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"កំណត់​ជា​គណនី​ចម្បង"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"បាន​ប្រើ​សម្រាប់​ការ​ហៅ​ចេញ"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ការ​កំណត់​​ជា​​ជម្រើស"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"ឈ្មោះ​អ្នកប្រើ​​សម្រាប់​​ផ្ទៀងផ្ទាត់"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"បាន​ប្រើ​ឈ្មោះ​អ្នកប្រើ​សម្រាប់​​​ផ្ទៀងផ្ទាត់"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"ប៉ះ ▽ ដើម្បី​លាក់​ទាំងអស់"</string>
     <string name="empty_alert" msgid="6659484914371384024">"មិន​​អាច​ទុក​ឲ្យ​នៅ​ទទេ និង​បាន​ទាមទារ <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ។"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"លេខ​ច្រក​គួរតែ​នៅ​ចន្លោះ ១០០០ និង ៦៥៥៣៤។"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"មិន​មាន​ការ​​ភ្ជាប់​អ៊ីនធឺណិត"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"មិន​មាន​​ការ​តភ្ជាប់​តាម​​វ៉ាយហ្វាយ​"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ដើម្បី​ហៅ​តាម​អ៊ីនធឺណិត ត្រូវ​ពិនិត្យមើល​ការ​​ភ្ជាប់​អ៊ីនធឺណិត​របស់​អ្នក​សិន។"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"អ្នក​ត្រូវ​​ភ្ជាប់​បណ្ដាញ​​វ៉ាយហ្វាយ​សម្រាប់​​ហៅ​តាម​អ៊ីនធឺណិត (ប្រើ​​ការកំណត់ ឥត​ខ្សែ &amp; បណ្ដាញ)។"</string>
-    <string name="no_voip" msgid="1600568347241920141">"មិន​បាន​គាំទ្រ​ការ​ហៅ​តាម​អ៊ីនធឺណិត"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"ដើម្បីដាក់ការហៅ SIP ពិនិត្យការភ្ជាប់អ៊ីនធឺណិតរបស់អ្នកជាមុនសិន។"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"អ្នកត្រូវភ្ជាប់ទៅបណ្តាញ Wi-Fi សម្រាប់ការហៅ SIP (ប្រើការកំណត់បណ្តាញឥតខ្សែ)។"</string>
+    <string name="no_voip" msgid="3038021971231952704">"ការហៅ SIP មិនត្រូវបានគាំទ្រទេ"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"ស្វ័យប្រវត្តិ"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ផ្ញើ​ជានិច្ច"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"ការ​ហៅ​តាម​អ៊ីនធឺណិត​ជាប់​ជាមួយ​ស្រាប់"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"ភ្ជាប់មកជាមួយការហៅ SIP"</string>
 </resources>
diff --git a/sip/res/values-kn-rIN/strings.xml b/sip/res/values-kn-rIN/strings.xml
index 60d87cc..0e89dd2 100644
--- a/sip/res/values-kn-rIN/strings.xml
+++ b/sip/res/values-kn-rIN/strings.xml
@@ -16,27 +16,17 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"ಇಂಟರ್ನೆಟ್‌‌ ಕರೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"ಇಂಟರ್ನೆಟ್‌ ಕರೆ ಮಾಡುವಿಕೆ (SIP) ಖಾತೆಗಳು"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP ಖಾತೆಗಳು"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"ಖಾತೆಗಳು"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ಒಳಬರುವ ಕರೆಗಳನ್ನು ಸ್ವೀಕರಿಸು"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ಬ್ಯಾಟರಿ ಬಾಳಿಕೆ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ಇಂಟರ್ನೆಟ್‌‌ ಕರೆ ಮಾಡುವಿಕೆ ಬಳಸಿ"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ಇಂಟರ್ನೆಟ್‌ ಕರೆ ಮಾಡುವಿಕೆ ಬಳಸಿ (Wi-Fi ಮಾತ್ರ)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ಹೆಚ್ಚು ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ಬಳಸುತ್ತದೆ"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಿ"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP ಕರೆ ಮಾಡುವಿಕೆಯನ್ನು ಬಳಸಿ (Wi-Fi ಮಾತ್ರ)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ಡೇಟಾ ನೆಟ್‌ವರ್ಕ್‌ ಲಭ್ಯವಿರುವಾಗ ಎಲ್ಲ ಕರೆಗಳಿಗಾಗಿ"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"ಇಂಟರ್ನೆಟ್‌ ಕರೆಗಳಿಗಾಗಿ ಮಾತ್ರ"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ಪ್ರತಿಯೊಂದು ಕರೆಗೂ ಕೇಳು"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"ಕೇವಲ SIP ಕರೆಗಳಿಗೆ ಮಾತ್ರ"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"ಎಲ್ಲ ಕರೆಗಳಿಗಾಗಿ"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ಕರೆ ಮಾಡಿ"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ಇಂಟರ್ನೆಟ್‌‌ ಕರೆ ಮಾಡುವಿಕೆ ಖಾತೆಯನ್ನು ಬಳಸಿ:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"ಯಾವಾಗಲೂ ಇಂಟರ್ನೆಟ್ ಕರೆಗಳನ್ನು ಬಳಸಿ"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"ಫೋನ್‌‌ &gt; ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಇಂಟರ್ನೆಟ್‌‌ ಕರೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳು &gt; ಖಾತೆಗಳ ಪರದೆಯಿಂದ ಡೀಫಾಲ್ಟ್‌‌ ಮೂಲಕ ಯಾವ ಇಂಟರ್ನೆಟ್ ಕರೆ ಮಾಡುವಿಕೆ ಖಾತೆಯನ್ನು ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ನೀವು ಬದಲಾಯಿಸಬಹುದು."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"ಸೆಲ್‌ ಫೋನ್‌ ಕರೆ"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"ಇಂಟರ್ನೆಟ್‌ ಕರೆ"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಕರೆ ಮಾಡುವ ಖಾತೆಯಿಲ್ಲ"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ಈ ಫೋನ್‌ನಲ್ಲಿ ಯಾವುದೇ ಇಂಟರ್ನೆಟ್ ಕರೆ ಮಾಡುವ ಖಾತೆಗಳಿಲ್ಲ. ನೀವೀಗ ಖಾತೆ ಸೇರಿಸಲು ಬಯಸುವಿರಾ?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"ಸೇರಿಸು"</string>
-    <string name="add_sip_account" msgid="800843669753980091">"ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="add_sip_account" msgid="800843669753980091">"ಖಾತೆ ಸೇರಿಸು"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"ಖಾತೆಯನ್ನು ತೆಗೆದುಹಾಕು"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP ಖಾತೆಗಳು"</string>
     <string name="saving_account" msgid="5336529880235177448">"ಖಾತೆಯನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"ಪ್ರೊಫೈಲ್ ಮುಚ್ಚಿ"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ಸರಿ"</string>
     <string name="close_profile" msgid="3122414058856309881">"ಮುಚ್ಚು"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"ಪ್ರಾಥಮಿಕ ಖಾತೆ. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿದೆ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"ನೋಂದಣಿ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ಇನ್ನೂ ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತಿದೆ…"</string>
@@ -67,10 +56,8 @@
     <string name="display_name_title" msgid="579241787583079773">"ಹೆಸರು ಪ್ರದರ್ಶಿಸು"</string>
     <string name="proxy_address_title" msgid="6890163365640631841">"ಹೊರಹೋಗುವ ಪ್ರಾಕ್ಸಿ ವಿಳಾಸ"</string>
     <string name="port_title" msgid="6693965912656593862">"ಪೋರ್ಟ್ ಸಂಖ್ಯೆ"</string>
-    <string name="transport_title" msgid="889155457465372527">"ಸಾಗಣೆ ಪ್ರಕಾರ"</string>
+    <string name="transport_title" msgid="889155457465372527">"ಸಾರಿಗೆ ಪ್ರಕಾರ"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"ಜೀವಂತವಾಗಿ ಇರಿಸು ಅನ್ನು ಕಳುಹಿಸಿ"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"ಪ್ರಾಥಮಿಕ ಖಾತೆಯಾಗಿ ಹೊಂದಿಸಿ"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"ಹೊರಹೋಗುವ ಕರೆಗಳಿಗಾಗಿ ಬಳಸಲಾಗಿದೆ"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ಐಚ್ಛಿಕ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"ದೃಢೀಕರಣ ಬಳಕೆದಾರಹೆಸರು"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"ದೃಢೀಕರಣಕ್ಕಾಗಿ ಬಳಕೆದಾರ ಹೆಸರನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ ಎಲ್ಲವನ್ನೂ ಮರೆಮಾಡಲು ಸ್ಪರ್ಶಿಸಿ"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ಅಗತ್ಯವಿದೆ ಮತ್ತು ಖಾಲಿ ಬಿಡುವಂತಿಲ್ಲ."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"ಪೋರ್ಟ್‌ ಸಂಖ್ಯೆಯು 1000 ಮತ್ತು 65534 ರ ವ್ಯಾಪ್ತಿಯೊಳಗಿರಬೇಕು."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ಇಂಟರ್ನೆಟ್‌‌ ಸಂಪರ್ಕವಿಲ್ಲ"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"ಯಾವುದೇ Wi-Fi ಸಂಪರ್ಕವಿಲ್ಲ"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ಇಂಟರ್ನೆಟ್‌ ಕರೆ ಮಾಡಲು, ಮೊದಲು ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್‌‌ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ಇಂಟರ್ನೆಟ್‌ ಕರೆಗಳಿಗಾಗಿ ನೀವು Wi-Fi ನೆಟ್‌ವರ್ಕ್‌ ಸಂಪರ್ಕಗೊಳಿಸಬೇಕಾದ ಅಗತ್ಯವಿದೆ (ವೈರ್‌ಲೆಸ್‌‌‌ &amp; ನೆಟ್‌ವರ್ಕ್‌ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಳಸಿ)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"ಇಂಟರ್ನೆಟ್ ಕರೆಗೆ ಬೆಂಬಲವಿಲ್ಲ"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP ಕರೆ ಮಾಡಲು, ಮೊದಲು ನಿಮ್ಮ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿ."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP ಕರೆಗಳಿಗಾಗಿ ನೀವು Wi-Fi ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಅಗತ್ಯವಿದೆ (ವೈರ್‌ಲೆಸ್ &amp; ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಳಸಿ)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP ಕರೆ ಮಾಡುವಿಕೆ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"ಸ್ವಯಂಚಾಲಿತ"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ಯಾವಾಗಲೂ ಕಳುಹಿಸು"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"ಅಂತರ್ನಿರ್ಮಿತ ಇಂಟರ್ನೆಟ್‌ ಕರೆಮಾಡುವಿಕೆ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"ಅಂತರ್ನಿರ್ಮಿತ SIP ಕರೆ ಮಾಡುವಿಕೆ"</string>
 </resources>
diff --git a/sip/res/values-ko/strings.xml b/sip/res/values-ko/strings.xml
index 9984c89..af1ed43 100644
--- a/sip/res/values-ko/strings.xml
+++ b/sip/res/values-ko/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"인터넷 통화 설정"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"인터넷 전화(SIP) 계정"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP 설정"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP 계정"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"계정"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"수신전화 받기"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"배터리 수명이 단축됩니다."</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"인터넷 통화 사용"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"인터넷 통화 사용(Wi-Fi 전용)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"배터리가 더 많이 소모됨"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP 통화 사용"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP 통화 사용(Wi-Fi 전용)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"데이터 네트워크 사용 가능 시 모든 통화에 사용"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"인터넷 통화 전용"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"통화할 때마다 묻기"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP 통화 전용"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"모든 통화에 사용"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"발신 전화 유형"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"인터넷 전화 계정 사용:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"인터넷 전화를 걸 때 항상 사용"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"\'휴대전화 &gt; 설정 &gt; 인터넷 통화 설정 &gt; 계정 화면\'에서 기본으로 사용할 인터넷 통화 계정을 변경할 수 있습니다."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"휴대전화 통화"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"인터넷 전화"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"인터넷 전화 계정 없음"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"휴대전화에 인터넷 통화 계정이 없습니다. 지금 추가하시겠습니까?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"추가"</string>
     <string name="add_sip_account" msgid="800843669753980091">"계정 추가"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"계정 삭제"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP 계정"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"프로필 닫기"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"확인"</string>
     <string name="close_profile" msgid="3122414058856309881">"닫기"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"기본 계정. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"상태 확인 중..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"등록 중..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"계속 시도 중..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"포트 번호"</string>
     <string name="transport_title" msgid="889155457465372527">"전송 유형"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"연결 유지 메시지 보내기"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"기본 계정으로 설정"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"발신 전화에 사용됨"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"설정(선택사항)"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"인증 사용자 이름"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"인증에 사용된 사용자 이름"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ 모두 숨기려면 터치"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>은(는) 필수이므로 비워 둘 수 없습니다."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"포트 번호는 1000~65534 사이여야 합니다."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"인터넷에 연결되지 않음"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi에 연결되지 않음"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"인터넷 전화를 걸려면 먼저 인터넷 연결을 확인하세요."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"인터넷 전화를 사용하려면 Wi-Fi 네트워크에 연결되어 있어야 합니다(무선 및 네트워크 설정 사용)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"인터넷 전화가 지원되지 않음"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP 통화를 하려면 먼저 인터넷 연결을 확인하세요."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP 통화를 사용하려면 Wi-Fi 네트워크에 연결해야 합니다(무선 및 네트워크 설정 사용)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP 통화가 지원되지 않습니다."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"자동"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"항상 보내기"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"내장된 인터넷 전화"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"SIP 통화 기본 지원"</string>
 </resources>
diff --git a/sip/res/values-ky-rKG/strings.xml b/sip/res/values-ky-rKG/strings.xml
index df6ad5d..a61df19 100644
--- a/sip/res/values-ky-rKG/strings.xml
+++ b/sip/res/values-ky-rKG/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Интернет аркылуу чалуу жөндөөлөрү"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Интернет аркылуу чалуу (SIP) каттоо эсептери"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP жөндөөлөрү"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP эсептик жазуулары"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Каттоо эсептери"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Келген чалууларды кабыл алуу"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Батареянын кубатын көбүрөөк керектейт"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Интернет аркылуу чалуу"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Интернет аркылуу чалуу (Wi-Fi гана)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Көбүрөөк батарея кубатын колдонот"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP чалуусун пайдалануу"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP чалуусун пайдалануу (Wi-Fi гана)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Дайындар тармагы жеткиликтүү болгон учурдагы бардык чалуулар үчүн"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Интернет аркылуу чалуулар үчүн гана"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Ар бир чалуу сайын суралсын"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP чалуулар үчүн гана"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Бардык чалуулар үчүн"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Чалуу"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Интернет аркылуу чалуу каттоо эсебин колдонуңуз:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Ар дайым Интернет чалууларын пайдалануу"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Телефон &gt; Жөндөөлөр &gt; Интернет аркылуу чалуу жөндөөлөрү &gt; Каттоо эсептеринин экранына өтүп, демейки Интернет чалуу каттоо эсебин өзгөртсөңүз болот."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Уюктук телефон чалуусу"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Интернет аркылуу чалуу"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Интернет аркылуу чалуу эсеби жок"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Бул телефондо бир дагы интернет аркылуу чалуу эсеби жок. Бирди кошосузбу?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Кошуу"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Каттоо эсебин кошуу"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Каттоо эсебин алып салуу"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP каттоо эсептери"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Профилди жабуу"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Жабуу"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Негизги каттоо эсеби. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Абалы текшерилүүдө…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Катталууда…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Дагы эле аракет жасалууда…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Порт номери"</string>
     <string name="transport_title" msgid="889155457465372527">"Унаа түрү"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Туташууну текшерген билдирүүнү жөнөтүү"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Негизги каттоо эсеби катары коюу"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Чыгуучу чалуулар үчүн колдонулат"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Кошумча жөндөөлөр"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Аныктыкты текшерүүчү колдонуучунун ысымы"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Колдонуучунун ысымы аныктыкты текшерүү үчүн колдонулат"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Бардыгын жашыруу үчүн тийип коюңуз"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> талап кылынат жана бош калтырганга болбойт."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Порттун номери 1000 баштап 65534 чейин болушу керек."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Интернет байланышы жок"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi байланышы жок"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Интернет аркчалуу үчүн, алгач интернет байланышыңызды текшериңиз"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Интернет аркылуу чалуу үчүн, Wi-Fi тармагына туташуу керек (Зымсыз Тармактар жөндөөлөрүн колдонуңуз)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Интернет аркылуу чалуу колдоого алынбайт"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP чалуу жайгаштыруу үчүн, адегенде Интернет туташууңузду текшериңиз."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP чалууларын жасоо үчүн Wi-Fi тармагына туташышыңыз керек (Зымсыз &amp; Тармак жөндөөлөрүн пайдаланыңыз)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP чалуу колдоого алынбайт"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Автоматтык"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Ар дайым жөнөтүлсүн"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Кыналган Интернет чалуусу"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Камтылган SIP чалуу"</string>
 </resources>
diff --git a/sip/res/values-lo-rLA/strings.xml b/sip/res/values-lo-rLA/strings.xml
index 9e4a5e6..3bdc32c 100644
--- a/sip/res/values-lo-rLA/strings.xml
+++ b/sip/res/values-lo-rLA/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"ການ​ຕັ້ງ​ຄ່າ​ການ​ໂທ​ຜ່ານ​ອິນ​ເຕີ​ເນັດ"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"ບັນຊີໂທຜ່ານອິນເຕີເນັດ (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"ການ​ຕັ້ງ​ຄ່າ SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"ບັນ​ຊີ SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"ບັນຊີ"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ຮັບ​ສາຍ​ໂທ​ເຂົ້າ"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ຫຼຸດ​ອາ​ຍຸ​ການ​ນຳ​ໃຊ້​ແບັດ​ເຕີ​ຣີ"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"​ໃຊ້​ການ​ໂທ​ຜ່ານ​ອິນ​ເຕີ​ເນັດ"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ໃຊ້​ການ​ໂທ​ຜ່ານ​ອິນ​ເຕີ​ເນັດ​ເທົ່າ​ນັ້ນ (Wi-Fi ເທົ່ານັ້ນ)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ໃຊ້​ອາ​ຍຸ​ແບັດ​ເຕີ​ຣີ​ເພີ່ມ​ເຕີມ"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"ໃຊ້​ການ​ໂທ SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"ໃຊ້​ການ​ໂທ SIP (Wi-Fi ເທົ່າ​ນັ້ນ)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ສຳລັບ​ທຸກສາຍເມື່ອສາມາດ​ໃຊ້ຂໍ້ມູນ​ເຄືອຂ່າຍ​ໄດ້"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"ສຳ​ລັບ​ການ​ໂທ​ຜ່ານ​ອິນ​ເຕີ​ເນັດ​ເທົ່າ​ນັ້ນ"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"​ຖາມ​ທຸກ​ເທື່ອ​ທີ່​ໂທ"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"ສຳ​ລັບ​ການ​ໂທ SIP ເທົ່າ​ນັ້ນ"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"ສຳລັບທຸກສາຍ"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ໂທລະສັບ"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ໃຊ້​ບັນຊີ​ໂທ​ຜ່ານ​ອິນເຕີເນັດ:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"ໃຊ້​ການ​ໂທ​ຜ່ານ​ອິນເຕີເນັດ​ສະເໝີ"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"ທ່ານ​ສາມາດ​ເລືອກ​ໄດ້​ວ່າ​ຈະ​ໃຊ້​ບັນ​ຊີ​ໂທ​ຜ່ານ​ອິນເຕີເນັດ​ບັນຊີ​ໃດ​ເປັນ​ບັນຊີ​ເລີ່ມຕົ້ນ​ໄດ້ ໂດຍ​ໄປ​ທີ່​ໜ້າຈໍ​ໂທລະສັບ &gt; ການຕັ້ງຄ່າ &gt; ການຕັ້ງຄ່າໂທ​ຜ່ານ​ອິນເຕີເນັດ &gt; ບັນຊີ."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"ໂທ​ດ້ວຍ​ໂທລະສັບ​ມືຖື"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"​ໂທ​​ຜ່ານ​​ອິນ​ເຕີ​ເນັດ"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ບໍ່ມີ​ບັນຊີ​ໂທຜ່ານ​ອິນເຕີເນັດ"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ບໍ່​ມີ​ບັນຊີ​ໂທ​ຜ່ານ​ອິນເຕີເນັດ​ໃນ​ໂທລະສັບ​ໜ່ວຍ​ນີ້. ທ່ານ​ຕ້ອງ​ການ​ເພີ່ມ​ບັນ​ຊີ​ໃສ່​ບໍ່?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"ເພີ່ມ"</string>
     <string name="add_sip_account" msgid="800843669753980091">"ເພີ່ມບັນຊີ"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"ລຶບບັນຊີ"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"ບັນ​ຊີ SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"ປິດ​ໂປຣໄຟລ໌"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ຕົກລົງ"</string>
     <string name="close_profile" msgid="3122414058856309881">"ປິດ"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"ບັນຊີຫຼັກ. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"ກຳລັງ​ກວດສອບ​ສະຖານະ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"ກຳລັງ​ລົງທະບຽນ..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ຍັງຄົງພະຍາຍາມຢູ່..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"ໝາຍເລກພອດ"</string>
     <string name="transport_title" msgid="889155457465372527">"ປະເພດການສົ່ງຂໍ້ມູນ"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"ສົ່ງ keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"ຕັ້ງ​ໃຫ້​ເປັນ​ບັນ​ຊີ​ຫຼັກ"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"ໃຊ້ເພື່ອການໂທ​ອອກ"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ການ​ຕັ້ງ​ຄ່າທາງ​ເລືອກ​ເສີມ"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"ຊື່​ຜູ່ໃຊ້​ສຳລັບ​ການ​ພິສູດ​ຢືນຢັນ​ໂຕ"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"ຊື່​ຜູ່ໃຊ້​ເພື່ອ​ການ​ພິສູດ​ຢືນຢັນ​ໂຕ"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ ແຕະ​ເພື່ອ​ເຊື່ອງ​ທັງໝົດ"</string>
     <string name="empty_alert" msgid="6659484914371384024">"ຕ້ອງ​ລະບຸ <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ແລະ​ບໍ່​ສາມາດ​ປ່ອຍ​ຫວ່າງ​ໄດ້."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"ໝາຍ​ເລກ​ພອດ​ຄວນ​ຢູ່​ລະຫວ່າງ 1000 ແລະ 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ບໍ່​ມີ​ການ​ເຊື່ອມຕໍ່​ອິນເຕີເນັດ"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"ບໍ່ມີ​ການ​ເຊື່ອມຕໍ່ Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ເພື່ອ​ໂທ​ຜ່ານ​ອິນເຕີເນັດ, ໃຫ້​ກວດສອບ​ການເຊື່ອມຕໍ່​ອິນເຕີເນັດ​ຂອງ​ທ່ານ​ກ່ອນ."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ທ່ານ​ຕ້ອງ​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄືອຂ່າຍ Wi-Fi ເພື່ອ​ໃຊ້​ການ​ໂທ​ຜ່ານ​ອິນເຕີເນັດ (ໄປທີ່ເມນູ ລະບົບໄຮ້ສາຍ &amp; ການຕັ້ງຄ່າເຄືອຂ່າຍ)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"ບໍ່​ຮອງຮັບ​ການໂທ​ຜ່ານ​ອິນເຕີເນັດ"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"ເພື່ອ​ໃຊ້​ການ​ໂທ SIP, ກວດ​ເບິ່ງ​ການ​ເຊື່ອມ​ຕໍ່​ອິນ​ເຕີ​ເນັດ​ຂອງ​ທ່ານ​ກ່ອນ."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"ທ່ານ​ຈຳ​ເປັນ​ຕ້ອງ​ໄດ້​ເຊື່ອມ​ຕໍ່​ກັບ​ເຄືອ​ຂ່າຍ Wi-Fi ສຳ​ລັບ​ການ​ໂທ SIP (ໃຊ້​ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ຂອງ​ໄວ​ເລ​ສ)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"ການ​ໂທ SIP ບໍ່​ຮອງ​ຮັບ"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"ອັດຕະໂນມັດ"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"​ສົ່ງ​ຕະຫຼອດ"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"ການ​ໂທ​ຜ່ານ​ອິນ​ເຕີ​ເນັດ​ທີ່​ມາ​ກັບ​ເຄື່ອງ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"ການ​ໂທ SIP ໃນ​ເຄື່ອງ"</string>
 </resources>
diff --git a/sip/res/values-lt/strings.xml b/sip/res/values-lt/strings.xml
index 813abb4..7ce074c 100644
--- a/sip/res/values-lt/strings.xml
+++ b/sip/res/values-lt/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Skambučio internetu nustatymai"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Skambinimo internetu (SIP) paskyros"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP nustatymai"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP paskyros"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Paskyros"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Gauti gaunamus skambučius"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Sutrumpėja akumuliatoriaus naudojimo laikas"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Naudoti skambinimo internetu paslaugą"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Naudoti skambinimo internetu paslaugą (tik „Wi-Fi“)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Eikvojama daugiau akumuliatoriaus energijos"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Naudoti SIP skambinimą"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Naudoti SIP skambinimą (tik „Wi-Fi“)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Visiems skambučiams atlikti, kai pasiekiamas duomenų tinklas"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Tik skambučiams internetu atlikti"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Klausti dėl kiekvieno skambučio"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Tik SIP skambučiams"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Visiems skambučiams atlikti"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Skambinti"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Naudoti skambinimo internetu paskyrą:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Visada naudoti skambinant internetu"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Numatytąją skambinimo internetu paskyrą galite pakeisti čia: „Telefonas“ &gt; „Nustatymai“ &gt; „Skambučio internetu nustatymai“ &gt; „Paskyrų“ ekranas."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Skambutis mobiliuoju telefonu"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Skambutis internetu"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Nėra skambinimo internetu paskyros"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Šiame telefone nenustatyta nė viena skambinimo internetu paskyra. Ar norite pridėti ją dabar?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Pridėti"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Pridėti paskyrą"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Pašalinti paskyrą"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP paskyros"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Uždaryti profilį"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Gerai"</string>
     <string name="close_profile" msgid="3122414058856309881">"Uždaryti"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Pagrindinė paskyra. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Tikrinama būsena..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registruojama..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Vis dar bandoma..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Prievado numeris"</string>
     <string name="transport_title" msgid="889155457465372527">"Transportavimo tipas"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Siųsti palaikymo pranešimus"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Nustatyti kaip pagrindinę paskyrą"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Naudojama siunčiamiems skambučiams atlikti"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Pasirenkami nustatymai"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Tapatybės nustatymo naudotojo vardas"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Tapatybei nustatyti naudotas naudotojo vardas"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Jei norite viską paslėpti, palieskite"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Lauke „<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>“ būtina nurodyti vertę – jis negali likti tuščias."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Prievado numeris turi būti nuo 1 000 iki 65 534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nėra interneto ryšio"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nėra „Wi-Fi“ ryšio"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Jei norite skambinti internetu, pirmiausia patikrinkite interneto ryšį."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Jei norite skambinti internetu, turite būti prisijungę prie „Wi-Fi“ ryšio tinklo (naudokite nustatymus „Belaidis ryšys ir tinklas“)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Skambinimas internetu nepalaikomas"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Kad atliktumėte SIP skambutį, pirmiausia patikrinkite interneto ryšį."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Kad galėtumėte atlikti SIP skambučius, turite būti prisijungę prie „Wi-Fi“ tinklo (naudokite „Belaidžio ryšio ir tinklo“ nustatymus)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP skambinimas nepalaikomas"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatinis"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Visada siųsti"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Įdiegta skambučių internetu paslauga"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Integruotas SIP skambinimas"</string>
 </resources>
diff --git a/sip/res/values-lv/strings.xml b/sip/res/values-lv/strings.xml
index e13090a..b1337b5 100644
--- a/sip/res/values-lv/strings.xml
+++ b/sip/res/values-lv/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Interneta zvanu iestatījumi"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Interneta zvanu (SIP) konti"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP iestatījumi"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP konti"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Konti"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Saņemt ienākošos zvanus"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Samazina akumulatora darbības mūža ilgumu"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Interneta zvanu izmantošana"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Izmantot interneta zvanus (tikai Wi-Fi tīklā)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Patērē vairāk akumulatora enerģijas"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP zvanu izmantošana"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP zvanu izmantošana (tikai Wi-Fi tīklā)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Visiem zvaniem, ja ir pieejams datu tīkls"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Tikai interneta zvaniem"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Jautāt katram zvanam"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Tikai SIP zvaniem"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Visiem zvaniem"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Veikt zvanu"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Izmantot interneta zvanu kontu:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Vienmēr izmantot interneta zvanu veikšanai"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Varat mainīt pēc noklusējuma izmantoto interneta zvanu kontu, atverot ekrānu Tālrunis &gt; Iestatījumi &gt; Interneta zvanu iestatījumi &gt; Konti."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobilā tālruņa zvans"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Interneta zvans"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Nav interneta zvanu konta"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Šajā tālrunī nav neviena interneta zvanu konta. Vai vēlaties pievienot kontu tūlīt?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Pievienot"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Pievienot kontu"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Konta noņemšana"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP konti"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Profila aizvēršana"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Labi"</string>
     <string name="close_profile" msgid="3122414058856309881">"Aizvērt"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primārais konts. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Notiek statusa pārbaude..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Notiek reģistrācija..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Joprojām mēģina..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Porta numurs"</string>
     <string name="transport_title" msgid="889155457465372527">"Transporta veids"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Saites darbības pārbaudes ziņojuma sūtīšana"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Iestatīt kā primāro kontu"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Tiek izmantots izejošajiem zvaniem"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Neobligāti iestatījumi"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Autentifikācijai izmantotais lietotājvārds"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Autentifikācijai izmantotais lietotājvārds"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Pieskarieties, lai paslēptu visu"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Lauks <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ir jāaizpilda obligāti; tas nedrīkst būt tukšs."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Porta numuram ir jābūt skaitlim no 1000 līdz 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nav interneta savienojuma"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nav Wi-Fi savienojuma"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Lai veiktu interneta zvanu, vispirms pārbaudiet interneta savienojumu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Lai veiktu interneta zvanus, ir jābūt izveidotam savienojumam ar Wi-Fi tīklu (izmantojiet iestatījumus sadaļā Bezvadu savienojumi un tīkli)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Interneta zvani netiek atbalstīti"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Pirms veicat SIP zvanu, pārbaudiet interneta savienojumu."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Lai veiktu SIP zvanus, ir jāizmanto Wi-Fi tīkls (iestatījumi Bezvadu savienojumi un tīkli)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP zvani netiek atbalstīti"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automātiski"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Vienmēr sūtīt"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Iebūvēta zvanīšanas funkcija internetā"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Iebūvēta SIP zvanu funkcija"</string>
 </resources>
diff --git a/sip/res/values-mk-rMK/strings.xml b/sip/res/values-mk-rMK/strings.xml
index ce48bda..96c043c 100644
--- a/sip/res/values-mk-rMK/strings.xml
+++ b/sip/res/values-mk-rMK/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Поставки за повици на интернет"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Сметки за повикување на интернет (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Поставки на СИП"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Сметки за SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Сметки"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Примај дојдовни повици"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Го намалува животниот век на батеријата"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Користи повикување на интернет"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Користи повикување на интернет (само Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Повеќе ја троши батеријата"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Користете повикување со СИП"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Користете повикување со СИП (само преку Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"За сите повици кога е достапна мрежа на податоци"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Само за повици на интернет"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Прашај за секој повик"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Само за повици со СИП"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"За сите повици"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Воспостави повик"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Користи сметка за повикување на интернет:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Секогаш користи за воспоставување повици на интернет"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Може да промените која сметка за повикување на интернет од телефонот ќе ја користите стандардно преку &gt; Поставки &gt; Поставки за повици од интернет &gt; Екран со сметки."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Повик од мобилен телефон"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Повик на интернет"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Нема сметка за повикување на интернет"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Нема сметки за повикување на интернет на овој телефон. Дали сакате да додадете една сега?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Додај"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Додај сметка"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Отстрани сметка"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Сметки за SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Затвори го профилот"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Во ред"</string>
     <string name="close_profile" msgid="3122414058856309881">"Затвори"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Примарна сметка. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Проверување статус..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Регистрирање..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Уште се обидува..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Број на порта"</string>
     <string name="transport_title" msgid="889155457465372527">"Тип превоз"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Испрати „одржувај врска“"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Постави како примарна сметка"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Се користи за излезни повици"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Изборни поставки"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Корисничко име за автентикација"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Корисничко име што се користи за автентикација"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Допрете за да се сокријат сите"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Потребно е <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> и не може да се остави празно."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Бројот на портата треба да биде меѓу 1000 и 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Нема интернет конекција"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Нема Wi-Fi конекција"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"За да воспоставите повик на интернет, прво проверете ја вашата интернет конекција."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Треба да сте поврзани со Wi-Fi мрежа за повици на интернет (користете ги безжичните и мрежните поставки)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Повикувањето на интернет не е поддржано"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"За да воспоставите повик со СИП, прво проверете го поврзувањето на интернет."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Треба да бидете поврзани со мрежа на Wi-Fi за повици со СИП (користете ги поставките за безжичен интернет и за мрежа)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Повикување со СИП не е поддржано"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Автоматски"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Испраќај секогаш"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Вградено повикување преку интернет"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Вградено повикување со СИП"</string>
 </resources>
diff --git a/sip/res/values-ml-rIN/strings.xml b/sip/res/values-ml-rIN/strings.xml
index c3af42b..814f2a6 100644
--- a/sip/res/values-ml-rIN/strings.xml
+++ b/sip/res/values-ml-rIN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"ഇന്റർനെറ്റ് കോൾ ക്രമീകരണങ്ങൾ"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"ഇന്റർനെറ്റ് കോൾ ചെയ്യൽ (SIP) അക്കൗണ്ടുകൾ"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ക്രമീകരണങ്ങൾ"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP അക്കൗണ്ടുകൾ"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"അക്കൗണ്ടുകൾ"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ഇൻകമിംഗ് കോളുകൾ സ്വീകരിക്കുക"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ബാറ്ററി ആയുസ്സ് കുറയ്‌ക്കുന്നു"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ഇന്റർനെറ്റ് കോൾ ചെയ്യൽ ഉപയോഗിക്കുക"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ഇന്റർനെറ്റ് കോൾ ചെയ്യൽ ഉപയോഗിക്കുക (Wi-Fi യിൽ മാത്രം)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"കൂടുതൽ ബാറ്ററി ആയുസ് ഉപയോഗിക്കുന്നു"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP കോൾചെയ്യൽ ഉപയോഗിക്കുക (Wi-Fi മാത്രം)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ഡാറ്റ നെറ്റ്‌വർക്ക് ലഭ്യമാകുമ്പോൾ എല്ലാ കോളുകൾക്കായും"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"ഇന്റർനെറ്റ് കോളുകൾക്ക് മാത്രം"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ഓരോ കോളിനും ആവശ്യപ്പെടുക"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP കോളുകൾക്ക് മാത്രം"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"എല്ലാ കോളുകൾക്കും"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"കോൾ ചെയ്യുക"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ഇന്റർനെറ്റ് കോൾ ചെയ്യാനുള്ള അക്കൗണ്ട് ഉപയോഗിക്കുക:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"എല്ലായ്പ്പോഴും ഇന്റർനെറ്റ് കോളുകൾ വിളിക്കാൻ ഉപയോഗിക്കുക"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"ഫോൺ &gt; ക്രമീകരണങ്ങൾ &gt; ഇന്റർനെറ്റ് കോൾ ക്രമീകരണങ്ങൾ &gt; അക്കൗണ്ട്‌സ് സ്‌ക്രീൻ എന്നതിൽ നിന്നും നിങ്ങൾക്ക് ഏത് ഇന്റർനെറ്റ് കോൾ അക്കൗണ്ട് സ്ഥിരമായി ഉപയോഗിക്കണമെന്ന് മാറ്റാം."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"സെൽ ഫോൺ കോൾ"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"ഇന്റർനെറ്റ് കോൾ"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ഇന്റർനെറ്റ് കോൾ ചെയ്യാനുള്ള അക്കൗണ്ട്"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ഈ ഫോണിൽ ഇന്റർനെറ്റ് കോൾ ചെയ്യാനുള്ള അക്കൗണ്ടുകളൊന്നുമില്ല. പുതിയതൊന്ന് ചേർക്കണോ?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"ചേർക്കുക"</string>
     <string name="add_sip_account" msgid="800843669753980091">"അക്കൗണ്ട് ചേർക്കുക"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"അക്കൗണ്ട് നീക്കംചെയ്യുക"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP അക്കൗണ്ടുകൾ"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"പ്രൊഫൈൽ അടയ്‌ക്കുക"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ശരി"</string>
     <string name="close_profile" msgid="3122414058856309881">"അടയ്‌ക്കുക"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"പ്രാഥമിക അക്കൗണ്ട്. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"നില പരിശോധിക്കുന്നു..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"രജിസ്റ്റർ ചെയ്യുന്നു…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ഇപ്പോഴും ശ്രമിക്കുന്നു…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"പോർട്ട് നമ്പർ"</string>
     <string name="transport_title" msgid="889155457465372527">"ട്രാൻസ്‌പോർട്ട് തരം"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"സജീവമായി തുടരുക എന്നത് അയയ്‌ക്കുക"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"പ്രാഥമിക അക്കൗണ്ടായി സജ്ജമാക്കുക"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"ഔട്ട്‌ബൗണ്ട് കോളുകൾക്കായി ഉപയോഗിച്ചു"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ഓപ്‌ഷണൽ ക്രമീകരണങ്ങൾ"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"പ്രാമാണീകരണ ഉപയോക്തൃനാമം"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"പ്രാമാണീകരണത്തിന് ഉപയോഗിച്ച ഉപയോക്തൃനാമം"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ എല്ലാം മറയ്‌ക്കാൻ സ്‌പർശിക്കുക"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ആവശ്യമായതിനാൽ ശൂന്യമായിടാനാകില്ല."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"പോർട്ട് നമ്പർ 1000, 65534 എന്നിവയ്‌ക്കിടയിലായിരിക്കണം."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ഇന്റർനെറ്റ് കണക്ഷൻ ഇല്ല"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi കണക്ഷനൊന്നുമില്ല"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ഒരു ഇന്റർനെറ്റ് കോൾ വിളിക്കുന്നതിന്, ആദ്യം നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ഇന്റർനെറ്റ് കോളുകൾക്കായി നിങ്ങൾ Wi-Fi നെറ്റ്‌വർക്കിൽ കണക്‌റ്റുചെയ്യേണ്ടതുണ്ട് (വയർലെസ്, നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"ഇന്റർനെറ്റ് കോൾ ചെയ്യുന്നതിനെ പിന്തുണയ്‌ക്കുന്നില്ല"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP കോൾചെയ്യുന്നതിന്, ആദ്യം നിങ്ങളുടെ ഇന്റർനെറ്റ് കണക്ഷൻ പരിശോധിക്കുക."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP കോളുകൾക്കായി Wi-Fi നെറ്റ്‌വർക്കിലേക്ക് കണക്‌റ്റുചെയ്യേണ്ടതുണ്ട് (വയർലെസ്, നെറ്റ്‌വർക്ക് ക്രമീകരണങ്ങൾ ഉപയോഗിക്കുക)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP കോൾചെയ്യൽ പിന്തുണയ്‌ക്കുന്നില്ല"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"യാന്ത്രികമായി"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"എല്ലായ്പ്പോഴും അയയ്‌ക്കുക"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"അന്തർനിർമ്മിത ഇന്റർനെറ്റ് കോൾ ചെയ്യൽ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"അന്തർ നിർമ്മിത SIP കോൾചെയ്യൽ"</string>
 </resources>
diff --git a/sip/res/values-mn-rMN/strings.xml b/sip/res/values-mn-rMN/strings.xml
index 2c8c334..48792c6 100644
--- a/sip/res/values-mn-rMN/strings.xml
+++ b/sip/res/values-mn-rMN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Интернэт дуудлагын тохиргоо"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Интернэт дуудлагын (SIP) акаунт"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP тохиргоонууд"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP акаунтууд"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Акаунт"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Ирж буй дуудлага хүлээж авах"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Зайны цэнэгийг бууруулна"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Интернэт дуудлага ашиглах"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Интернэт дуудлага ашиглах (зөвхөн Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Илүү их цэнэг хэрэглэдэг"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP дуудлагыг ашигла"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP дуудлагыг ашигла (зөвхөн Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Дата сүлжээтэй үед бүх дуудлагад"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Зөвхөн Интернэт дуудлагад"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Дуудлага бүрт асуух"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP дуудлага хийхэд зориулагдсан"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Бүх дуудлагад"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Дуудлага хийх"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Интернэт дуудлагын акаунт ашиглана уу:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Интернэт дуудлага хийхэд байнга ашиглах"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Та Интернэт дуудлагын аль акаунтыг үндсэнээр ашиглахыг Утас &gt; Тохиргоо &gt; Интернэт дуудлагын тохиргоо &gt; Акаунт гэснээс өөрчилж болно."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Үүрэн утасны дуудлага"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Интернет дуудлага"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Интернэт дуудлагын акаунт байхгүй"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Энэ утсан дээр Интернэт дуудлагын акаунт байхгүй байна. Та одоо нэмэх үү?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Нэмэх"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Акаунт нэмэх"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Акаунтыг арилгах"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP акаунт"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Профайлыг хаана уу"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Тийм"</string>
     <string name="close_profile" msgid="3122414058856309881">"Хаах"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Үндсэн акаунт. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Статусыг шалгаж байна..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Бүртгэж байна…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Оролдож байна…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Портын дугаар"</string>
     <string name="transport_title" msgid="889155457465372527">"Тээврийн хэлбэр"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Торгоох илгээх"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Үндсэн акаунт болгох"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Гадагш чиглэсэн дуудлагуудад ашиглагддаг"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Сонголтын тохиргоо"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Гэрчлэлийн хэрэглэгчийн нэр"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Гэрчлэлд ашигласан хэрэглэгчийн нэр"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Бүгдийг нуухын тулд хүрнэ үү"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> заавал шаардагдах бөгөөд хоосон орхиж болохгүй."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Портын дугаар 1000 болон 65534 хооронд байх ёстой."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Интернет холболт байхгүй"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi холболт байхгүй"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Интернэт дуудлага хийхийн тулд эхлээд Интернэт холболтоо шалгана уу."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Та Интернэт дуудлага хийхийн тулд Wi-Fi сүлжээнд холбогдсон байх шаардлагатай (Wireless &amp; Сүлжээний тохиргоог ашиглана уу)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Интернэт дуудлага дэмжигдэдгүй"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP дуудлага хийхийн тулд эхлээд интернет сүлжээгээ шалгана уу"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP дуудлага хийхийн тулд Wi-Fi сүлжээнд холбогдсон байх хэрэгтэй (Wi-Fi болон Сүлжээний тохиргоог ашигла)"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP дуудлага хийхийг дэмжээгүй байна"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Автоматаар"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Байнга илгээх"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Суурилагдсан Интернет дуудлага"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"SIP дуудлага өгөгдсөн"</string>
 </resources>
diff --git a/sip/res/values-mr-rIN/strings.xml b/sip/res/values-mr-rIN/strings.xml
index adc2a81..59da732 100644
--- a/sip/res/values-mr-rIN/strings.xml
+++ b/sip/res/values-mr-rIN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"इंटरनेट कॉल सेटिंग्ज"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"इंटरनेट कॉलिंंग (SIP) खाती"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP सेटिंग्ज"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP खाती"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"खाती"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"येणारे कॉल प्राप्त करा"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"बॅटरी आयुष्य कमी करते"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"इंटरनेट कॉलिंंग वापरा"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"इंटरनेट कॉलिंंग वापरा (Wi-Fi केवळ)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"अधिक बॅटरी आयुष्‍य वापरते"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP कॉल करणे वापरा"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP कॉल करणे वापरा (वाय-फाय केवळ)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"डेटा नेटवर्क उपलब्ध असल्यावर सर्व कॉलसाठी"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"केवळ इंटरनेट कॉलसाठी"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"प्रत्येक कॉलसाठी विचारा"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"केवळ SIP कॉलसाठी"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"सर्व कॉलसाठी"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"कॉल करा"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"इंटरनेट कॉलिंग खात्‍याचा वापर करा:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"इंटरनेट कॉल करण्यासाठी नेहमी वापर करा"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"आपण फोन &gt; सेटिंग्‍ज &gt; इंटरनेट कॉल सेटिंग्‍ज &gt; खाते स्‍क्रीन वरून डीफॉल्‍टनुसार कोणते इंटरनेट कॉलिंग खाते वापरावे ते बदलू शकता."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"सेल फोन कॉल"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"इंटरनेट कॉल"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"कोणतेही इंटरनेट कॉलिंग खाते नाही"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"या फोनवर कोणतीही इंटरनेट कॉलिंग खाती नाहीत. आपण आता एक जोडू इच्‍छिता?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"जोडा"</string>
     <string name="add_sip_account" msgid="800843669753980091">"खाते जोडा"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"खाते काढा"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP खाती"</string>
@@ -46,13 +36,12 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"प्रोफाईल बंद करा"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ठीक आहे"</string>
     <string name="close_profile" msgid="3122414058856309881">"बंद करा"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"प्राथमिक खाते. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"स्‍थिती तपासत आहे..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"नोंदणी करीत आहे..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"अद्याप प्रयत्न करीत आहे..."</string>
     <string name="registration_status_not_receiving" msgid="7620333886153361090">"कॉल प्राप्त होत नाहीत."</string>
     <string name="registration_status_no_data" msgid="2541999976218192413">"इंटरनेट कनेक्‍शन नसल्‍याने खाते नोंदणी थांबली."</string>
-    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Wi-Fi कनेक्‍शन नसल्‍याने खाते नोंदणी थांबली."</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"वाय-फाय कनेक्‍शन नसल्‍याने खाते नोंदणी थांबली."</string>
     <string name="registration_status_not_running" msgid="514205414303796800">"खाते नोंदणी अयशस्वी."</string>
     <string name="registration_status_done" msgid="3264961069247314253">"कॉल प्राप्त करीत आहे."</string>
     <string name="registration_status_failed_try_later" msgid="2199970021756384317">"खाते नोंदणी अयशस्‍वी: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); नंतर प्रयत्‍न करू"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"पोर्ट नंबर"</string>
     <string name="transport_title" msgid="889155457465372527">"वाहतूक प्रकार"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"चैतन्‍यमय-ठेवा पाठवा"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"प्राथमिक खाते म्हणून सेट करा"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"आउटबाउंड कॉलसाठी वापरले"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"पर्यायी सेटिंग्ज"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"प्रमाणीकरण वापरकर्तानाव"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"प्रमाणीकरणासाठी वापरकर्तानाव वापरले"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ सर्व लपविण्‍यासाठी स्‍पर्श करा"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> आवश्‍यक आहे आणि रिक्त सोडले जाऊ शकत नाही."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"पोर्ट नंबर 1000 आणि 65534 मध्‍ये असावा."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"इंटरनेट कनेक्शन नाही"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"कोणतेही Wi-Fi कनेक्‍शन नाही"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"इंटरनेट कॉल करण्यासाठी, प्रथम आपले इंटरनेट कनेक्शन तपासा."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"आपल्‍याला इंटरनेट कॉलसाठी Wi-Fi नेटवर्कशी कनेक्‍ट केलेले राहणे आवश्‍यक आहे (वायरलेस आणि नेटवर्क सेटिंग्‍जचा वापर करा)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"इंटरनेट कॉलिंंग समर्थित नाही"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"एक SIP कॉल करण्‍यासाठी, प्रथम आपले इंटरनेट कनेक्‍शन तपासा."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP कॉलसाठी आपण वाय-फाय नेटवर्कशी कनेक्‍ट केलेले असणे आवश्‍यक आहे (वायरलेस &amp; नेटवर्क सेटिंग्ज वापरा)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP कॉल करणे समर्थित नाही"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"स्वयंचलित"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"नेहमी पाठवा"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"अंगभूत इंटरनेट कॉलिंग"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"अंगभूत SIP कॉल करणे"</string>
 </resources>
diff --git a/sip/res/values-ms-rMY/strings.xml b/sip/res/values-ms-rMY/strings.xml
index f0877d7..f41589e 100644
--- a/sip/res/values-ms-rMY/strings.xml
+++ b/sip/res/values-ms-rMY/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Tetapan panggilan Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Akaun panggilan Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Tetapan SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Akaun SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Akaun"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Menerima panggilan masuk"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Mengurangkan hayat bateri"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Guna panggilan Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Guna panggilan Internet (Wi-Fi sahaja)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Menggunakan lebih hayat bateri"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Gunakan panggilan SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gunakan panggilan SIP (Wi-Fi sahaja)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Untuk semua panggilan semasa rangkaian data tersedia"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Hanya untuk panggilan Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Tanya untuk setiap panggilan"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Hanya untuk panggilan SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Untuk semua panggilan"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Membuat panggilan"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Gunakan akaun panggilan Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Sentiasa gunakan untuk membuat panggilan Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Anda boleh menukar akaun panggilan Internet mana untuk digunakan secara lalai daripada skrin Telefon &gt; Tetapan &gt; tetapan panggilan Internet &gt; Akaun."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Panggilan telefon bimbit"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Panggilan internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Tiada akaun panggilan Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Tidak ada akaun panggilan internet pada telefon ini. Adakah anda mahu menambah satu sekarang?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Tambah"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Tambah akaun"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Alih keluar akaun"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Akaun SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Tutup profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Tutup"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Akaun utama. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Menyemak status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Mendaftar..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Masih mencuba..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Nombor port"</string>
     <string name="transport_title" msgid="889155457465372527">"Jenis pengangkutan"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Hantar pengekal"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Tetapkan sebagai akaun utama"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Digunakan untuk panggilan keluar"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Tetapan pilihan"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nama pengguna pengesahan"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nama pengguna yang digunakan untuk pengesahan"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Sentuh untuk sembunyikan semua"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> diperlukan dan tidak boleh dibiarkan kosong."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Nombor port harus berada dalam lingkungan 1000 dan 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Tiada sambungan Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Tiada sambungan Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Untuk membuat panggilan Internet, semak sambungan Internet anda terlebih dahulu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Anda perlu disambungkan kepada rangkaian Wi-Fi untuk membuat panggilan Internet (guna tetapan Wayarles &amp; Rangkaian)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"Panggilan Internet tidak disokong"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Untuk membuat panggilan SIP, periksa sambungan Internet anda dahulu."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Anda perlu disambungkan ke rangkaian Wi-Fi bagi panggilan SIP(gunakan tetapan Wayarles &amp; Rangkaian)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Panggilan SIP tidak disokong"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatik"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Sentiasa hantar"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Panggilan Internet terbina dalam"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Panggilan SIP terbina dalam"</string>
 </resources>
diff --git a/sip/res/values-my-rMM/strings.xml b/sip/res/values-my-rMM/strings.xml
index 5fa017c..621d4fe 100644
--- a/sip/res/values-my-rMM/strings.xml
+++ b/sip/res/values-my-rMM/strings.xml
@@ -16,37 +16,26 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"အင်တာနက် ခေါ်ဆိုမှု ဆက်တင်များ"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"အင်တာနက် ခေါ်ဆိုမှု (SIP) အကောင့်များ"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ချိန်ညှိချက်များ"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP အကောင့်များ"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"အကောင့်များ"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"အဝင် ခေါ်ဆိုမှုများ လက်ခံရန်"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ဘတ်ထရီ သတ်တမ်းကို လျှော့ချသည်"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"အင်တာနက် ဖုန်းခေါ်မှု သုံးရန်"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"အင်တာနက် ခေါ်ဆိုမှုကို သုံးရန် (ကြိုးမဲ့ အတွက်သာ)"</string>
-    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ဒေတာ ကွန်ယက် ရှိနေစဉ် ခေါ်ဆိုမှုများ အားလုံး အတွက်"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"အင်တာနက် ခေါ်ဆိုမှုများ အတွက်သာ"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ခေါ်ဆိုမှုတိုင်း အတွက်မေးရန်"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ဘတ်ထရီ သက်တမ်းပိုသုံးပါသည်"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP ခေါ်ဆိုမှု အသုံးပြုမည်"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP ခေါ်ဆိုမှု အသုံးပြုမည် (ကြိုးမဲ့ အင်တာနက်သာ)"</string>
+    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ဒေတာ ကွန်ရက် ရှိနေစဉ် ခေါ်ဆိုမှုများ အားလုံး အတွက်"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP ခေါ်ဆိုမှုများအတွက်သာ"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"ခေါ်ဆိုမှုများ အားလုံး အတွက်"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ဖုန်း ခေါ်ဆိုမှု"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"အင်တာနက် ခေါ်ဆိုမှု အကောင့်ကို သုံးရန်:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"အင်တာနက် ခေါ်ဆိုမှုများ အတွက် အမြဲတမ်းသုံးပါ"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"သင်သည် ဖုန်း &gt; ဆက်တင်များ &gt; အင်တာနက် ခေါ်ဆိုမှု ဆက်တင်များ &gt; အကောင့်များ မျက်နှာပြင်ကို ဝင်ပြီး အင်တာနက် ခေါ်ဆိုမှု အတွက် မည်သည့် အကောင့်ကို ပုံသေ သုံးမည်ကို ပြောင်းလဲ နိုင်ပါသည်။"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"ဆဲလ် ဖုန်း ခေါ်ဆိုမှု"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"အင်တာနက်မှ ခေါ်ဆိုမှု"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"အင်တာနက် ခေါ်ဆိုမှု အကောင့် မရှိပါ"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ဤဖုန်းထဲတွင် အင်တာနက် ခေါ်ဆိုမှု အကောင့်များ မရှိပါ။ အသစ်တစ်ခု ယခု ထည့်လိုပါသလား?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"ထည့်ရန်"</string>
     <string name="add_sip_account" msgid="800843669753980091">"အကောင့် ထည့်ရန်"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"အကောင့်ကို ဖယ်ရှားရန်"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP အကောင့်များ"</string>
     <string name="saving_account" msgid="5336529880235177448">"အကောင့်ကို သိမ်းဆည်းနေ…"</string>
     <string name="removing_account" msgid="5537351356808985756">"အကောင့်ကို ဖယ်ရှားနေ…"</string>
-    <string name="sip_menu_save" msgid="7882219814563869225">"သိမ်းဆည်းရန်"</string>
+    <string name="sip_menu_save" msgid="7882219814563869225">"သိမ်းပါ"</string>
     <string name="sip_menu_discard" msgid="2350421645423888438">"စွန့်ပစ်ရန်"</string>
     <string name="alert_dialog_close" msgid="1326011828713435134">"ပရိုဖိုင်ကို ပိတ်ရန်"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"အိုကေ"</string>
     <string name="close_profile" msgid="3122414058856309881">"ပိတ်ရန်"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"ပင်မ အကောင့်။ <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"အခြေအနေကို စစ်ဆေးနေ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"မှတ်ပုံတင်နေ…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ကြိုးစာနေဆဲ…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"ပို့ နံပါတ်"</string>
     <string name="transport_title" msgid="889155457465372527">"သယ်ယူပို့ဆောင်ရေးအမျိုးအစား"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"keep-alive ကို ပို့ပါ"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"ပင်မ အကောင့် အဖြစ် သတ်မှတ်ရန်"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"အပြင်ထွက် ခေါ်ဆိုမှုများအတွက် သုံးသည်"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ရွေးနိုင်သော ရွေးစရာများ"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"အသုံးပြုသူ အမည် အထောက်အထားကို စိစစ်ခြင်း"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"အသုံးပြုသူ အမည်ကို အထောက်အထား စိစစ်ရန် သုံးခဲ့"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ အားလုံး ဖျောက်ရန် ထိပါ"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> မှာ လိုအပ်ပြီး ပလာထား မရပါ"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"ပို့ နံပါတ်မှာ ၁၀၀၀ မှ ၆၅၅၃၄ အတွင်းမှာ ရှိရပါမည်"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"အင်တာနက် ဆက်သွယ်မှု မရှိပါ"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"ကြိုးမဲ့ ချိတ်ဆက်မှု မရှိပါ"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"အင်တာနက် ခေါ်ဆိုရန်အတွက် အင်တာနက်ဆက်သွယ်မှုကို အရင် စစ်ဆေးပါ"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"အင်နာက်ဖုန်း ခေါ်ဆိုရန် သင်သည် ကြိုးမဲ့ ကွန်ရက်နှင့် ချိတ်ဆက်ထားရမည် (ကြိုးမဲ့ &amp; ကွန်ရက် ဆက်တင်ကို သုံးပါ)။"</string>
-    <string name="no_voip" msgid="1600568347241920141">"အင်တာနက် ခေါ်ဆိုမှုကို မပံ့ပိုးပါ"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP ခေါ်ဆိုမှု ပြုလုပ်ရန်၊ သင့်အင်တာနက် ချိတ်ဆက်မှုကိုဦးစွာ စစ်ဆေးပါ။"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"ခေါ်ဆိုမှုအတွက် ကြိုးမဲ့ကွန်ရက် ချိတ်ဆက်ရန်လိုအပ်ပါသည် (ကြိုးမဲ့ နှင့် ကွန်ရက်ချိန်ညှိချက်များကို အသုံးပြုပါ)။"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP ခေါ်ဆိုမှု မထောက်ပံံ့ပါ။"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"အလိုအလျောက်"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"အမြဲတမ်း ပို့ရန်"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"တပ်ဆင်ပြီး အင်တာနက် ခေါ်ဆိုမှု"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"SIP မူလခေါ်ဆိုမှု"</string>
 </resources>
diff --git a/sip/res/values-nb/strings.xml b/sip/res/values-nb/strings.xml
index fb9b429..5f8501c 100644
--- a/sip/res/values-nb/strings.xml
+++ b/sip/res/values-nb/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Innstillinger for Internett-anrop"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"SIP-kontoer (Internett-anrop)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-innstillinger"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-kontoer"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Kontoer"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Motta innkommende anrop"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduserer batterilevetiden"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Bruk Internett-anrop"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Bruk Internett-anrop (bare Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Bruker mer batterilevetid"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Bruk SIP-oppringing"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Bruk SIP-oppringing (kun for Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"For alle anrop hvor datanettverk er tilgjengelige"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Bare for Internett-anrop"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Spør ved alle anrop"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Kun for SIP-oppringing"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Bruk ved alle anrop"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Foreta anrop"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Bruk konto for Internett-anrop:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Standardvalg for Internett-anrop"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Du kan endre hvilken konto for Internett-anrop som skal brukes som standard, under Telefon &gt; Innstillinger &gt; Innstillinger for Internett-anrop &gt; Kontoer."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobiltelefonanrop"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internett-anrop"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ingen konto for Internett-anrop"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Det er ingen konto for Internett-anrop på denne telefonen. Vil du legge til en nå?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Legg til"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Legg til konto"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Fjern kontoen"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-kontoer"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Lukk profilen"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Lukk"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Hovedkonto. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Kontrollerer statusen …"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrerer …"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Prøver fortsatt …"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Portnummer"</string>
     <string name="transport_title" msgid="889155457465372527">"Transporttype"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Send hold-aktiv-meldinger"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Angi som hovedkonto"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Brukt til utgående anrop"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Valgfrie innstillinger"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Brukernavn for autentisering"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Brukernavn brukes til autentisering"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Trykk for å skjule alle"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> er obligatorisk. Feltet kan ikke være tomt."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Portnummeret må være mellom 1000 og 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Ingen Internett-tilkobling"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Ingen Wi-Fi-tilkobling"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Kontroller Internett-tilkoblingen før du foretar et Internett-anrop."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Du må være koblet til et Wi-Fi-nettverk for å foreta Internett-anrop (gå til innstillingene Trådløst og nettverk)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internett-anrop støttes ikke"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"For å foreta en SIP-oppringing må du først sjekke internettilkoblingen din."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Du må være koblet til et Wi-Fi-nettverk for å benytte SIP-oppringing (bruk Trådløst og nettverk-innstillingene)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-oppringing støttes ikke"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatisk"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Send alltid"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Innebygd Internett-ringing"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Innebygd SIP-oppringing"</string>
 </resources>
diff --git a/sip/res/values-ne-rNP/strings.xml b/sip/res/values-ne-rNP/strings.xml
index cae861b..7ef1773 100644
--- a/sip/res/values-ne-rNP/strings.xml
+++ b/sip/res/values-ne-rNP/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"इन्टरनेट कल सेटिङहरू"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"इन्टरनेट कल गर्ने (SIP) खाताहरू"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP सेटिङहरू"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP खाताहरू"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"खाताहरू"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"आगमन कलहरू प्राप्त गर्नुहोस्"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ब्याट्रिको जीवन घटाउँछ"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"इन्टरनेट कल गर्न प्रयोग गर्नुहोस्"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"इन्टरनेट कल (वाइफाइ मात्र) उपयोग गर्नुहोस्"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"बढि ब्याट्री आयु खपत गर्छ"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP कल प्रयोग गर्नुहोस्"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP कल प्रयोग गर्नुहोस् (Wi-Fi मात्र)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"डेटा नेटवर्क उपलब्ध हुँदा सबै कलहरूको लागि"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"इन्टरनेट कलहरूको लागि मात्र"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"प्रत्येक कलको लागि सोध्नुहोस्"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"मात्र SIP कलका लागि"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"सबै कलहरूको लागि"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"कल राख्नुहोस्"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"इन्टरनेट कल गर्ने खाता प्रयोग गर्नुहोस्:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"इन्टरनेट कलहरू राख्न सधैँ प्रयोग गर्नुहोस्"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"तपाईँले फोनको पूर्वनिर्धारितको प्रयोगद्वारा सेटिङहरू, इन्टरनेट कल सेटिङहरू, खाता स्क्रिन परिवर्तन गर्न सक्नु हुन्छ।"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"मोबाइल फोन कल"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"इन्टरनेट कल"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"इन्टरनेट कल गर्ने खाता छैन"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"यो फोनमा कुनै इन्टरनेट कल गर्ने खाता छैन। के तपाईँको खाता थप्न चाहनुहुन्छ?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"थप्नुहोस्"</string>
     <string name="add_sip_account" msgid="800843669753980091">"खाता थप्नुहोस्"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"खाता हटाउनुहोस्"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP खाताहरू"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"प्रोफाइल बन्द गर्नुहोस्"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ठीक छ"</string>
     <string name="close_profile" msgid="3122414058856309881">"बन्द गर्नुहोस्"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"प्राथमिक खाता <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"स्थिति जाँच गर्दै..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"दर्ता गर्दै..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"प्रयास गरिँदै..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"पोर्ट सङ्ख्या"</string>
     <string name="transport_title" msgid="889155457465372527">"यातायात प्रकार"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"चालु राख्नको लागि पठाउनुहोस्"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"प्राथमिक खाताको रूपमा सेट गर्नुहोस्"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"बहिर्गमन कलको लागि प्रयोग भएको"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"वैकल्पिक सेटिङहरू"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"प्रमाणीकरण प्रयोगकर्ता नाम"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"प्रमाणीकरणको लागि प्रयोगकर्ता नाम प्रयोग भएको"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ छोएर सबै लुकाउनुहोस्"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> चाहिन्छ र खाली छोड्न सकिँदैन।"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"पोर्ट संख्या १००० र  ६५५३४ को बीचमा हुनुपर्छ।"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"कुनै इन्टरनेट जडान छैन"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"वाइफाइ जडान छैन"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"इन्टरनेट कल राख्नको लागि पहिले तपाईँको इन्टरनेट सम्पर्क जाँच्नुहोस्"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"तपाईँलाई इन्टरनेट कलहरू (वायरलेस र नेटवर्क सेटिङहरूको प्रयोग) को लागि वाइफाइ सञ्जाल जडान गर्न जरुरी हुन्छ।"</string>
-    <string name="no_voip" msgid="1600568347241920141">"इन्टरनेट कल गर्न समर्थित छैन"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"एक SIP कल गर्नका लागि पहिले तपाईंको इन्टरनेट जडान जाँच गर्नुहोस्।"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP कलका लागि तपाईँ एउटा Wi-Fi सञ्जालमा जडित हुन पर्छ (ताररहित &amp; सञ्जाल सेटिङ प्रयोग गर्नुहोस्)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP कल गर्न समर्थित छैन"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"स्वचालित"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"सधैँ पठाउनुहोस्"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"इन्टरनेट कलमा निर्मित"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"अन्तरनिर्मित SIP कल"</string>
 </resources>
diff --git a/sip/res/values-nl/strings.xml b/sip/res/values-nl/strings.xml
index 0a55251..d440867 100644
--- a/sip/res/values-nl/strings.xml
+++ b/sip/res/values-nl/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Instellingen voor bellen via internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Accounts voor internetoproepen (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-instelllingen"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-accounts"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Accounts"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Binnenkomende oproepen ontvangen"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Beperkt levensduur van accu"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Internetoproepen gebruiken"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Internetoproepen gebruiken (alleen wifi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Gebruikt meer acculading"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP-oproepen gebruiken"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP-oproepen gebruiken (alleen wifi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Voor alle oproepen indien gegevensnetwerk beschikbaar is"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Alleen voor internetoproepen"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Vragen bij elke oproep"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Alleen voor SIP-oproepen"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Voor alle oproepen"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Bellen"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Account voor internetoproepen gebruiken:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Altijd gebruiken voor internetoproepen"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Via het scherm \'Telefoon &gt; Instellingen &gt; Instellingen voor bellen via internet &gt; Accounts\' kunt u het account wijzigen dat u standaard wilt gebruiken voor bellen via internet."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Oproep met mobiele telefoon"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetoproep"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Geen account voor internetoproepen"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Er zijn geen accounts voor bellen via internet ingesteld op deze telefoon. Wilt u nu een account toevoegen?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Toevoegen"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Account toevoegen"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Account verwijderen"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-accounts"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Het profiel sluiten"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Sluiten"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primair account. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Status controleren..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registreren…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Nog steeds bezig…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Poortnummer"</string>
     <string name="transport_title" msgid="889155457465372527">"Transporttype"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Keepalive verzenden"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Instellen als primair account"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Gebruikt voor uitgaande oproepen"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Optionele instellingen"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Gebruikersnaam voor verificatie"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Gebruikersnaam die voor de verificatie wordt gebruikt"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tikken om alles te verbergen"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> is verplicht en mag niet leeg worden gelaten."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Het poortnummer moet tussen 1000 en 65534 liggen."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Geen internetverbinding"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Geen wifi-verbinding"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Controleer uw internetverbinding voordat u belt via internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Voor internetoproepen moet u verbinding hebben met een wifi-netwerk (gebruik de instellingen bij \'Draadloos en netwerken\')."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Bellen via internet niet ondersteund"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Als u een SIP-oproep wilt plaatsen, controleert u eerst uw internetverbinding."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"U moet verbinding hebben met een wifi-netwerk voor SIP-oproepen (gebruik de instellingen bij \'Draadloos en netwerken\')."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-oproepen worden niet ondersteund"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatisch"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Altijd verzenden"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Geïntegreerde internetoproepen"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Ingebouwde SIP-oproepen"</string>
 </resources>
diff --git a/sip/res/values-pa-rIN/strings.xml b/sip/res/values-pa-rIN/strings.xml
new file mode 100644
index 0000000..1db0e5c
--- /dev/null
+++ b/sip/res/values-pa-rIN/strings.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ਸੈਟਿੰਗਾਂ"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP ਖਾਤੇ"</string>
+    <string name="sip_accounts_title" msgid="2082527045326874519">"ਖਾਤੇ"</string>
+    <string name="sip_receive_calls" msgid="426678617137462173">"ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ਵੱਧ ਬੈਟਰੀ ਸਮਰੱਥਾ ਵਰਤਦਾ ਹੈ"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP ਕਾਲਿੰਗ ਵਰਤੋ"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP ਕਾਲਿੰਗ ਵਰਤੋ (ਕੇਵਲ Wi-Fi)"</string>
+    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ਜਦੋਂ ਡਾਟਾ ਨੈਟਵਰਕ ਉਪਲਬਧ ਹੋਵੇ ਤਾਂ ਸਾਰੀਆਂ ਕਾਲਾਂ ਲਈ"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"ਕੇਵਲ SIP ਕਾਲਾਂ ਲਈ"</string>
+    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"ਸਾਰੀਆਂ ਕਾਲਾਂ ਲਈ"</string>
+    <string name="add_sip_account" msgid="800843669753980091">"ਖਾਤਾ ਜੋੜੋ"</string>
+    <string name="remove_sip_account" msgid="1367664438506503690">"ਖਾਤਾ ਹਟਾਓ"</string>
+    <string name="sip_account_list" msgid="5610858485304821480">"SIP ਖਾਤੇ"</string>
+    <string name="saving_account" msgid="5336529880235177448">"ਖਾਤਾ ਸੁਰੱਖਿਅਤ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="removing_account" msgid="5537351356808985756">"ਖਾਤਾ ਹਟਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="sip_menu_save" msgid="7882219814563869225">"ਸੁਰੱਖਿਅਤ ਕਰੋ"</string>
+    <string name="sip_menu_discard" msgid="2350421645423888438">"ਬਰਖਾਸਤ ਕਰੋ"</string>
+    <string name="alert_dialog_close" msgid="1326011828713435134">"ਪ੍ਰੋਫਾਈਲ ਬੰਦ ਕਰੋ"</string>
+    <string name="alert_dialog_ok" msgid="4752048404605388940">"ਠੀਕ"</string>
+    <string name="close_profile" msgid="3122414058856309881">"ਬੰਦ ਕਰੋ"</string>
+    <string name="registration_status_checking_status" msgid="6136793741862200337">"ਸਥਿਤੀ ਦੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."</string>
+    <string name="registration_status_registering" msgid="2677183977796278749">"ਰਜਿਸਟਰ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="registration_status_still_trying" msgid="7648151061205513458">"ਅਜੇ ਵੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ…"</string>
+    <string name="registration_status_not_receiving" msgid="7620333886153361090">"ਕਾਲਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+    <string name="registration_status_no_data" msgid="2541999976218192413">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਰੁਕ ਗਿਆ ਕਿਉਂਕਿ ਕੋਈ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ।"</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਰੁਕ ਗਿਆ ਕਿਉਂਕਿ ਕੋਈ Wi-Fi ਕਨੈਕਸ਼ਨ ਨਹੀਂ ਹੈ।"</string>
+    <string name="registration_status_not_running" msgid="514205414303796800">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ।"</string>
+    <string name="registration_status_done" msgid="3264961069247314253">"ਕਾਲਾਂ ਪ੍ਰਾਪਤ ਕਰ ਰਿਹਾ ਹੈ।"</string>
+    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); ਬਾਅਦ ਵਿੱਚ ਕੋਸ਼ਿਸ਼ ਕਰੇਗਾ"</string>
+    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ: ਗ਼ਲਤ ਉਪਭੋਗਤਾ ਨਾਮ ਜਾਂ ਪਾਸਵਰਡ।"</string>
+    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"ਖਾਤਾ ਰਜਿਸਟਰੇਸ਼ਨ ਅਸਫਲ: ਸਰਵਰ ਨਾਮ ਦੀ ਜਾਂਚ ਕਰੋ।"</string>
+    <string name="third_party_account_summary" msgid="9041060473615403041">"ਇਹ ਖਾਤਾ ਇਸ ਵੇਲੇ <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> ਐਪ ਵੱਲੋਂ ਵਰਤੋਂ ਵਿੱਚ ਹੈ।"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP ਖਾਤਾ ਵੇਰਵੇ"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP ਖਾਤਾ ਵੇਰਵੇ"</string>
+    <string name="domain_address_title" msgid="1968479941328225423">"ਸਰਵਰ"</string>
+    <string name="username_title" msgid="6770064611005663470">"ਉਪਭੋਗਤਾ ਨਾਮ"</string>
+    <string name="password_title" msgid="5289013731515564295">"ਪਾਸਵਰਡ"</string>
+    <string name="display_name_title" msgid="579241787583079773">"ਡਿਸਪਲੇ ਨਾਮ"</string>
+    <string name="proxy_address_title" msgid="6890163365640631841">"ਆਊਟਬਾਊਂਡ ਪ੍ਰੌਕਸੀ ਪਤਾ"</string>
+    <string name="port_title" msgid="6693965912656593862">"ਪੋਰਟ ਨੰਬਰ"</string>
+    <string name="transport_title" msgid="889155457465372527">"ਟ੍ਰਾਂਸਪੋਰਟ ਪ੍ਰਕਾਰ"</string>
+    <string name="send_keepalive_title" msgid="599627072150501159">"ਕੀਪ-ਅਲਾਈਵ ਭੇਜੋ"</string>
+    <string name="advanced_settings" msgid="6622996380747040711">"ਚੋਣ ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="auth_username_title" msgid="8262491689004708265">"ਪ੍ਰਮਾਣੀਕਰਨ ਉਪਭੋਗਤਾ ਨਾਮ"</string>
+    <string name="auth_username_summary" msgid="941160241371436473">"ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਵਰਤਿਆ ਗਿਆ ਉਪਭੋਗਤਾ ਨਾਮ"</string>
+    <string name="default_preference_summary" msgid="1979249643719483249">"&lt;ਸੈਟ ਨਹੀਂ ਕੀਤਾ&gt;"</string>
+    <string name="display_name_summary" msgid="7155076491675565407">"&lt;ਉਪਭੋਗਤਾ ਨਾਮ ਦੇ ਸਮਾਨ&gt;"</string>
+    <string name="optional_summary" msgid="2363105560396317624">"&lt;ਚੋਣਵਾਂ&gt;"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ ਸਾਰੇ ਦਿਖਾਉਣ ਲਈ ਛੋਹਵੋ"</string>
+    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ ਸਾਰੇ ਲੁਕਾਉਣ ਲਈ ਛੋਹਵੋ"</string>
+    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> ਲੁੜੀਂਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਖਾਲੀ ਨਹੀਂ ਛੱਡਿਆ ਜਾ ਸਕਦਾ।"</string>
+    <string name="not_a_valid_port" msgid="7931422555587011830">"ਪੋਰਟ ਨੰਬਰ 1000 ਅਤੇ 65534 ਵਿਚਕਾਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"ਇੱਕ SIP ਕਾਲ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਆਪਣੇ ਇੰਟਰਨੈਟ ਕਨੈਕਸ਼ਨ ਦੀ ਜਾਂਚ ਕਰੋ।"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP ਕਾਲਾਂ ਲਈ ਤੁਹਾਨੂੰ ਇੱਕ Wi-Fi ਨੈਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ (ਵਾਇਰਲੈਸ &amp; ਨੈਟਵਰਕ ਸੈਟਿੰਗਾਂ ਵਰਤੋ)।"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP ਕਾਲਿੰਗ ਸਮਰਥਿਤ ਨਹੀਂ"</string>
+    <string name="sip_system_decide" msgid="5577696249416700671">"ਆਟੋਮੈਟਿਕ"</string>
+    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ਹਮੇਸ਼ਾਂ ਭੇਜੋ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"ਬਿਲਟ-ਇਨ SIP ਕਾਲਿੰਗ"</string>
+</resources>
diff --git a/sip/res/values-pl/strings.xml b/sip/res/values-pl/strings.xml
index 28f82e2..b8b94f7 100644
--- a/sip/res/values-pl/strings.xml
+++ b/sip/res/values-pl/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Ustawienia dzwonienia przez internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Konta do połączeń przez internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Ustawienia SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Konta SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Konta"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Odbieraj połączenia przychodzące"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Skraca czas pracy baterii"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Dzwoń przez internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Dzwoń przez internet (tylko Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Zużywa więcej energii baterii"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Użyj połączenia SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Użyj połączenia SIP (tylko przez Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Przy wszystkich połączeniach, gdy sieć transmisji danych jest dostępna"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Tylko internetowe"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Pytaj przy każdym połączeniu"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Tylko do połączeń SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Wszystkie połączenia"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Połącz"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Użyj konta do dzwonienia przez internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Zawsze używaj do połączeń przez internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Konto używane domyślnie do dzwonienia przez internet możesz zmienić w sekcji Telefon &gt; Ustawienia &gt; Dzwonienie przez internet &gt; Konta."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Komórkowe połączenie telefoniczne"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Rozmowa internetowa"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Brak konta do połączeń przez internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Na tym telefonie nie ma jeszcze kont do dzwonienia przez internet. Czy chcesz dodać takie konto teraz?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Dodaj"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Dodaj konto"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Usuń konto"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Konta SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Zamknij profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Zamknij"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Konto podstawowe. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Sprawdzam stan..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Rejestruję…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Nadal próbuję…"</string>
@@ -67,26 +56,22 @@
     <string name="display_name_title" msgid="579241787583079773">"Wyświetlana nazwa"</string>
     <string name="proxy_address_title" msgid="6890163365640631841">"Proxy połączeń wychodzących"</string>
     <string name="port_title" msgid="6693965912656593862">"Numer portu"</string>
-    <string name="transport_title" msgid="889155457465372527">"Typ transportu"</string>
+    <string name="transport_title" msgid="889155457465372527">"Protokół"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Utrzymuj połączenie"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Ustaw jako konto podstawowe"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Używane do połączeń wychodzących"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Ustawienia opcjonalne"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nazwa do uwierzytelniania"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nazwa użytkownika używana do uwierzytelniania"</string>
     <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Nie ustawiono&gt;"</string>
-    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Taka jak nazwa użytkownika&gt;"</string>
+    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Taka sama jak nazwa użytkownika&gt;"</string>
     <string name="optional_summary" msgid="2363105560396317624">"&lt;Opcjonalny&gt;"</string>
-    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Dotknij, by pokazać wszystko"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Dotknij, by wyświetlić wszystkie ustawienia"</string>
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Dotknij, by ukryć wszystko"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> jest wymagane i nie może pozostać puste."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Numer portu powinien mieć wartość od 1000 do 65 534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Brak internetu"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Brak połączenia Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Aby zadzwonić przez internet, sprawdź najpierw połączenie internetowe."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Aby dzwonić przez internet, musisz połączyć się z siecią Wi-Fi (użyj ustawień w sekcji Sieci zwykłe i bezprzewodowe)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Brak obsługi połączeń przez internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Aby nawiązać połączenie SIP, najpierw sprawdź połączenie internetowe."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Połączenia SIP wymagają nawiązania połączenia z siecią Wi-Fi (użyj ustawień sieci zwykłych i bezprzewodowych)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Połączenia SIP nie są obsługiwane"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatycznie"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Zawsze wysyłaj"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Wbudowana funkcja telefonii internetowej"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Wbudowanie połączenia SIP"</string>
 </resources>
diff --git a/sip/res/values-pt-rPT/strings.xml b/sip/res/values-pt-rPT/strings.xml
index c115d2d..6c4fa54 100644
--- a/sip/res/values-pt-rPT/strings.xml
+++ b/sip/res/values-pt-rPT/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Definições de chamadas por Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Contas de chamadas por Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Definições SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Contas SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Contas"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Obter chamadas recebidas"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduz a vida útil da bateria"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Utilizar chamadas por Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Utilizar chamadas por Internet (apenas Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Utiliza mais bateria"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Utilizar chamadas SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Utilizar chamadas SIP (apenas Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para todas as chamadas quando a rede de dados estiver disponível"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Apenas para chamadas por Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Perguntar em cada chamada"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Apenas para chamadas SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Para todas as chamadas"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Fazer chamada"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Utilizar conta de chamadas por Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Utilizar sempre para fazer chamadas por Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Pode alterar a conta de chamadas por Internet a utilizar por predefinição a partir do ecrã Telemóvel &gt; Definições &gt; Definições de chamadas por Internet &gt; Contas."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Chamada por telemóvel"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Chamada por Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Sem conta de chamadas por Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Não há contas de chamadas por Internet neste telemóvel. Pretende adicionar uma agora?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Adicionar"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Adicionar conta"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Remover conta"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Contas SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Fechar o perfil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Fechar"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Conta principal: <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"A verificar estado..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"A registar..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Ainda a tentar..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Número da porta"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipo de transporte"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Enviar mensagem keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Definir como conta principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilizado para chamadas enviadas"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Definições opcionais"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nome de utilizador para autenticação"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nome de utilizador usado para autenticação"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Toque para ocultar tudo"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> é obrigatório e tem de ser preenchido."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"O número da porta deve estar entre 1000 e 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Sem ligação à Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Sem ligação Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Para fazer uma chamada por Internet, verifique primeiro a ligação à Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Para fazer chamadas por Internet, é preciso estar ligado a uma rede Wi-Fi (use as definições de Redes sem fios e outras)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Não são suportadas cham. por Internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Para efetuar uma chamada SIP, verifique primeiro a ligação à Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Precisa de uma ligação a uma rede Wi-Fi para efetuar chamadas SIP (utilize as definições Redes sem fios e outras)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Chamadas SIP não suportadas"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automático"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Enviar sempre"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Chamadas por Internet incorporadas"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Chamadas SIP incorporadas"</string>
 </resources>
diff --git a/sip/res/values-pt/strings.xml b/sip/res/values-pt/strings.xml
index 0e59e61..fabe5ad 100644
--- a/sip/res/values-pt/strings.xml
+++ b/sip/res/values-pt/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Configurações de chamada pela Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Contas para chamada pela Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Configurações SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Contas SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Contas"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Receber chamadas"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduz a vida útil da bateria"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Usar chamada pela Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Usar chamada pela Internet (somente Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Usa mais bateria"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Usar chamadas SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Usar chamadas SIP (apenas Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para todas as chamadas, quando a rede de dados estiver disponível"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Apenas para chamadas pela Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Perguntar toda chamada"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Apenas para chamadas SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Para todas as chamadas"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Chamar"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Usar a conta para chamada pela Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Sempre usar para realizar chamadas pela Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Você pode alterar qual conta de chamada pela Internet será usada por padrão na tela Telefone &gt; Configurações &gt; Configurações de chamada pela Internet &gt; Contas."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Chamada para celular"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Chamada pela Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Não há conta para chamada pela Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Não há contas de chamada pela Internet neste telefone. Você deseja adicionar uma conta agora?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Adicionar"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Adicionar conta"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Remover conta"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Contas SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Fechar o perfil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Ok"</string>
     <string name="close_profile" msgid="3122414058856309881">"Fechar"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Conta principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Verificando status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrando..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Ainda tentando..."</string>
@@ -58,7 +47,7 @@
     <string name="registration_status_failed_try_later" msgid="2199970021756384317">"Falha no registro da conta: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>). Nova tentativa mais tarde"</string>
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Falha no registro da conta: nome de usuário ou senha incorretos."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Falha no registro da conta: verifique o nome do servidor."</string>
-    <string name="third_party_account_summary" msgid="9041060473615403041">"No momento, esta conta é usada pelo aplicativo <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
+    <string name="third_party_account_summary" msgid="9041060473615403041">"No momento, esta conta é usada pelo app <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
     <string name="sip_edit_title" msgid="1967247832635750410">"Detalhes da conta SIP"</string>
     <string name="sip_edit_new_title" msgid="266414118302574305">"Detalhes da conta SIP"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"Servidor"</string>
@@ -69,24 +58,20 @@
     <string name="port_title" msgid="6693965912656593862">"Número da porta"</string>
     <string name="transport_title" msgid="889155457465372527">"Tipo de transporte"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Enviar sinal de atividade"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Definir como conta principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilizado para chamadas de saída"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Configurações opcionais"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nome de usuário da autenticação"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Nome de usuário utilizado para autenticação"</string>
     <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Não definido&gt;"</string>
     <string name="display_name_summary" msgid="7155076491675565407">"&lt;Igual ao nome de usuário&gt;"</string>
     <string name="optional_summary" msgid="2363105560396317624">"&lt;Opcional&gt;"</string>
-    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Toque para mostrar todos"</string>
-    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Toque para ocultar todos"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Toque para mostrar todas"</string>
+    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Toque para ocultar todas"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> é um campo obrigatório e não pode ser deixado em branco."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"O número da porta deve estar entre 1000 e 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nenhuma conexão à internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nenhuma conexão Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Antes de fazer uma chamada pela Internet, primeiro verifique a conexão com a Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Você precisa estar conectado a uma rede Wi-Fi para realizar chamadas pela Internet (use as Configurações de redes sem fio e outras)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Chamada pela Internet não suportada"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Para fazer uma chamada SIP, verifique sua conexão com a Internet primeiro."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Você precisa estar conectado a uma rede Wi-Fi para chamadas SIP (use as configurações sem fio e de rede)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Chamada SIP não suportada"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automático"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Sempre enviar"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Chamadas pela Internet integradas"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Chamadas SIP incorporadas"</string>
 </resources>
diff --git a/sip/res/values-ro/strings.xml b/sip/res/values-ro/strings.xml
index ee5a634..d900fd8 100644
--- a/sip/res/values-ro/strings.xml
+++ b/sip/res/values-ro/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Setări pentru apeluri prin internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Conturi pentru apelare prin internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Setări SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Conturi SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Conturi"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Primiți apeluri"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Reduce durata de funcţionare a bateriei"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Utilizaţi apelarea prin internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Utilizaţi apelarea prin internet (numai Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Consumă mai multă baterie"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Folosiți apelarea SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Folosiți apelarea SIP (numai prin Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Pentru toate apelurile, când reţeaua de date este disponibilă"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Numai pentru apeluri prin internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Întrebați la fiecare apel"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Numai pentru apeluri SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Pentru toate apelurile"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Efectuaţi apel"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Utilizaţi contul pentru apelare prin internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Utilizaţi întotdeauna pentru a efectua apeluri prin internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Puteţi să schimbaţi contul de apelare prin internet pe care îl utilizaţi în mod prestabilit, din ecranul Telefon &gt; Setări &gt; Setări apeluri prin internet &gt; Conturi."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Apel de pe mobil"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Apel prin internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Nu există conturi de apelare prin internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Nu există conturi de apelare prin internet pe acest telefon. Adăugați unul acum?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Adăugați"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Adăugați un cont"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Eliminaţi contul"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Conturi SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Închideţi profilul"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Închideți"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Cont principal. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Se verifică starea..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Se înregistrează..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Se încearcă în continuare..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Numărul portului"</string>
     <string name="transport_title" msgid="889155457465372527">"Tip de transport"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Trimiteţi mesaje keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Setaţi drept cont principal"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Utilizat pentru apelurile de ieşire"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Setări opţionale"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Nume de utilizator pentru autentificare"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Numele de utilizator folosit pentru autentificare"</string>
@@ -80,13 +67,11 @@
     <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Atingeți pentru a afișa tot"</string>
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Atingeți pentru a ascunde tot"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Câmpul <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> este obligatoriu și nu poate fi lăsat necompletat."</string>
-    <string name="not_a_valid_port" msgid="7931422555587011830">"Numărul portului trebuie să fie cuprins între 1000 şi 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Nu aveți conexiune la internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Nu există conexiune Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Pentru a efectua un apel prin internet, verificaţi mai întâi conexiunea la internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"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)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Apelarea prin internet neacceptată"</string>
+    <string name="not_a_valid_port" msgid="7931422555587011830">"Numărul portului trebuie să fie cuprins între 1000 și 65534."</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Pentru a efectua un apel SIP, mai întâi verificați conexiunea la internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Pentru apeluri SIP trebuie să fiți conectat(ă) la o rețea Wi-Fi (folosiți setările din Wireless și rețea)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Apelarea SIP nu este acceptată"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automat"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Se trimite întotdeauna"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Apeluri pe internet integrate"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Apelare SIP integrată"</string>
 </resources>
diff --git a/sip/res/values-ru/strings.xml b/sip/res/values-ru/strings.xml
index cd1538f..4a1c7be 100644
--- a/sip/res/values-ru/strings.xml
+++ b/sip/res/values-ru/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Настройки интернет-вызовов"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Аккаунты для интернет-вызовов (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Настройки SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-аккаунты"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Аккаунты"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Принимать входящие"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Повышает расход заряда батареи"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Интернет-вызовы"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Интернет-соединение (Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Заряд батареи расходуется быстрее"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Звонок через SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Звонок через SIP (только Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Для всех вызовов при возможности передачи данных"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Только для интернет-вызовов"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Спрашивать при каждом вызове"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Только для звонков через SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Для всех вызовов"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Исходящий вызов"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Аккаунт для интернет-вызовов:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Использовать для всех интернет-вызовов"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Изменить аккаунт интернет-вызовов, используемый по умолчанию, можно в настройках интернет-вызовов на экране \"Аккаунты\"."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Вызов по сотовой сети"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Интернет-вызов"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Нет аккаунтов для интернет-вызовов"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"На телефоне нет аккаунтов для интернет-вызовов. Добавить?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Добавить"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Добавить аккаунт"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Удалить аккаунт"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-аккаунты"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Закрытие профиля"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ОК"</string>
     <string name="close_profile" msgid="3122414058856309881">"Закрыть"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Основной аккаунт. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Проверка состояния..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Регистрация..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Подождите..."</string>
@@ -59,8 +48,8 @@
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Не удалось зарегистрировать аккаунт. Неверное имя пользователя или пароль."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Не удалось зарегистрировать аккаунт. Неверное имя сервера."</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"Аккаунт используется приложением \"<xliff:g id="ACCOUNT_OWNER">%s</xliff:g>\"."</string>
-    <string name="sip_edit_title" msgid="1967247832635750410">"Настройки SIP-аккаунта"</string>
-    <string name="sip_edit_new_title" msgid="266414118302574305">"Настройки SIP-аккаунта"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP-аккаунт"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP-аккаунт"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"Сервер"</string>
     <string name="username_title" msgid="6770064611005663470">"Имя пользователя"</string>
     <string name="password_title" msgid="5289013731515564295">"Пароль"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Номер порта"</string>
     <string name="transport_title" msgid="889155457465372527">"Протокол"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Отправлять keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Основной аккаунт"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Использовать этот аккаунт по умолчанию для исходящих вызовов"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Расширенные настройки"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Имя пользователя"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Имя пользователя для аутентификации"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Нажмите, чтобы скрыть все"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Поле \"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>\" должно быть заполнено."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Номер порта должен быть от 1000 до 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Нет подключения"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Отсутствует подключение Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Перед звонком проверьте подключение к Интернету"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Чтобы выполнить интернет-вызов, подключитесь к сети Wi-Fi (см. настройки беспроводной сети)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Интернет-вызов не поддерживается"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Чтобы сделать звонок через SIP, проверьте подключение к Интернету."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Чтобы звонить через SIP, требуется подключение к сети Wi-Fi (его можно настроить в разделе \"Беспроводные сети\")."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Звонки через SIP не поддерживаются"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Автоматически"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Отправлять всегда"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Встроенный сервис интернет-вызовов"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Встроенный сервис звонков через SIP"</string>
 </resources>
diff --git a/sip/res/values-si-rLK/strings.xml b/sip/res/values-si-rLK/strings.xml
index e52d27f..cee3923 100644
--- a/sip/res/values-si-rLK/strings.xml
+++ b/sip/res/values-si-rLK/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"අන්තර්ජාල ඇමතුම් සැකසුම්"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"අන්තර්ජාල ඇමතීමේ (SIP) ගිණුම්"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP සැකසීම්"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP ගිණුම්"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"ගිණුම්"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ලේබන ඇමතුම් ලබා ගන්න"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"බැටරි ආයු කාලය අඩුකරන්න"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"අන්තර්ජාල ඇමතීම භාවිතා කරන්න"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"අන්තර්ජාල ඇමතීම භාවිතා කරන්න (Wi-Fi පමණි)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"තව බැටරි ආයු කාලය භාවිතා කරන්න"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP ඇමතුම් භාවිතය"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP ඇමතුම් භාවිතය (Wi-Fi පමණයි)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"දත්ත ජාලය තිබෙන විට සියලුම ඇමතුම් සඳහා"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"අන්තර්ජාල ඇමතුම් සඳහා පමණි"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"සෑම ඇමතුමකටම අසන්න"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP ඇමතුම් සඳහා පමණි"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"සියලුම ඇමතුම් සඳහා"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"ඇමතුම ලබා ගන්න"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"අන්තර්ජාල ඇමතුම් ගිණුම භාවිතා කරන්න:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"අන්තර්ජාල ඇමතුම් ලබාගැනීමට සැමවිටම භාවිතා කරන්න"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"දුරකතනයෙන් සුපුරුදු ලෙස භාවිතා කළ යුත්තේ කුමන අන්තර්ජාල ඇමතුම් ගිනුමදැයි වෙනස් කළ හැක &gt; සැකසුම් &gt; අන්තර්ජාල ඇමතුම් සැකසුම් &gt; ගිණුම් තිරය."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"සෙල් දුරකථන ඇමතුම"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"අන්තර්ජාල ඇමතුම"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"අන්තර්ජාල ඇමතුම් ගිණුමක් නොමැත"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"මෙම දුරකථනයෙහි අන්තර්ජාල ඇමතුම් ගිණුම් නොමැත. එකක් එක් කිරීමට ඔබට අවශ්‍යද?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"එක් කරන්න"</string>
     <string name="add_sip_account" msgid="800843669753980091">"ගිණුම එක් කරන්න"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"ගිණුම ඉවත් කරන්න"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP ගිණුම්"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"පැතිකඩ වසන්න"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"හරි"</string>
     <string name="close_profile" msgid="3122414058856309881">"වසන්න"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"මුලික ගිණුම. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"තත්වය පිරික්සමින්..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"ලියාපදිංචි වෙමින්..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"තවමත් උත්සාහ කරමින්..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"කවුළුවේ අංකය"</string>
     <string name="transport_title" msgid="889155457465372527">"ගමනාගමන වර්ගය"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"සජීවී-තබාගන්නා යවන්න"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"මුලික ගිණුම ලෙස සකසන්න"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"පිටතට යන ඇමතුම් සඳහා භාවිතා කෙරේ"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"වෛකල්පිත සැකසුම්"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"සත්‍යාපන පරිශීලක නාමය"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"සත්‍යාපනය සඳහා භාවිතා වන පරිශීලක නාමය"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ සියල්ල සැඟවීමට ස්පර්ශ කරන්න"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> අවශ්‍ය වන අතර හිස්ව තැබිය නොහැක."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"කවුළුවේ අංකය 1000 ත් 65534 ත් අතර විය යුතුය."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"අන්තර්ජාල සම්බන්ධතාවයක් නැත"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi සම්බන්ධතාවයක් නොමැත"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"අන්තර්ජාල ඇමතුමක් ගැනීමට, මුලින්ම ඔබගේ අන්තර්ජාල සම්බන්ධතාවය පරික්ෂා කර බලන්න."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"අන්තර්ජාල ඇමතුම් සඳහා ඔබ Wi-Fi ජාලයකට සම්බන්ධ විය යුතුය (රැහැන් රහිත සහ ජාල සැකසුම් භාවිතා කරන්න)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"අන්තර්ජාල ඇමතීම සඳහා සහාය නොදක්වයි"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP ඇමතුමක් ලබාගැනීමට, ඔබගේ අන්තර්ජාල සම්බන්ධතාව මුලින් පරික්ෂා කරන්න."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP ඇමතුම් සඳහා Wi-Fi ජාලයට ඔබට සම්බන්ධ වීමට අවශ්‍යය වේ (රැහැන් රහිත සහ ජාල සැකසීම්)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP ඇමතීම් වලට සහාය දක්වන්නේ නැත"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"ස්වයංක්‍රිය"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"සැමවිටම යවන්න"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"තිළැලි අන්තර්ජාල ඇමතීම"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"තැනූ SIP ඇමතුම්"</string>
 </resources>
diff --git a/sip/res/values-sk/strings.xml b/sip/res/values-sk/strings.xml
index 8ef071b..f55227d 100644
--- a/sip/res/values-sk/strings.xml
+++ b/sip/res/values-sk/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Nastavenie internetových hovorov"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Účty pre internetové hovory (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Nastavenia SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Účty SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Účty"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Prijímať prichádzajúce hovory"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Znižuje výdrž batérie"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Použiť internetové volanie"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Použiť internetový hovor (iba s pripojením Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Má väčšiu spotrebu batérie"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Používanie hovorov SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Používanie hovorov SIP (iba sieť Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Pre všetky hovory, pokiaľ je k dispozícii dátová sieť"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Iba pre internetové hovory"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Zakaždým sa spýtať"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Iba pre hovory SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Pre všetky hovory"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Volanie prostredníctvom"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Použiť účet na internetové hovory:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Vždy používať pri internetových hovoroch"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Predvolený účet na internetové hovory môžete zvoliť na obrazovke Telefón &gt; Nastavenia &gt; Nastavenia internetového hovoru &gt; Účty."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Hovor z mobilného telefónu"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetový hovor"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Žiadny účet na internetové hovory"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"V tomto telefóne neexistujú žiadne účty internetového hovoru. Chcete jeden pridať?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Pridať"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Pridať účet"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Odstrániť účet"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Účty SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Zavrieť profil"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Zavrieť"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primárny účet. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Prebieha kontrola stavu..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Prebieha registrácia..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Prebiehajú ďalšie pokusy..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Číslo portu"</string>
     <string name="transport_title" msgid="889155457465372527">"Typ prenosu"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Odosielať správy na zachovanie pripojenia"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Nastaviť ako primárny účet"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Použité pre odchádzajúce hovory"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Voliteľné nastavenia"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Používateľské meno na overenie"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Používateľské meno použité na overenie"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Klepnutím všetko skryjete"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Pole <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je povinné a nemôže zostať prázdne."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Číslo portu by malo byť od 1 000 do 65 534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Žiadne internetové pripojenie"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Pripojenie Wi-Fi nie je k dispozícii"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Ak chcete uskutočniť internetový hovor, skontrolujte, či máte pripojenie k internetu."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Ak chcete uskutočniť internetový hovor, musíte mať pripojenie k sieti Wi-Fi (použite sekciu Nastavenia bezdrôtového pripojenia a siete)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetové hovory nie sú podporované"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Ak chcete uskutočniť hovor SIP, najprv skontrolujte svoje internetové pripojenie."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Uskutočnenie hovorov SIP vyžaduje pripojenie k sieti Wi-Fi (použite nastavenia bezdrôtovej siete)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Volanie SIP nie je podporované"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automaticky"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Vždy odoslať"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Vstavané internetové volanie"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Vstavané hovory SIP"</string>
 </resources>
diff --git a/sip/res/values-sl/strings.xml b/sip/res/values-sl/strings.xml
index 4b11e4b..1768705 100644
--- a/sip/res/values-sl/strings.xml
+++ b/sip/res/values-sl/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Nastavitve internetnega klicanja"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Računi za internetno klicanje (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Nastavitve SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Računi SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Računi"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Sprejmi dohodne klice"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Skrajša čas delovanja akumulatorja"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Uporaba internetnega klicanja"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Uporaba internetnega klicanja (samo Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Poraba akumulatorja je večja"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Uporaba klicanja SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Uporaba klicanja SIP (samo v omrežju Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Za vse klice, ko podatkovno omrežje ni na voljo"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Samo za internetne klice"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Vprašaj za vsak klic"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Samo za klice SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Za vse klice"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Klicanje"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Uporaba računa za internetno klicanje"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Vedno uporabi za internetno klicanje"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Na zaslonu Telefon &gt; Nastavitve &gt; Nastavitve internetnega klicanja &gt; Računi lahko spremenite privzeti račun za internetno klicanje."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Klic z mobilnim telefonom"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetni klic"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ni računa za internetno klicanje"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"V tem telefonu ni računov za internetno klicanje. Ali želite dodati račun zdaj?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Dodaj"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Dodajanje računa"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Odstrani račun"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Računi SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Zapiranje profila"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"V redu"</string>
     <string name="close_profile" msgid="3122414058856309881">"Zapri"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primarni račun. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Preverjanje stanja ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registriranje ..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Še vedno poskušamo ..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Številka vrat"</string>
     <string name="transport_title" msgid="889155457465372527">"Vrsta prevoza"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Pošlji ohranjanje povezave"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Nastavi kot primarni račun"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Za odhodne klice"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Izbirne nastavitve"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Uporabniško ime za preverjanje pristnosti"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Uporabniško ime za preverjanje pristnosti"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Dotaknite se, če želite skriti vse"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Polje <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> je obvezno in ne sme biti prazno."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Številka vrat mora biti med 1000 in 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Brez internetne povezave"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Ni povezave Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Če želite opraviti internetni klic, najprej preverite internetno povezavo."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Če želite opravljati internetne klice, morate imeti vzpostavljeno povezavo Wi-Fi (nastavite v razdelku »Brezžično in omrežja«)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internetno klicanje ni podprto"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Če želite opraviti klic SIP, najprej preverite internetno povezavo."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Za klice SIP morate biti povezani v omrežje Wi-Fi (uporabite nastavitve »Brezžično in omrežja«)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Klicanje SIP ni podprto"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Samodejno"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Vedno pošlji"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Vgrajeno internetno klicanje"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Vgrajeno klicanje SIP"</string>
 </resources>
diff --git a/sip/res/values-sq-rAL/strings.xml b/sip/res/values-sq-rAL/strings.xml
new file mode 100644
index 0000000..f64c270
--- /dev/null
+++ b/sip/res/values-sq-rAL/strings.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--  Copyright (C) 2014 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.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="sip_settings" msgid="3768482698061677257">"Cilësimet SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Llogaritë SIP"</string>
+    <string name="sip_accounts_title" msgid="2082527045326874519">"Llogaritë"</string>
+    <string name="sip_receive_calls" msgid="426678617137462173">"Merr telefonata hyrëse"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Pakëson jetëgjatësinë e baterisë"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Përdor \"telefonatat SIP\""</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Përdor \"telefonatat SIP\" (vetëm Wi-Fi)"</string>
+    <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Për të gjitha telefonat kur rrjeti i të dhënave mund të përdoret"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Vetëm për telefonatat SIP"</string>
+    <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Për të gjitha telefonatat"</string>
+    <string name="add_sip_account" msgid="800843669753980091">"Shto llogari"</string>
+    <string name="remove_sip_account" msgid="1367664438506503690">"Hiq llogarinë"</string>
+    <string name="sip_account_list" msgid="5610858485304821480">"Llogaritë SIP"</string>
+    <string name="saving_account" msgid="5336529880235177448">"Po ruan llogarinë…"</string>
+    <string name="removing_account" msgid="5537351356808985756">"Po heq llogarinë…"</string>
+    <string name="sip_menu_save" msgid="7882219814563869225">"Ruaj"</string>
+    <string name="sip_menu_discard" msgid="2350421645423888438">"Hidh poshtë"</string>
+    <string name="alert_dialog_close" msgid="1326011828713435134">"Mbyll profilin"</string>
+    <string name="alert_dialog_ok" msgid="4752048404605388940">"Në rregull!"</string>
+    <string name="close_profile" msgid="3122414058856309881">"Mbyll"</string>
+    <string name="registration_status_checking_status" msgid="6136793741862200337">"Po kontrollon statusin..."</string>
+    <string name="registration_status_registering" msgid="2677183977796278749">"Po regjistron..."</string>
+    <string name="registration_status_still_trying" msgid="7648151061205513458">"Vazhdon të riprovojë…"</string>
+    <string name="registration_status_not_receiving" msgid="7620333886153361090">"Nuk merr telefonata."</string>
+    <string name="registration_status_no_data" msgid="2541999976218192413">"Regjistrimi i llogarisë ndaloi sepse nuk ka lidhje interneti."</string>
+    <string name="registration_status_no_wifi_data" msgid="9154717387473039546">"Regjistrimi i llogarisë ndaloi sepse nuk ka lidhje Wi-Fi."</string>
+    <string name="registration_status_not_running" msgid="514205414303796800">"Regjistrimi i llogarisë ishte i pasuksesshëm."</string>
+    <string name="registration_status_done" msgid="3264961069247314253">"Pranimi i telefonatave."</string>
+    <string name="registration_status_failed_try_later" msgid="2199970021756384317">"Regjistrimi i llogarisë ishte i pasuksesshëm: (<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>); do të provohet sërish"</string>
+    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Regjistrimi i llogarisë ishte i pasuksesshëm: emri i përdoruesit ose fjalëkalimi ishte i pasaktë."</string>
+    <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Regjistrimi i llogarisë ishte i pasuksesshëm. Kontrollo emrin e serverit."</string>
+    <string name="third_party_account_summary" msgid="9041060473615403041">"Kjo llogari është aktualisht në përdorim nga aplikacioni <xliff:g id="ACCOUNT_OWNER">%s</xliff:g>."</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"Detajet e llogarisë SIP"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"Detajet e llogarisë SIP"</string>
+    <string name="domain_address_title" msgid="1968479941328225423">"Serveri"</string>
+    <string name="username_title" msgid="6770064611005663470">"Emri i përdoruesit"</string>
+    <string name="password_title" msgid="5289013731515564295">"Fjalëkalimi"</string>
+    <string name="display_name_title" msgid="579241787583079773">"Shfaq emrin"</string>
+    <string name="proxy_address_title" msgid="6890163365640631841">"Adresa e përfaqësuesit dalës"</string>
+    <string name="port_title" msgid="6693965912656593862">"Numri i portës"</string>
+    <string name="transport_title" msgid="889155457465372527">"Lloji i transportit"</string>
+    <string name="send_keepalive_title" msgid="599627072150501159">"Dërgo preferencën e kontrollit të operimit"</string>
+    <string name="advanced_settings" msgid="6622996380747040711">"Cilësimet opsionale"</string>
+    <string name="auth_username_title" msgid="8262491689004708265">"Emri i përdoruesit për vërtetim"</string>
+    <string name="auth_username_summary" msgid="941160241371436473">"Emri i përdoruesit i përdorur për vërtetim"</string>
+    <string name="default_preference_summary" msgid="1979249643719483249">"&lt;I pavendosur&gt;"</string>
+    <string name="display_name_summary" msgid="7155076491675565407">"&lt;Njësoj si emri i përdoruesit&gt;"</string>
+    <string name="optional_summary" msgid="2363105560396317624">"&lt;Jo e detyrueshme&gt;"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Prek për t\'i shfaqur të gjitha"</string>
+    <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Prek për t\'i fshehur të gjitha"</string>
+    <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> është e detyrueshme dhe nuk mund të lihet bosh."</string>
+    <string name="not_a_valid_port" msgid="7931422555587011830">"Numri i portës duhet të jetë brenda 1 000 dhe 65 534."</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Për të kryer një telefonatë SIP, kontrollo lidhjen e internetit së pari."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Duhet të jesh i lidhur me rrjetin Wi-Fi për telefonata SIP (përdor \"Me valë dhe cilësimet e rrjetit\")."</string>
+    <string name="no_voip" msgid="3038021971231952704">"\"Telefonata SIP\" nuk mbështetet"</string>
+    <string name="sip_system_decide" msgid="5577696249416700671">"Automatik"</string>
+    <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Dërgo gjithmonë"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Telefonata SIP e integruar"</string>
+</resources>
diff --git a/sip/res/values-sr/strings.xml b/sip/res/values-sr/strings.xml
index 92c9e40..18ae28f 100644
--- a/sip/res/values-sr/strings.xml
+++ b/sip/res/values-sr/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Подешавања интернет позива"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Налози за интернет позиве (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Подешавања SIP-а"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP налози"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Налози"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Примај долазне позиве"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Смањује трајање батерије"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Користите интернет позиве"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Користите интернет позиве (само Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Више троши батерију"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Користите SIP позиве"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Користите SIP позиве (само за Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"За све позиве када је мрежа за пренос података доступна"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Само за интернет позиве"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Питај за сваки позив"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Само за SIP позиве"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"За све позиве"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Упутите позив"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Користите налог за интернет позиве:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Увек користи за упућивање интернет позива"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Можете да промените налог за интернет позиве који ће се подразумевано користити на екрану Телефон &gt; Подешавања &gt; Подешавања интернет позива &gt; Налози."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Позив ка мобилном телефону"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Интернет позив"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Нема налога за интернет позиве"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Нема налога за интернет позиве на овом телефону. Да ли желите сада да додате један?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Додај"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Додај налог"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Уклони налог"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP налози"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Затворите профил"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Потврди"</string>
     <string name="close_profile" msgid="3122414058856309881">"Затвори"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Примарни налог. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Провера статуса..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Регистровање..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"И даље покушава..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Број порта"</string>
     <string name="transport_title" msgid="889155457465372527">"Тип преноса"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Пошаљи keep-alive поруку"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Подеси као примарни налог"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Користи се за одлазне позиве"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Опционална подешавања"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Корисничко име за потврду идентитета"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"За потврду идентитета користи се корисничко име"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Додирните да бисте сакрили све"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Поље <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> је обавезно и не може да буде празно."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Број порта би требало да буде између 1000 и 65.534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Нема интернет везе"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Не постоји Wi-Fi веза"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Да бисте упутили интернет позив, прво проверите интернет везу."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Потребно је да се повежете са Wi-Fi мрежом за интернет позиве (користите Подешавања бежичне везе и мреже)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Интернет позиви нису подржани"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Да бисте упутили SIP позив, прво проверите интернет везу."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Треба да будете повезани са Wi-Fi мрежом да бисте упућивали SIP позиве (користите Подешавања бежичних веза и мрежа)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP позивање није подржано"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Аутоматски"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Увек шаљи"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Уграђено позивање преко интернета"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Уграђена функција SIP позива"</string>
 </resources>
diff --git a/sip/res/values-sv/strings.xml b/sip/res/values-sv/strings.xml
index 86eaea2..685efd2 100644
--- a/sip/res/values-sv/strings.xml
+++ b/sip/res/values-sv/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Inställningar för internetsamtal"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Konton för internetsamtal (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP-inställningar"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP-konton"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Konton"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Ta emot inkommande samtal"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Sänker batteriförbrukningen"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Använd internetsamtal"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Använd internetsamtal (endast Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Drar mer batteri"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Använd SIP-samtal"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Använd SIP-samtal (endast Wi-FI)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"För alla samtal när datanätverk är tillgängligt"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Endast för internetsamtal"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Fråga för varje samtal"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Endast för SIP-samtal"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"För alla samtal"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Ring samtal"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Använd detta konto för internetsamtal:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Använd för alla internetsamtal"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Du kan ändra vilket konto som ska användas som standard för internetsamtal. Valet görs under Telefon &gt; Inställningar &gt; Inställningar för internetsamtal &gt; Konton."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Mobilsamtal"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internetsamtal"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Inget konto för internetsamtal"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Det finns inget konto för internetsamtal på den här mobilen. Vill du lägga till ett nu?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Lägg till"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Lägg till ett konto"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Ta bort konto"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP-konton"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Stäng profilen"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Stäng"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Primärt konto. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Kontrollerar status ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Registrerar ..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Försöker fortfarande ..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Portnummer"</string>
     <string name="transport_title" msgid="889155457465372527">"Transporttyp"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Skicka \"behåll aktiv\""</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Använd som primärt konto"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Används för utgående samtal"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Valfria inställningar"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Användarnamn vid autentisering"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Användarnamn som används vid autentisering"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tryck om du vill dölja alla"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> är ett obligatoriskt fält som måste fyllas i."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Portnumret ska vara mellan 1000 och 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Ingen internetanslutning"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Ingen Wi-Fi-anslutning"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Kontrollera internetanslutningen om du vill ringa internetsamtal."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"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)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Inget stöd för internetsamtal"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Om du vill ringa ett SIP-samtal kontrollerar du först att du är ansluten till internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Du måste vara ansluten till Wi-Fi för att kunna ringa SIP-samtal (du ändrar detta i inställningarna för Trådlöst och nätverk)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP-samtal stöds inte"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Automatiskt"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Skicka alltid"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Inbyggd internettelefoni"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Inbyggd tjänst för SIP-samtal"</string>
 </resources>
diff --git a/sip/res/values-sw/strings.xml b/sip/res/values-sw/strings.xml
index 1974859..714b7b2 100644
--- a/sip/res/values-sw/strings.xml
+++ b/sip/res/values-sw/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Mipangilio ya simu za Intaneti"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Akaunti za upigaji simu za Intaneti (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Mipangilio ya SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Akaunti za SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Akaunti"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Pokea simu zinazoingia"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Hupunguza maisha ya betri"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Tumia upigaji simu wa Intaneti"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Tumia upigaji simu ya Intaneti (Wi-Fi tu)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Hutumia betri zaidi"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Tumia upigaji simu wa SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Tumia upigaji simu wa SIP (Wi-Fi pekee)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Kwa simu zote wakati mtandao wa data unapatikana"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Kwa simu za Intaneti tu"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Uliza kwa kila simu"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Kwa simu za SIP pekee"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Kwa simu zote"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Piga simu"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Tumia akaunti ya upigaji simu za Intaneti:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Tumia kila wakati kupiga simu za Intaneti"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Unaweza kubadilisha ni akaunti gani ya kupiga simu ya Intaneti itatumika kwa chaguo-msingi kwenye Simu &gt; Mipangilio &gt; mipangilio ya kupiga simu ya Intaneti &gt; Skrini ya akaunti."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Kupiga simu ya mkononi"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Simu ya Intaneti"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Hakuna akaunti ya upigaji simu wa Intaneti"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Hakuna akaunti za kupiga simu za Intaneti kwenye simu hii. Je, ungependa kuongeza akaunti sasa?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Ongeza"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Ongeza akaunti"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Ondoa akaunti"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Akaunti za SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Funga wasifu"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Sawa"</string>
     <string name="close_profile" msgid="3122414058856309881">"Funga"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Akaunti ya msingi: <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Inakagua hali..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Inasajili..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Bado inajaribu..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Nambari ya mlango"</string>
     <string name="transport_title" msgid="889155457465372527">"Aina ya usafiri"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Tuma weka-hai"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Weka kama akaunti ya msingi"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Ilitumika kwa simu zinazotoka"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Mipangilio ya hiari"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Jina la mtumiaji la uthibitishaji"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Jina la mtumiaji hutumika kwa uthibitishaji"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Gusa ili ufiche zote"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> sharti ijazwe na haiwezi kuachwa wazi."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Nambari ya mlango inafaa kuwa kati ya 1000 na 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Hakuna muunganisho wa Intaneti"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Hakuna muunganisho wa Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Ili upige simu ya Intaneti, kagua muunganisho wako wa Intaneti kwanza."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Lazima uwe umeunganishwa kwenye mtandao wa Wi-Fi ili upige simu za Intaneti (tumia bila waya na Mipangilio ya mtandao)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Haina uwezo wa kupiga simu za Intaneti"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Ili upige simu ya SIP, kwanza kagua muunganisho wako wa Intaneti."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Inabidi uwe umeunganishwa kwenye mtandao wa Wi-Fi ili upige simu za SIP (tumia mipangilio ya Bila Kutumia Waya na Mtandao)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Upigaji simu ya SIP hauwezi kutumika."</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Otomatiki"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Tuma kila wakati"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Upigaji simu kupitia Intaneti uliojengewa ndani"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Upigaji simu wa SIP uliojengewa ndani ya kifaa"</string>
 </resources>
diff --git a/sip/res/values-ta-rIN/strings.xml b/sip/res/values-ta-rIN/strings.xml
index 43309a2..c4c2982 100644
--- a/sip/res/values-ta-rIN/strings.xml
+++ b/sip/res/values-ta-rIN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"இணைய அழைப்பு அமைப்புகள்"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"இணைய அழைப்பிற்கான (SIP) கணக்குகள்"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP அமைப்புகள்"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP கணக்குகள்"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"கணக்குகள்"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"உள்வரும் அழைப்புகளைப் பெறு"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"பேட்டரி அளவைக் குறைக்கிறது"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"இணைய அழைப்பைப் பயன்படுத்து"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"இணைய அழைப்பிற்குப் பயன்படுத்து (Wi-Fi மட்டும்)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"பேட்டரியை அதிகமாகப் பயன்படுத்தும்"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP அழைப்பைப் பயன்படுத்து"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP அழைப்பைப் பயன்படுத்து (வைஃபை மட்டும்)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"தரவு நெட்வொர்க் கிடைக்கும்போது எல்லா அழைப்புகளுக்கும்"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"இணைய அழைப்புகளுக்கு மட்டும்"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ஒவ்வொரு அழைப்பிற்கும் கேள்"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP அழைப்புகளுக்கு மட்டும்"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"எல்லா அழைப்புகளுக்கும்"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"அழை"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"இணைய அழைப்பிற்கான கணக்கைப் பயன்படுத்துக:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"இணைய அழைப்புகளை மேற்கொள்ள எப்போதும் பயன்படுத்து"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"மொபைல் &gt; அமைப்புகள் &gt; இணைய அழைப்பு அமைப்புகள் &gt; கணக்குகள் திரையிலிருந்து இயல்புநிலையாகப் பயன்படுத்துவதற்கான இணைய அழைப்பிற்கான கணக்கை நீங்கள் மாற்றலாம்."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"செல்ஃபோன் அழைப்பு"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"இணைய அழைப்பு"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"இணைய அழைப்பிற்கான கணக்கு எதுவுமில்லை"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"மொபைலில், இணைய அழைப்பிற்கான கணக்குகள் எதுவுமில்லை. இப்போது புதிதாக ஒன்றைச் சேர்க்க விருப்பமா?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"சேர்"</string>
     <string name="add_sip_account" msgid="800843669753980091">"கணக்கைச் சேர்"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"கணக்கை அகற்று"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP கணக்குகள்"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"சுயவிவரத்தை மூடு"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"சரி"</string>
     <string name="close_profile" msgid="3122414058856309881">"மூடு"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"முதன்மை கணக்கு. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"நிலையைச் சரிபார்க்கிறது..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"பதிவுசெய்கிறது…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"இன்னும் முயற்சிக்கிறது…"</string>
@@ -69,9 +58,7 @@
     <string name="port_title" msgid="6693965912656593862">"போர்ட் எண்"</string>
     <string name="transport_title" msgid="889155457465372527">"பரிமாற்ற வகை"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"எப்போதும் விழிப்புடன் அனுப்பு"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"முதன்மை கணக்காக அமை"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"வெளிச்செல்லும் அழைப்புகளுக்குப் பயன்படுத்தப்பட்டது"</string>
-    <string name="advanced_settings" msgid="6622996380747040711">"விருப்ப அமைப்புகள்"</string>
+    <string name="advanced_settings" msgid="6622996380747040711">"விருப்ப அமைப்பு"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"அங்கீகாரப் பயனர்பெயர்"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"அங்கீகரிப்பிற்குப் பயனர்பெயர் பயன்படுத்தப்பட்டது"</string>
     <string name="default_preference_summary" msgid="1979249643719483249">"&lt;அமைக்கப்படவில்லை&gt;"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ எல்லாவற்றையும் மறைக்கத் தொடவும்"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> அவசியமானது மற்றும் வெறுமையாக விடக்கூடாது."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"போர்ட் எண் 1000 இலிருந்து 65534 க்குள் இருக்க வேண்டும்."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"இணைய இணைப்பு இல்லை"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi இணைப்பு இல்லை"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"இணைய அழைப்பிற்கு, முதலில் இணைய இணைப்பைச் சரிபார்க்கவும்."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"இணைய அழைப்புகளுக்கு Wi-Fi நெட்வொர்க்குடன் இணைக்கப்பட வேண்டும் (வயர்லெஸ் &amp; நெட்வொர்க் அமைப்புகளைப் பயன்படுத்தவும்)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"இணைய அழைப்பு ஆதரிக்கப்படவில்லை"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP மூலம் அழைக்க, முதலில் இணைய இணைப்பைச் சரிபார்க்கவும்."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP அழைப்புகளைச் செய்ய, வைஃபை நெட்வொர்க்குடன் இணைக்கப்பட்டிருக்க வேண்டும் (வயர்லெஸ் &amp; நெட்வொர்க் அமைப்புகளைப் பயன்படுத்தவும்)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP அழைப்பு ஆதரிக்கப்படாது"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"தானியங்கு"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"எப்போதும் அனுப்பு"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"உள்ளிணைந்த இணைய அழைப்பு"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"உள்கட்டமைக்கப்பட்ட SIP அழைப்பு"</string>
 </resources>
diff --git a/sip/res/values-te-rIN/strings.xml b/sip/res/values-te-rIN/strings.xml
index 71c4abe..713f42b 100644
--- a/sip/res/values-te-rIN/strings.xml
+++ b/sip/res/values-te-rIN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"ఇంటర్నెట్ కాల్ సెట్టింగ్‌లు"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"ఇంటర్నెట్ కాలింగ్ (SIP) ఖాతాలు"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP సెట్టింగ్‌లు"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP ఖాతాలు"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"ఖాతాలు"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"ఇన్‌కమింగ్ కాల్‌లను స్వీకరించు"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"బ్యాటరీ సామర్థ్యాన్ని తగ్గిస్తుంది"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ఇంటర్నెట్ కాలింగ్‌ను ఉపయోగించండి"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ఇంటర్నెట్ కాలింగ్‌ను (Wi-Fi మాత్రమే) ఉపయోగించండి"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ఎక్కువ బ్యాటరీ జీవితకాలాన్ని ఉపయోగిస్తుంది"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP కాలింగ్‌ను ఉపయోగించండి"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP కాలింగ్‌ను (Wi-Fi మాత్రమే) ఉపయోగించండి"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"డేటా నెట్‌వర్క్ అందుబాటులో ఉన్నప్పుడు అన్ని కాల్‌ల కోసం"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"ఇంటర్నెట్ కాల్‌ల కోసం మాత్రమే"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ప్రతి కాల్‌కి అడుగు"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"SIP కాల్‌ల కోసం మాత్రమే"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"అన్ని కాల్‌ల కోసం"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"కాల్ చేయండి"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ఈ ఇంటర్నెట్ కాలింగ్ ఖాతాను ఉపయోగించండి:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"ఇంటర్నెట్ కాల్‌లు చేయడానికి ఎల్లప్పుడూ ఉపయోగించు"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"మీరు ఫోన్ &gt; సెట్టింగ్‌లు &gt; ఇంటర్నెట్ కాల్ సెట్టింగ్‌లు &gt; ఖాతాలు స్క్రీన్‌లో డిఫాల్ట్‌గా ఉపయోగించాల్సిన ఇంటర్నెట్ కాలింగ్ ఖాతాను మార్చవచ్చు."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"సెల్ ఫోన్ కాల్"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"ఇంటర్నెట్ కాల్"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ఇంటర్నెట్ కాలింగ్ ఖాతా లేదు"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ఈ ఫోన్‌లో ఇంటర్నెట్ కాలింగ్ ఖాతాలు ఏవీ లేవు. మీరు ఇప్పుడు ఒకదాన్ని జోడించాలనుకుంటున్నారా?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"జోడించు"</string>
     <string name="add_sip_account" msgid="800843669753980091">"ఖాతాను జోడించు"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"ఖాతాను తీసివేయి"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP ఖాతాలు"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"ప్రొఫైల్‌ను మూసివేయండి"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"సరే"</string>
     <string name="close_profile" msgid="3122414058856309881">"మూసివేయి"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"ప్రాథమిక ఖాతా. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"స్థితిని తనిఖీ చేస్తోంది..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"నమోదు చేస్తోంది…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"ఇప్పటికీ ప్రయత్నిస్తోంది..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"పోర్ట్ సంఖ్య"</string>
     <string name="transport_title" msgid="889155457465372527">"రవాణా రకం"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"సక్రియంగా ఉంచే సందేశం పంపండి"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"ప్రాథమిక ఖాతాగా సెట్ చేయండి"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"అవుట్‌బౌండ్ కాల్‌ల కోసం ఉపయోగించబడుతుంది"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"ఐచ్ఛిక సెట్టింగ్‌లు"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"ప్రామాణీకరణ వినియోగదారు పేరు"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"ప్రామాణీకరణ కోసం వినియోగదారు పేరు ఉపయోగించబడింది"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ అన్నీ దాచడానికి తాకండి"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> అవసరం కావున ఖాళీగా వదిలిపెట్టకూడదు."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"పోర్ట్ సంఖ్య 1000 మరియు 65534 మధ్య ఉండాలి."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ఇంటర్నెట్ కనెక్షన్ లేదు"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi కనెక్షన్ లేదు"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"ఇంటర్నెట్ కాల్ చేయడానికి, మొదట మీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"ఇంటర్నెట్ కాల్‌ల కోసం మీరు Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ అయ్యి ఉండాలి (వైర్‌లెస్ &amp; నెట్‌వర్క్ సెట్టింగ్‌లను ఉపయోగించండి)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"ఇంటర్నెట్ కాలింగ్‌కు మద్దతు లేదు"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP కాల్ చేయడానికి, ముందుగా మీ ఇంటర్నెట్ కనెక్షన్‌ను తనిఖీ చేయండి."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"మీరు SIP కాల్‌లు చేయడం కోసం Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ అవ్వడం అవసరం (వైర్‌లెస్ &amp; నెట్‌వర్క్ సెట్టింగ్‌లను ఉపయోగించండి)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP కాలింగ్‌కి మద్దతు లేదు"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"స్వయంచాలకం"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ఎల్లప్పుడూ పంపు"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"అంతర్నిర్మిత ఇంటర్నెట్ కాలింగ్"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"అంతర్నిర్మిత SIP కాలింగ్"</string>
 </resources>
diff --git a/sip/res/values-th/strings.xml b/sip/res/values-th/strings.xml
index fd346d0..c3e4e89 100644
--- a/sip/res/values-th/strings.xml
+++ b/sip/res/values-th/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"การตั้งค่าการโทรทางอินเทอร์เน็ต"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"บัญชีการโทรทางอินเทอร์เน็ต (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"การตั้งค่า SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"บัญชี SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"บัญชี"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"รับสายเรียกเข้า"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"ลดอายุการใช้งานแบตเตอรี่"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"ใช้การโทรทางอินเทอร์เน็ต"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"ใช้การโทรทางอินเทอร์เน็ต (Wi-Fi เท่านั้น)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"ใช้อายุการใช้งานแบตเตอรี่มากขึ้น"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"ใช้การโทรผ่าน SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"ใช้การโทรผ่าน SIP (Wi-Fi เท่านั้น)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"สำหรับทุกสายเมื่อเครือข่ายข้อมูลใช้งานได้"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"สำหรับโทรทางอินเทอร์เน็ตเท่านั้น"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ถามทุกครั้งที่โทรออก"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"สำหรับการโทรผ่าน SIP เท่านั้น"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"สำหรับการโทรออกทั้งหมด"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"โทรออก"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"ใช้บัญชีการโทรทางอินเทอร์เน็ต:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"ใช้ทุกครั้งที่โทรออกทางอินเทอร์เน็ต"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"คุณสามารถเปลี่ยนบัญชีการโทรทางอินเทอร์เน็ตที่จะใช้เป็นค่าเริ่มต้นได้จากหน้าจอโทรศัพท์ &gt; ตั้งค่า &gt; การตั้งค่าการโทรทางอินเทอร์เน็ต &gt; บัญชี"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"โทรออกด้วยโทรศัพท์มือถือ"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"โทรทางอินเทอร์เน็ต"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"ไม่มีบัญชีการโทรทางอินเทอร์เน็ต"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"ไม่มีบัญชีโทรทางอินเทอร์เน็ตสำหรับโทรศัพท์นี้ คุณต้องการเพิ่มบัญชีเลยไหม"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"เพิ่ม"</string>
     <string name="add_sip_account" msgid="800843669753980091">"เพิ่มบัญชี"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"นำบัญชีออก"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"บัญชี SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"ปิดโปรไฟล์"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ตกลง"</string>
     <string name="close_profile" msgid="3122414058856309881">"ปิด"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"บัญชีหลัก <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"กำลังตรวจสอบสถานะ..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"กำลังลงทะเบียน…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"กำลังพยายาม…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"หมายเลขพอร์ต"</string>
     <string name="transport_title" msgid="889155457465372527">"ประเภทการส่งผ่านข้อมูล"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"ส่งแบบ keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"ตั้งค่าเป็นบัญชีหลัก"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"ใช้สำหรับการโทรออก"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"การตั้งค่าที่ไม่บังคับ"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"ชื่อผู้ใช้สำหรับตรวจสอบสิทธิ์"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"ชื่อผู้ใช้ที่ใช้ในการตรวจสอบสิทธิ์"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ แตะเพื่อซ่อนทั้งหมด"</string>
     <string name="empty_alert" msgid="6659484914371384024">"ต้องระบุ <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> และไม่สามารถปล่อยว่างได้"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"หมายเลขพอร์ตควรอยู่ระหว่าง 1000 ถึง 65534"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"ไม่มีการเชื่อมต่ออินเทอร์เน็ต"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"ไม่มีการเชื่อมต่อ Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"หากต้องการโทรออกทางอินเทอร์เน็ต ให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตของคุณก่อน"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"คุณจำเป็นต้องเชื่อมต่อกับเครือข่าย Wi-Fi สำหรับการโทรทางอินเทอร์เน็ต (ใช้การตั้งค่าระบบไร้สายและเครือข่าย)"</string>
-    <string name="no_voip" msgid="1600568347241920141">"ไม่สนับสนุนการโทรทางอินเทอร์เน็ต"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"หากต้องการโทรผ่าน SIP ให้ตรวจสอบการเชื่อมต่ออินเทอร์เน็ตก่อน"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"คุณต้องเชื่อมต่อเครือข่าย Wi-Fi เพื่อโทรผ่าน SIP (ใช้การตั้งค่าระบบไร้สายและเครือข่าย)"</string>
+    <string name="no_voip" msgid="3038021971231952704">"ไม่สนับสนุนการโทรผ่าน SIP"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"อัตโนมัติ"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ส่งเสมอ"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"การโทรทางอินเทอร์เน็ตในตัว"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"การโทรผ่าน SIP ในตัว"</string>
 </resources>
diff --git a/sip/res/values-tl/strings.xml b/sip/res/values-tl/strings.xml
index 4f4b9e8..bcc2ae5 100644
--- a/sip/res/values-tl/strings.xml
+++ b/sip/res/values-tl/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Mga setting ng tawag sa Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Mga account sa pagtawag sa Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Mga setting ng SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Mga SIP account"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Mga Account"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Tumanggap ng mga papasok na tawag"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Binabawasan ang buhay ng baterya"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Gumamit ng pagtawag sa Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Gumamit ng pagtawag sa Internet (Wi-Fi lang)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Gumagamit ng higit na tagal ng baterya"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Gamitin ang pagtawag sa pamamagitan ng SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Gamitin ang pagtawag sa pamamagitan ng SIP (Wi-Fi lang)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Para sa lahat ng mga tawag kapag available ang data network"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Para sa mga tawag sa Internet lang"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Hingin ang bawat tawag"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Para lang sa mga tawag sa pamamagitan ng SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Para sa lahat ng tawag"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Tumawag"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Gumamit ng account sa pagtawag sa Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Palaging gamitin upang gumawa ng mga tawag sa Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Maaari mong baguhin kung anong account ng pagtawag sa Internet ang default na gagamitin mula sa Telepono &gt; Mga Setting &gt; Mga setting ng tawag sa internet &gt; screen ng Mga account."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Tawag sa cell phone"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Tawag sa internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Walang account sa pagtawag sa Internet"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Walang mga account sa pagtawag sa Internet sa teleponong ito. Gusto mo bang magdagdag ng isa ngayon?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Idagdag"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Magdagdag ng account"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Alisin ang account"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Mga SIP account"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Isara ang profile"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Ayos"</string>
     <string name="close_profile" msgid="3122414058856309881">"Isara"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Pangunahing account. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Tinitingnan ang status..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Inirerehistro..."</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Sinusubukan pa rin..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Numero ng port"</string>
     <string name="transport_title" msgid="889155457465372527">"Uri ng paglilipat"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Magpadala ng keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Itakda bilang pangunahing account"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Ginagamit para sa mga papalabas na tawag"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Mga opsyonal na setting"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Username sa pagpapatotoo"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Ginamit ang username para sa pagpapatotoo"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Pindutin upang itago ang lahat"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Kinakailangan ang <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> at hindi maaaring iwanang blangko."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Dapat na nasa pagitan ng 1000 at 65534 ang numero ng port."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Wala koneksyon net"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Walang koneksyon sa Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Upang tumawag sa Internet, suriin muna ang iyong koneksyon sa Internet."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Kailangan mong maging konektado sa isang Wi-Fi network para sa mga tawag sa Internet (gamitin ang mga setting ng Wireless &amp; Network)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Hindi suportado ang pagtawag sa Internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Upang tumawag sa pamamagitan ng SIP, suriin muna ang iyong koneksyon sa Internet."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Kailangang nakakonekta ka sa isang Wi-Fi network para sa mga tawag sa pamamagitan ng SIP (gamitin ang mga setting ng Wireless at Network)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Hindi sinusuportahan ang pagtawag sa pamamagitan ng SIP"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Awtomatiko"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Palaging ipadala"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Built-in na pagtawag sa Internet"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Built-in na pagtawag sa pamamagitan ng SIP"</string>
 </resources>
diff --git a/sip/res/values-tr/strings.xml b/sip/res/values-tr/strings.xml
index 958302c..dad7ab6 100644
--- a/sip/res/values-tr/strings.xml
+++ b/sip/res/values-tr/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"İnternet çağrısı ayarları"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"İnternet çağrısı (SIP) hesapları"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP ayarları"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP hesapları"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Hesaplar"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Gelen çağrıları al"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Pil ömrünü kısaltır"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"İnternet çağrısını kullan"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"İnternet çağrısı kullan (yalnızca kablosuz)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Daha fazla pil kullanır"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP aramayı kullan"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP aramayı kullan (sadece Kablosuz)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Veri ağı uygun durumdayken yapılan tüm çağrılar için"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Yalnızca İnternet numaraları için"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Her çağrı için sor"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Sadece SIP çağrıları için"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Tüm çağrılar için"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Çağrı yap"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"İnternet çağrısı hesabını kullan:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Her zaman İnternet çağrıları yapmak için kullan"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Varsayılan olarak hangi İnternet çağrısı hesabının kullanılacağını Telefon &gt; Ayarlar &gt; İnternet çağrısı ayarları &gt; Hesaplar ekranını kullanarak değiştirebilirsiniz."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Cep telefonu çağrısı"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"İnternet çağrısı"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"İnternet çağrısı hesabı yok"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Bu telefonda hiç İnternet çağrısı hesabı yok. Şimdi eklemek ister misiniz?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Ekle"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Hesap ekle"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Hesabı kaldır"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP hesapları"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Profili kapat"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"Tamam"</string>
     <string name="close_profile" msgid="3122414058856309881">"Kapat"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Birincil hesap. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Durum denetleniyor..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Kayıt olunuyor…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Denemeye devam ediliyor…"</string>
@@ -59,34 +48,30 @@
     <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"Hesap kaydı başarısız oldu: Yanlış kullanıcı adı veya şifre."</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"Hesap kaydı başarısız oldu: Sunucu adını kontrol edin."</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"Bu hesap şu anda <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> uygulaması tarafından kullanılıyor."</string>
-    <string name="sip_edit_title" msgid="1967247832635750410">"SIP hesabı ayrıntıları"</string>
-    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP hesabı ayrıntıları"</string>
+    <string name="sip_edit_title" msgid="1967247832635750410">"SIP hesabı"</string>
+    <string name="sip_edit_new_title" msgid="266414118302574305">"SIP hesabı"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"Sunucu"</string>
     <string name="username_title" msgid="6770064611005663470">"Kullanıcı adı"</string>
     <string name="password_title" msgid="5289013731515564295">"Şifre"</string>
-    <string name="display_name_title" msgid="579241787583079773">"Adı görüntüle"</string>
+    <string name="display_name_title" msgid="579241787583079773">"Görüntülenen ad"</string>
     <string name="proxy_address_title" msgid="6890163365640631841">"Giden proxy adresi"</string>
     <string name="port_title" msgid="6693965912656593862">"Bağlantı noktası numarası"</string>
     <string name="transport_title" msgid="889155457465372527">"Aktarım türü"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Canlı tutma mesajı gönder"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Birincil hesap olarak ayarla"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Giden çağrılar için kullanılır"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"İsteğe bağlı ayarlar"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Kimlik doğrulama kullanıcı adı"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Kimlik doğrulama için kullanılan kullanıcı adı"</string>
     <string name="default_preference_summary" msgid="1979249643719483249">"&lt;Ayarlanmadı&gt;"</string>
     <string name="display_name_summary" msgid="7155076491675565407">"&lt;Kullanıcı adıyla aynı&gt;"</string>
     <string name="optional_summary" msgid="2363105560396317624">"&lt;İsteğe bağlı&gt;"</string>
-    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Tümünü göstermek için dokunun"</string>
+    <string name="advanced_settings_show" msgid="7838761602853998622">"▷ Tümünü görmek için dokunun"</string>
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Tümünü gizlemek için dokunun"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> gerekli, bu alan boş bırakılamaz."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Bağlantı noktası numarası 1000 ile 65534 arasında olmalıdır."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"İnternet bağlantısı yok"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Kablosuz bağlantı yok"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"İnternet çağrısı yapmak için öncelikle İnternet bağlantınızı denetleyin."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"İnternet çağrıları için bir Kablosuz ağa bağlı olmalısınız (Kablosuz ve Ağ ayarlarını kullanın)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"İnternet çağrısı desteklenmiyor"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Bir SIP çağrısı yapmak için önce İnternet bağlantınızı kontrol edin."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP çağrıları için bir Kablosuz ağa bağlı olmanız (Kablosuz ve Ağ ayarlarını kullanın) gerekir."</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP çağrısı desteklenmiyor"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Otomatik"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Her zaman gönder"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Yerleşik İnternet çağrısı"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Yerleşik SIP arama"</string>
 </resources>
diff --git a/sip/res/values-uk/strings.xml b/sip/res/values-uk/strings.xml
index 230630b..f577451 100644
--- a/sip/res/values-uk/strings.xml
+++ b/sip/res/values-uk/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Налаштування інтернет-дзвінків"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Облікові записи для інтернет-дзвінків (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Налаштування SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Облікові записи SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Облікові записи"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Отримувати вхідні дзвінки"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Зменшує тривалість роботи акумулятора"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Використовувати інтернет-дзвінки"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Використовувати інтернет-дзвінки (лише Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Використовує більше заряду акумулятора"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Використання викликів SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Використання викликів SIP (лише Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Для всіх дзвінків, коли доступна мережа передавання даних"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Лише для інтернет-дзвінків"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Запитувати для кожного дзвінка"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Лише для викликів SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Для всіх дзвінків"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Здійснити дзвінок"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Використовувати обліковий запис для інтернет-дзвінків:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Завжди використовувати для здійснення інтернет-дзвінків"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Обліковий запис за умовчанням для інтернет-дзвінків можна змінити на екрані \"Телефон\" &gt; \"Налаштування\" &gt; \"Налаштування інтернет-дзвінків\" &gt; \"Облікові записи\"."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Дзвінок із мобільного телефона"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Інтернет-дзвінок"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Немає облікового запису для інтернет-дзвінків"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"У цьому телефоні немає облікових записів для інтернет-дзвінків. Додати зараз?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Додати"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Додати обліковий запис"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Видалити обліковий запис"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Облікові записи SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Закрити профіль"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ОК"</string>
     <string name="close_profile" msgid="3122414058856309881">"Закрити"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Основний обліковий запис. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Перевірка статусу…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Реєстрація…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Повторна спроба…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Номер порту"</string>
     <string name="transport_title" msgid="889155457465372527">"Тип транспортування"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Надсилання повідомлення для підтримки з’єднання"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Зробити основним обліковим записом"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Використовується для вихідних дзвінків"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Додаткові налаштування"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Ім’я користувача для автентифікації"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Ім’я користувача, використане для автентифікації"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Торкніться, щоб сховати все"</string>
     <string name="empty_alert" msgid="6659484914371384024">"Поле <xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> обов’язкове. Воно не може бути порожнім."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Введіть номер порту між 1000 та 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Немає з’єднання з Інтернетом"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Немає з’єднання Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Щоб здійснити інтернет-дзвінок, спершу перевірте своє з’єднання з Інтернетом."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Для інтернет-дзвінків потрібне з’єднання з мережею Wi-Fi (скористайтеся налаштуваннями бездротових і дротових мереж)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Інтернет-дзвінки не підтримуються"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Щоб здійснити виклик SIP, спершу перевірте своє з’єднання з Інтернетом."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Для викликів SIP потрібне з’єднання з мережею Wi-Fi (скористайтеся налаштуваннями бездротового зв’язку та мереж)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Виклики SIP не підтримуються"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Автоматично"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Завжди надсилати"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Вбудована функція інтернет-дзвінків"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Вбудована функція викликів SIP"</string>
 </resources>
diff --git a/sip/res/values-ur-rPK/strings.xml b/sip/res/values-ur-rPK/strings.xml
index 6b67d49..ed3d891 100644
--- a/sip/res/values-ur-rPK/strings.xml
+++ b/sip/res/values-ur-rPK/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"انٹرنیٹ کال کی ترتیبات"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"‏انٹرنیٹ کالنگ (SIP) اکاؤنٹس"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"‏SIP ترتیبات"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"‏SIP اکاؤنٹس"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"اکاؤنٹس"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"اِن کمنگ کالیں وصول کریں"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"بیٹری کی میعاد کم کر دیتا ہے"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"انٹرنیٹ کالنگ کا استعمال کریں"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"‏انٹرنیٹ کالنگ کا استعمال کریں (صرف Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"مزید بیٹری استعمال کرتا ہے"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"‏SIP کالنگ استعمال کریں"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"‏SIP کالنگ استعمال کریں (صرف Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"ڈیٹا نیٹ ورک دستیاب ہونے پر سبھی کالوں کیلئے"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"صرف انٹرنیٹ کالوں کیلئے"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"ہر کال کیلئے پوچھیں"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"‏صرف SIP کالز کیلئے"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"سبھی کالوں کیلئے"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"کال کریں"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"انٹرنیٹ کالنگ اکاؤنٹ کا استعمال کریں:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"انٹرنیٹ کالیں کرنے کیلئے ہمیشہ استعمال کریں"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"کونسا انٹرنیٹ کالنگ اکاؤنٹ بطور ڈیفالٹ استعمال کرنا ہے آپ اسے فون &gt; ترتیبات &gt; انٹرنیٹ کال کی ترتیبات &gt; اکاؤنٹس کی اسکرین سے تبدیل کرسکتے ہیں۔"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"سیل فون کال"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"انٹرنیٹ کال"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"کوئی انٹرنیٹ کالنگ اکاؤنٹ نہیں ہے"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"اس فون پر کوئی انٹرنیٹ کالنگ اکاؤنٹس نہیں ہیں۔ کیا آپ ابھی ایک شامل کرنا چاہتے ہیں؟"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"شامل کریں"</string>
     <string name="add_sip_account" msgid="800843669753980091">"اکاؤنٹ شامل کریں"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"اکاؤنٹ ہٹائیں"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"‏SIP اکاؤنٹس"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"پروفائل بند کریں"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"ٹھیک ہے"</string>
     <string name="close_profile" msgid="3122414058856309881">"بند کریں"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"بنیادی اکاؤنٹ۔ <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"اسٹیٹس کو چیک کیا جا رہا ہے…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"رجسٹر کیا جا رہا ہے…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"اب بھی کوشش کی جا رہی ہے…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"پورٹ نمبر"</string>
     <string name="transport_title" msgid="889155457465372527">"ٹرانسپورٹ کی قسم"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"‏keep-alive بھیجیں"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"بنیادی اکاؤنٹ کے بطور سیٹ کریں"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"آؤٹ باؤنڈ کالوں کیلئے استعمال کیا گیا"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"اختیاری ترتیبات"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"توثیق کیلئے صارف نام"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"توثیق کیلئے استعمال کردہ صارف نام"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ سبھی کو چھپانے کیلئے ٹچ کریں"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> مطلوب ہے اور خالی نہیں چھوڑا جا سکتا۔"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"پورٹ نمبر 1000 اور 65534 کے اندر ہونا چاہیے۔"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"کوئی انٹرنیٹ کنکشن نہیں ہے"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"‏کوئی Wi-Fi کنکشن نہیں ہے"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"انٹرنیٹ کال کرنے کیلئے، پہلے اپنا انٹرنیٹ کنکشن چیک کریں۔"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"‏انٹرنیٹ کالز کیلئے آپ کو ایک Wi-Fi نیٹ ورک سے مربوط ہونے کی ضرورت ہے (وائرلیس اور نیٹ ورک کی ترتیبات کا استعمال کریں)۔"</string>
-    <string name="no_voip" msgid="1600568347241920141">"انٹرنیٹ کالنگ تعاون یافتہ نہیں ہے"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"‏ایک SIP کال کرنے کیلئے، پہلے اپنا انٹرنیٹ کنکشن چیک کریں۔"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"‏SIP کالز کیلئے آپ کو ایک Wi-Fi نیٹ ورک سے منسلک ہونے کی ضرورت ہے (وائرلیس اور نیٹ ورک ترتیبات استعمال کریں)۔"</string>
+    <string name="no_voip" msgid="3038021971231952704">"‏SIP کالنگ تعاون یافتہ نہیں ہے"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"خودکار"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"ہمیشہ بھیجیں"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"پہلے سے شامل انٹرنیٹ کالنگ"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"‏پہلے سے شامل SIP کالنگ"</string>
 </resources>
diff --git a/sip/res/values-uz-rUZ/strings.xml b/sip/res/values-uz-rUZ/strings.xml
index f2f3bbe..a82b606 100644
--- a/sip/res/values-uz-rUZ/strings.xml
+++ b/sip/res/values-uz-rUZ/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Internet qo‘ng‘irog‘i sozlamalari"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Internet qo‘ng‘iroqlari (SIP) hisoblari"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP sozlamalari"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP hisoblari"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Hisoblar"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Kiruvchi qo‘ng‘iroqlarni qabul qilish"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Batareya quvvati sarfini oshiradi"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Internet qo‘ng‘iroqlaridan foydalanish"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Internet qo‘ng‘iroqlaridan foydalanish (faqat Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Batareya quvvatini ko‘p sarflaydi"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"SIP qo‘ng‘iroqlaridan foydalanish"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"SIP qo‘ng‘iroqlaridan foydalanish (faqat Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Tarmoq trafigi mavjud bo‘lganda barcha qo‘ng‘iroqlar uchun"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Faqat internet qo‘ng‘iroqlari uchun"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Har bir qo‘ng‘iroq uchun so‘ralsin"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Faqat SIP qo‘ng‘iroqlari uchun"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Barcha qo‘ng‘iroqlar uchun"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Qo‘ng‘iroq qilish"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Internet qo‘ng‘irog‘i hisobidan foydalaning:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Doimo internetdan qo‘ng‘iroq qilish uchun foydalanilsin"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Siz internet qo‘ng‘iroqlari hisobini standart holatda quyidagilardan foydalanib o‘zgartirishingiz mumkin: Telefon &gt; Sozlamalar &gt; Internet qo‘ng‘iroqlari sozlamalari &gt; Hisoblar ekrani."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Qo‘l telefonga qo‘ng‘roq"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Internet qo‘ng‘irog‘i"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Internet qo‘ng‘irog‘i hisobi mavjud emas"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Ushbu telefonda internet qo‘ng‘iroqlari hisoblari mavjud emas. Yangi hisob qo‘shishni xohlaysizmi?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Qo‘shish"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Yangi hisob qo‘shish"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Hisobni o‘chirish"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP hisoblari"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Profilni yoping"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Yopish"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Asosiy hisob. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Holati tekshirilmoqda…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Ro‘yxatdan o‘tkazilmoqda…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Hanuzgacha urinilmoqda…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Port raqami"</string>
     <string name="transport_title" msgid="889155457465372527">"Transport turi"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Faollikni saqlash tanlovini jo‘natish"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Asosiy hisob sifatida o‘rnatish"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Chiquvchi qo‘ng‘iroqlar uchun foydalanilmoqda"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Ixtiyoriy sozlamalar"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Foydalanuvchi nomini tasdiqdan o‘tkazish"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Foydalanuvchi nomi tasdiqdan o‘tish uchun foydalaniladi"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Barchasini yashirish uchun bosing"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>ni to‘ldirish shart, u bo‘sh qolmasligi kerak."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Port raqami 1000 va 65534 oralig‘ida bo‘lishi kerak."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Internetga ulanmagan"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Wi-Fi ulanishi yo‘q"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Internet qo‘ng‘iroqlarini amalga oshirish uchun, avval internetga ulanishni tekshirib ko‘ring."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Internet qo‘ng‘iroqlarini amalga oshirish uchun Wi-FI tarmoqqa ulanishingiz kerak (Simsiz &amp; tarmoq sozlamalaridan foydalaning)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Internet qo‘ng‘iroqlari ishlamaydi"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"SIP qo‘ng‘irog‘ini amalga oshirish uchun avval internetga ulanishni tekshiring."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"SIP qo‘ng‘iroqlarini amalga oshirish uchun biror Wi-Fi tarmog‘iga ulanish lozim (“Simsiz tarmoqlar” sozlamalaridan foydalaning)"</string>
+    <string name="no_voip" msgid="3038021971231952704">"SIP qo‘ng‘iroqlari qo‘llab-quvvatlanmaydi"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Avtomatik"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Doimo jo‘natilsin"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Ichki o‘rnatilgan internet qo‘ng‘iroq xizmati"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Ichki o‘rnatilgan SIP qo‘ng‘iroqlari"</string>
 </resources>
diff --git a/sip/res/values-vi/strings.xml b/sip/res/values-vi/strings.xml
index c044cb1..04a1908 100644
--- a/sip/res/values-vi/strings.xml
+++ b/sip/res/values-vi/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Cài đặt cuộc gọi qua Internet"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Tài khoản gọi qua Internet (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Cài đặt SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Tài khoản SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Tài khoản"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Nhận cuộc gọi đến"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Giảm tuổi thọ pin"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Sử dụng tính năng gọi qua Internet"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Sử dụng tính năng gọi qua Internet (chỉ Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Sử dụng nhiều thời lượng pin hơn"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Sử dụng tính năng gọi điện SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Sử dụng tính năng gọi điện SIP (chỉ Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Dành cho tất cả các cuộc gọi khi mạng dữ liệu sẵn có"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Chỉ dành cho các cuộc gọi qua Internet"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Hỏi cho mỗi cuộc gọi"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Chỉ dành cho cuộc gọi SIP"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Dành cho tất cả các cuộc gọi"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Thực hiện cuộc gọi"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Sử dụng tài khoản gọi qua Internet:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Luôn sử dụng để thực hiện cuộc gọi qua Internet"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"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 &gt; Cài đặt &gt; Cài đặt gọi qua Internet &gt; Tài khoản."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Cuộc gọi qua điện thoại di động"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Cuộc gọi qua Internet"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Không có tài khoản gọi qua Internet nào"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"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?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Thêm"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Thêm tài khoản"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Xóa tài khoản"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Tài khoản SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Đóng tiểu sử"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"OK"</string>
     <string name="close_profile" msgid="3122414058856309881">"Đóng"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"Tài khoản chính. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Đang kiểm tra trạng thái..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Đang đăng ký…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Vẫn đang thử..."</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Số cổng"</string>
     <string name="transport_title" msgid="889155457465372527">"Loại truyền tải"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Gửi giữ kết nối"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Đặt làm tài khoản chính"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Được sử dụng cho các cuộc gọi đi"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Cài đặt tùy chọn"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Tên người dùng xác thực"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Tên người dùng được sử dụng để xác thực"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Chạm để ẩn tất cả"</string>
     <string name="empty_alert" msgid="6659484914371384024">"<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> là bắt buộc và không thể để trống."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Số cổng phải trong khoảng từ 1000 đến 65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Không có kết nối Internet"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Không có kết nối Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Để 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."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"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 và mạng)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Không hỗ trợ gọi qua Internet"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Để thực hiện cuộc gọi SIP, trước tiên hãy kiểm tra kết nối Internet của bạn."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Bạn cần kết nối với mạng Wi-Fi cho cuộc gọi SIP (hãy sử dụng cài đặt Không dây và Mạng)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Tính năng gọi điện SIP không được hỗ trợ"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Tự động"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Luôn luôn gửi"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Tích hợp sẵn gọi điện qua Internet"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Tính năng gọi điện SIP tích hợp sẵn"</string>
 </resources>
diff --git a/sip/res/values-zh-rCN/strings.xml b/sip/res/values-zh-rCN/strings.xml
index 80cc401..2d073c1 100644
--- a/sip/res/values-zh-rCN/strings.xml
+++ b/sip/res/values-zh-rCN/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"互联网电话设置"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"互联网电话帐户"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP 设置"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP 帐户"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"帐户"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"接听来电"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"会缩短电池的续航时间"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"使用互联网电话"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"使用互联网电话（仅限WLAN）"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"会消耗更多电量"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"使用 SIP 通话功能"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"使用 SIP 通话功能（仅通过 WLAN 网络）"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"所有通话（数据网络可用时）"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"仅限互联网电话"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"每次都询问"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"仅用于 SIP 通话"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"所有通话"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"拨打电话"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"使用互联网电话帐户："</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"一律用于拨打互联网电话"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"要更改默认使用的互联网电话帐户，请转到“电话”&gt;“设置”&gt;“互联网电话设置”&gt;“帐户”屏幕进行调整。"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"手机电话"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"互联网电话"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"没有互联网电话帐户"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"此手机上没有互联网电话帐户，要立即添加一个吗？"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"添加"</string>
     <string name="add_sip_account" msgid="800843669753980091">"添加帐户"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"移除帐户"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"互联网电话帐户"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"关闭个人资料"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"确定"</string>
     <string name="close_profile" msgid="3122414058856309881">"关闭"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"主帐户。<xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"正在检查状态…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"正在注册…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"仍在尝试…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"端口号"</string>
     <string name="transport_title" msgid="889155457465372527">"传输类型"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"发送持续连接消息"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"设置为主帐户"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"用于外拨电话"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"可选设置"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"身份验证用户名"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"用于身份验证的用户名"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ 触摸可全部隐藏"</string>
     <string name="empty_alert" msgid="6659484914371384024">"“<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>”属于必填字段，不得留空。"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"端口号应在1000与65534之间。"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"未连接到互联网"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"无WLAN连接"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"要拨打互联网电话，请先检查互联网连接情况。"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"您需要连接到WLAN网络才能拨打互联网电话（使用“无线和网络”设置）。"</string>
-    <string name="no_voip" msgid="1600568347241920141">"不支持互联网电话"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"要拨打 SIP 电话，请先检查您的互联网连接。"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"您需要连接到 WLAN 网络才能拨打 SIP 电话（使用“无线和网络”设置）。"</string>
+    <string name="no_voip" msgid="3038021971231952704">"不支持 SIP 通话功能"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"自动"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"一律发送"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"内置互联网电话服务"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"内置 SIP 通话功能"</string>
 </resources>
diff --git a/sip/res/values-zh-rHK/strings.xml b/sip/res/values-zh-rHK/strings.xml
index f702063..84fbcf0 100644
--- a/sip/res/values-zh-rHK/strings.xml
+++ b/sip/res/values-zh-rHK/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"網絡通話設定"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"網絡通話 (SIP) 帳戶"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP 設定"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP 帳戶"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"帳戶"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"接聽來電"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"縮短電池壽命"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"使用網絡通話"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"使用網絡通話 (僅限 Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"消耗更多電量"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"使用 SIP 通話"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"使用 SIP 通話 (只限 Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"數據網絡可用時，適用於所有通話"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"僅適用於網絡通話"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"每次通話都詢問"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"只限 SIP 通話"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"適用於所有通話"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"撥打電話"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"使用網絡通話帳戶："</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"永遠用於撥打網絡電話"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"如要更改預設使用的網絡通話帳戶，請前往 [手機] &gt; [設定] &gt; [網絡通話設定] &gt; [帳戶] 畫面加以設定。"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"手機電話"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"網絡通話"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"沒有網絡通話帳戶"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"這部手機沒有設定任何網絡通話帳戶。您要立即新增帳戶嗎？"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"新增"</string>
     <string name="add_sip_account" msgid="800843669753980091">"新增帳戶"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"移除帳戶"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP 帳戶"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"關閉個人檔案"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"確定"</string>
     <string name="close_profile" msgid="3122414058856309881">"關閉"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"主要帳戶。<xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"正在檢查狀態…"</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"正在註冊…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"仍在嘗試…"</string>
@@ -56,37 +45,33 @@
     <string name="registration_status_not_running" msgid="514205414303796800">"帳戶註冊失敗。"</string>
     <string name="registration_status_done" msgid="3264961069247314253">"可以接聽電話。"</string>
     <string name="registration_status_failed_try_later" msgid="2199970021756384317">"帳戶註冊失敗：(<xliff:g id="REGISTRATION_ERROR_MESSAGE">%s</xliff:g>)；將於稍後重試"</string>
-    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"帳戶註冊失敗：用戶名稱或密碼不正確。"</string>
+    <string name="registration_status_invalid_credentials" msgid="8406872554323334182">"帳戶註冊失敗：使用者名稱或密碼不正確。"</string>
     <string name="registration_status_server_unreachable" msgid="7710275557045148634">"帳戶註冊失敗：請查看伺服器名稱。"</string>
     <string name="third_party_account_summary" msgid="9041060473615403041">"這個帳戶目前正由 <xliff:g id="ACCOUNT_OWNER">%s</xliff:g> 應用程式使用。"</string>
     <string name="sip_edit_title" msgid="1967247832635750410">"SIP 帳戶詳情"</string>
     <string name="sip_edit_new_title" msgid="266414118302574305">"SIP 帳戶詳情"</string>
     <string name="domain_address_title" msgid="1968479941328225423">"伺服器"</string>
-    <string name="username_title" msgid="6770064611005663470">"用戶名稱"</string>
+    <string name="username_title" msgid="6770064611005663470">"使用者名稱"</string>
     <string name="password_title" msgid="5289013731515564295">"密碼"</string>
     <string name="display_name_title" msgid="579241787583079773">"顯示名稱"</string>
     <string name="proxy_address_title" msgid="6890163365640631841">"對外代理伺服器位址"</string>
     <string name="port_title" msgid="6693965912656593862">"通訊埠號碼"</string>
     <string name="transport_title" msgid="889155457465372527">"傳輸類型"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"傳送 keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"設為主要帳戶"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"用於外撥通話"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"選用設定"</string>
-    <string name="auth_username_title" msgid="8262491689004708265">"驗證用戶名稱"</string>
-    <string name="auth_username_summary" msgid="941160241371436473">"用於驗證的用戶名稱"</string>
+    <string name="auth_username_title" msgid="8262491689004708265">"驗證使用者名稱"</string>
+    <string name="auth_username_summary" msgid="941160241371436473">"用於驗證的使用者名稱"</string>
     <string name="default_preference_summary" msgid="1979249643719483249">"&lt;未設定&gt;"</string>
-    <string name="display_name_summary" msgid="7155076491675565407">"&lt;與用戶名稱相同&gt;"</string>
+    <string name="display_name_summary" msgid="7155076491675565407">"&lt;與使用者名稱相同&gt;"</string>
     <string name="optional_summary" msgid="2363105560396317624">"&lt;非必填&gt;"</string>
     <string name="advanced_settings_show" msgid="7838761602853998622">"▷ 輕觸即可全部顯示"</string>
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ 輕觸即可全部隱藏"</string>
     <string name="empty_alert" msgid="6659484914371384024">"「<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>」為必填欄位，不得留空。"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"通訊埠號碼必須介乎 1000 至 65534 之間。"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"沒有互聯網連線"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"沒有 Wi-Fi 連線"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"如要撥打網絡電話，請先檢查您的互聯網連線。"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"您必須連接 Wi-Fi 網絡，才能使用網絡通話 (使用 [無線網絡和網絡] 設定)。"</string>
-    <string name="no_voip" msgid="1600568347241920141">"不支援網絡通話"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"如要進行 SIP 通話，請先檢查您的互聯網連線。"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"如要進行 SIP 通話，您需要連線至 Wi-Fi 網絡 (使用無線和網絡設定)。"</string>
+    <string name="no_voip" msgid="3038021971231952704">"不支援 SIP 通話"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"自動"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"永遠傳送"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"內置網絡通話服務"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"內置 SIP 通話"</string>
 </resources>
diff --git a/sip/res/values-zh-rTW/strings.xml b/sip/res/values-zh-rTW/strings.xml
index f513f85..70a08dd 100644
--- a/sip/res/values-zh-rTW/strings.xml
+++ b/sip/res/values-zh-rTW/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"網路電話設定"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"網路電話 (SIP) 帳戶"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"SIP 設定"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"SIP 帳戶"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"帳戶"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"接聽來電"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"會減少電池電量"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"使用網路通話"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"使用網路通話 (僅限 Wi-Fi)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"耗電量會因此增加"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"使用 SIP 通話功能"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"使用 SIP 通話功能 (僅限 Wi-Fi)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"數據網路可用時，適用於所有通話"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"僅適用於網路電話"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"每次通話都詢問"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"僅適用於 SIP 通話"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"適用於所有通話"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"撥打電話"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"使用網路電話帳戶："</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"一律用於撥打網路電話"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"如要變更預設使用的網路電話帳戶，請前往 [手機] &gt; [設定] &gt; [網路電話設定] &gt; [帳戶] 畫面調整設定。"</string>
-    <string name="pstn_phone" msgid="9596332924895028">"手機電話"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"網路通話"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"沒有網路通話帳戶"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"這支手機沒有設定任何網路電話帳戶，您要立即新增帳戶嗎？"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"新增"</string>
     <string name="add_sip_account" msgid="800843669753980091">"新增帳戶"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"移除帳戶"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"SIP 帳戶"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"關閉個人資料"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"確定"</string>
     <string name="close_profile" msgid="3122414058856309881">"關閉"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"主要帳戶。<xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"正在檢查狀態..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"註冊中…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"仍在嘗試中…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"通訊埠號碼"</string>
     <string name="transport_title" msgid="889155457465372527">"傳輸類型"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"傳送 keep-alive"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"設為主要帳戶"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"用於外撥通話"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"選用設定"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"驗證使用者名稱"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"用於進行驗證的使用者名稱"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ 輕觸即可全部隱藏"</string>
     <string name="empty_alert" msgid="6659484914371384024">"「<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g>」為必填欄位，不得留空。"</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"通訊埠號碼必須介於 1000 到 65534 間。"</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"沒有網路連線"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"沒有 Wi-Fi 連線"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"如要撥打網路電話，請先檢查您的網際網路連線。"</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"您必須連上 Wi-Fi 網路才能使用網路電話 (使用 [無線網路與網路設定])。"</string>
-    <string name="no_voip" msgid="1600568347241920141">"不支援網路電話"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"如要撥打 SIP 電話，請先檢查您的網際網路連線。"</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"您必須連上 Wi-Fi 網路，才能使用 SIP 通話功能 (透過「無線與網路」設定)。"</string>
+    <string name="no_voip" msgid="3038021971231952704">"不支援 SIP 通話功能"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"自動"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"一律傳送"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"內建網路通話服務"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"內建 SIP 通話功能"</string>
 </resources>
diff --git a/sip/res/values-zu/strings.xml b/sip/res/values-zu/strings.xml
index 264792d..8e79375 100644
--- a/sip/res/values-zu/strings.xml
+++ b/sip/res/values-zu/strings.xml
@@ -16,26 +16,16 @@
 
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="sip_settings" msgid="7083411056842490982">"Izilungiselelo zekholi ye-inthanethi"</string>
-    <string name="sip_accounts" msgid="5575635218475814144">"Ama-akhawunti wokushaya nge-inthanethi (SIP)"</string>
+    <string name="sip_settings" msgid="3768482698061677257">"Izilungiselelo ze-SIP"</string>
+    <string name="sip_accounts" msgid="85559497282185405">"Ama-akhawunti we-SIP"</string>
     <string name="sip_accounts_title" msgid="2082527045326874519">"Ama-akhawunti"</string>
     <string name="sip_receive_calls" msgid="426678617137462173">"Thola amakholi angenayo"</string>
-    <string name="sip_receive_calls_summary" msgid="7390078407518633658">"Yehlisa impilo yebhethri"</string>
-    <string name="sip_call_options_title" msgid="1140346343222696780">"Sebenzisa ukushaya kwe-inthanethi"</string>
-    <string name="sip_call_options_wifi_only_title" msgid="6659725576735517138">"Sebenzisa ukushaya kwe-inthanethi (i-Wi-Fi kuphela)"</string>
+    <string name="sip_receive_calls_summary" msgid="946161517528227523">"Isebenzisa impilo yebhethri eningi"</string>
+    <string name="sip_call_options_title" msgid="8421210494703869806">"Sebenzisa ukushaya kwe-SIP"</string>
+    <string name="sip_call_options_wifi_only_title" msgid="5112579243580893890">"Sebenzisa ukushaya kwe-SIP (i-Wi-Fi kuphela)"</string>
     <string name="sip_call_options_entry_1" msgid="7217659161237099900">"Yawo wonke amakholi uma inethiwekhi yedatha itholakala"</string>
-    <string name="sip_call_options_entry_2" msgid="3432624809972300467">"Kumakholi we-inthanethi kuphela"</string>
-    <string name="sip_call_options_entry_3" msgid="1493464396638124047">"Celela kukholi ngayinye"</string>
+    <string name="sip_call_options_entry_2" msgid="1815335903940609729">"Ngeyamakholi we-SIP kuphela"</string>
     <string name="sip_call_options_wifi_only_entry_1" msgid="1358513095551847314">"Yamakholi wonke"</string>
-    <string name="pick_outgoing_call_phone_type" msgid="7140865415705473564">"Yenza ikholi"</string>
-    <string name="pick_outgoing_sip_phone" msgid="635431914692273175">"Sebenzisa i-akhawunti yokushaya ye-inthanethi:"</string>
-    <string name="remember_my_choice" msgid="6204557816977242680">"Njalo sebenzisa ukwenza amakholi nge-inthanethi"</string>
-    <string name="reset_my_choice_hint" msgid="5681276499400166714">"Ungaguqula ukuthi iyiphi i-akhawunti yokushaya kwe-inthanethi engasetshenziswa ngokuzenzakalela kusuka ku-Ifoni &gt; Izilungiselelo &gt; Izilungiselelo zekholi ye-inthanethi &gt; Isikrini sama-akhawunti."</string>
-    <string name="pstn_phone" msgid="9596332924895028">"Ikholi yeselula foni"</string>
-    <string name="internet_phone" msgid="4444458244774004247">"Ikholi ye-inthanethi"</string>
-    <string name="no_sip_account_found_title" msgid="1930267380483259657">"Ayikho i-akhawunti yokushaya kwe-inthanethi"</string>
-    <string name="no_sip_account_found" msgid="2584609532663311723">"Awekho ama-akhawunti wokushaya kwe-inthanethi kule foni. Ingabe ufuna ukungeza eyodwa manje?"</string>
-    <string name="sip_menu_add" msgid="220996859802365311">"Engeza"</string>
     <string name="add_sip_account" msgid="800843669753980091">"Engeza i-akhawunti"</string>
     <string name="remove_sip_account" msgid="1367664438506503690">"Susa i-akhawunti"</string>
     <string name="sip_account_list" msgid="5610858485304821480">"Ama-akhawunti we-SIP"</string>
@@ -46,7 +36,6 @@
     <string name="alert_dialog_close" msgid="1326011828713435134">"Vala iphrofayela"</string>
     <string name="alert_dialog_ok" msgid="4752048404605388940">"KULUNGILE"</string>
     <string name="close_profile" msgid="3122414058856309881">"Vala"</string>
-    <string name="primary_account_summary_with" msgid="3590771303761149724">"I-akhawunti eyinhloko. <xliff:g id="REGISTRATION_STATUS">%s</xliff:g>"</string>
     <string name="registration_status_checking_status" msgid="6136793741862200337">"Ihlola isimo..."</string>
     <string name="registration_status_registering" msgid="2677183977796278749">"Iyabhalisa…"</string>
     <string name="registration_status_still_trying" msgid="7648151061205513458">"Isazama namanje…"</string>
@@ -69,8 +58,6 @@
     <string name="port_title" msgid="6693965912656593862">"Inombolo yembobo"</string>
     <string name="transport_title" msgid="889155457465372527">"Uhlobo lwendlela yezokuthutha"</string>
     <string name="send_keepalive_title" msgid="599627072150501159">"Thumula igcina kuphila"</string>
-    <string name="set_primary_title" msgid="4418523822344363725">"Setha njenge-akhawunti eyinhloko"</string>
-    <string name="set_primary_summary" msgid="8917913711425551278">"Setshenziselwa amakholi aphumayo"</string>
     <string name="advanced_settings" msgid="6622996380747040711">"Izilungiselelo ongazikhetha"</string>
     <string name="auth_username_title" msgid="8262491689004708265">"Igama lomsebenzisi lokufakazela ubuqiniso"</string>
     <string name="auth_username_summary" msgid="941160241371436473">"Igama lomsebenzisi elisetshenziselwa ukufakazela ubuqiniso"</string>
@@ -81,12 +68,10 @@
     <string name="advanced_settings_hide" msgid="3480554978705290228">"▽ Thinta ukuze ufihle konke"</string>
     <string name="empty_alert" msgid="6659484914371384024">"I-<xliff:g id="INPUT_FIELD_NAME">%s</xliff:g> iyadingeka futhi ayikwazi ukungabi nalutho."</string>
     <string name="not_a_valid_port" msgid="7931422555587011830">"Inombolo yembobo kumele ibe phakathi kokungu-1000 nokungu-65534."</string>
-    <string name="no_internet_available_title" msgid="5967612364991972539">"Akukho ukuxhumeka kwe-inthanethi"</string>
-    <string name="no_wifi_available_title" msgid="3560623175076099410">"Akukho ukuxhumeka kwe-Wi-Fi"</string>
-    <string name="no_internet_available" msgid="3166751740849243568">"Ukuze wenze ikholi ye-inthanethi, hlola ukuxhumeka kwakho kwe-inthanethi kuqala."</string>
-    <string name="no_wifi_available" msgid="8786934834522321080">"Kuzomele uxhumeke kunethiwekhi ye-Wi-Fi ngamakholi we-inthanethi (sebenzisa izilungiselelo zenethiwekhi nokungenantambo)."</string>
-    <string name="no_voip" msgid="1600568347241920141">"Ukushaya kwe-inthanethi akusekelwe"</string>
+    <string name="no_internet_available" msgid="5523747991760017298">"Ukuze wenze ikholi ye-SIP, hlola ukuxhumeka kwe-inthanethi yakho kuqala."</string>
+    <string name="no_wifi_available" msgid="1955023904229673488">"Kuzomele uxhumeke kunethiwekhi ye-Wi-Fi ngamakholi we-SIP (sebenzisa izilungiselelo ezingenantambo nenethiwekhi)."</string>
+    <string name="no_voip" msgid="3038021971231952704">"Ukushaya kwe-SIP akusekelwe"</string>
     <string name="sip_system_decide" msgid="5577696249416700671">"Okuzenzakalelayo"</string>
     <string name="sip_always_send_keepalive" msgid="4773022409239823318">"Thumela njalo"</string>
-    <string name="sip_connection_service_label" msgid="9214942431972794760">"Ukushaya kwe-inthanethi okwakhelwe ngaphakathi"</string>
+    <string name="sip_connection_service_label" msgid="6935325004265884453">"Ukushaya okwakhelwe ngaphakathi kwe-SIP"</string>
 </resources>
diff --git a/src/com/android/phone/CallFeaturesSetting.java b/src/com/android/phone/CallFeaturesSetting.java
index 4fa28ab..1b8f96f 100644
--- a/src/com/android/phone/CallFeaturesSetting.java
+++ b/src/com/android/phone/CallFeaturesSetting.java
@@ -25,28 +25,20 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.database.Cursor;
-import android.media.AudioManager;
-import android.os.AsyncResult;
 import android.os.Bundle;
-import android.os.Handler;
-import android.os.Message;
 import android.os.UserHandle;
 import android.preference.CheckBoxPreference;
 import android.preference.ListPreference;
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
-import android.provider.ContactsContract.CommonDataKinds;
 import android.provider.Settings;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
-import android.telephony.PhoneStateListener;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.MenuItem;
-import android.widget.ListAdapter;
 import android.widget.Toast;
 
 import com.android.ims.ImsConfig;
@@ -56,26 +48,13 @@
 import com.android.internal.telephony.PhoneConstants;
 import com.android.phone.common.util.SettingsUtil;
 import com.android.phone.settings.AccountSelectionPreference;
-import com.android.phone.settings.CallForwardInfoUtil;
-import com.android.phone.settings.TtyModeListPreference;
-import com.android.phone.settings.VoicemailDialogUtil;
-import com.android.phone.settings.VoicemailNotificationSettingsUtil;
-import com.android.phone.settings.VoicemailProviderListPreference;
-import com.android.phone.settings.VoicemailProviderListPreference.VoicemailProvider;
-import com.android.phone.settings.VoicemailProviderSettings;
-import com.android.phone.settings.VoicemailProviderSettingsUtil;
-import com.android.phone.settings.VoicemailRingtonePreference;
+import com.android.phone.settings.VoicemailSettingsActivity;
 import com.android.phone.settings.fdn.FdnSetting;
 import com.android.services.telephony.sip.SipUtil;
 
 import java.lang.String;
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
-import java.util.Map;
 
 /**
  * Top level "Call settings" UI; see res/xml/call_feature_setting.xml
@@ -92,57 +71,15 @@
  * For the "Mobile network settings" screen under the main Settings app,
  * See {@link MobileNetworkSettings}.
  *
- * TODO: Settings should be split into PreferenceFragments where possible (ie. voicemail).
- *
  * @see com.android.phone.MobileNetworkSettings
  */
 public class CallFeaturesSetting extends PreferenceActivity
-        implements DialogInterface.OnClickListener,
-                Preference.OnPreferenceChangeListener,
-                EditPhoneNumberPreference.OnDialogClosedListener,
-                EditPhoneNumberPreference.GetDefaultNumberListener {
+        implements Preference.OnPreferenceChangeListener {
     private static final String LOG_TAG = "CallFeaturesSetting";
     private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
     // STOPSHIP if true. Flag to override behavior default behavior to hide VT setting.
     private static final boolean ENABLE_VT_FLAG = false;
 
-    /**
-     * 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";
-    // 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";
-    // 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
-    public static final String FWD_NUMBER_EXTRA = "com.android.phone.ForwardingNumber";
-    // Extra put in the return from VM provider config containing call forwarding number to set
-    public static final String FWD_NUMBER_TIME_EXTRA = "com.android.phone.ForwardingNumberTime";
-    // If the VM provider returns non null value in this extra we will force the user to
-    // choose another VM provider
-    public static final String SIGNOUT_EXTRA = "com.android.phone.Signout";
-
-    /**
-     * 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";
-
-    /**
-     * String Extra put into ACTION_ADD_VOICEMAIL to indicate that the voicemail setup screen should
-     * be opened.
-     */
-    public static final String SETUP_VOICEMAIL_EXTRA = "com.android.phone.SetupVoicemail";
-
-    // 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(!)
     // TODO: Consider moving these strings to strings.xml, so that they are not duplicated here and
@@ -150,180 +87,23 @@
     // persistent, they are used as the key to store shared preferences and the name should not be
     // changed unless the settings are also migrated.
     private static final String VOICEMAIL_SETTING_SCREEN_PREF_KEY = "button_voicemail_category_key";
-    private static final String BUTTON_VOICEMAIL_KEY = "button_voicemail_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";
     private static final String BUTTON_FDN_KEY   = "button_fdn_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_GSM_UMTS_OPTIONS = "button_gsm_more_expand_key";
     private static final String BUTTON_CDMA_OPTIONS = "button_cdma_more_expand_key";
-    private static final String CALL_FORWARDING_KEY = "call_forwarding_key";
-    private static final String ADDITIONAL_GSM_SETTINGS_KEY = "additional_gsm_call_settings_key";
 
     private static final String PHONE_ACCOUNT_SETTINGS_KEY =
             "phone_account_settings_preference_screen";
 
     private static final String ENABLE_VIDEO_CALLING_KEY = "button_enable_video_calling";
 
-    /** Event for Async voicemail change call */
-    private static final int EVENT_VOICEMAIL_CHANGED        = 500;
-    private static final int EVENT_FORWARDING_CHANGED       = 501;
-    private static final int EVENT_FORWARDING_GET_COMPLETED = 502;
-
-    public static final String HAC_KEY = "HACSetting";
-    public static final String HAC_VAL_ON = "ON";
-    public static final String HAC_VAL_OFF = "OFF";
-
-    /** Handle to voicemail pref */
-    private static final int VOICEMAIL_PREF_ID = 1;
-    private static final int VOICEMAIL_PROVIDER_CFG_ID = 2;
-
     private Phone mPhone;
-    private AudioManager mAudioManager;
-
     private SubscriptionInfoHelper mSubscriptionInfoHelper;
 
-    private EditPhoneNumberPreference mSubMenuVoicemailSettings;
-
-    /** Whether dialpad plays DTMF tone or not. */
     private CheckBoxPreference mButtonAutoRetry;
-    private CheckBoxPreference mButtonHAC;
-    private ListPreference mButtonDTMF;
-    private TtyModeListPreference mButtonTTY;
-    private VoicemailProviderListPreference mVoicemailProviders;
     private PreferenceScreen mVoicemailSettingsScreen;
-    private PreferenceScreen mVoicemailSettings;
-    private VoicemailRingtonePreference mVoicemailNotificationRingtone;
-    private CheckBoxPreference mVoicemailNotificationVibrate;
     private CheckBoxPreference mEnableVideoCalling;
 
-    /**
-     * Results of reading forwarding settings
-     */
-    private CallForwardInfo[] mForwardingReadResults = null;
-
-    /**
-     * Result of forwarding number change.
-     * Keys are reasons (eg. unconditional forwarding).
-     */
-    private Map<Integer, AsyncResult> mForwardingChangeResults = null;
-
-    /**
-     * Expected CF read result types.
-     * This set keeps track of the CF types for which we've issued change
-     * commands so we can tell when we've received all of the responses.
-     */
-    private Collection<Integer> mExpectedChangeResultReasons = null;
-
-    /**
-     * Result of vm number change
-     */
-    private AsyncResult mVoicemailChangeResult = null;
-
-    /**
-     * Previous VM provider setting so we can return to it in case of failure.
-     */
-    private String mPreviousVMProviderKey = null;
-
-    /**
-     * Id of the dialog being currently shown.
-     */
-    private int mCurrentDialogId = 0;
-
-    /**
-     * Flag indicating that we are invoking settings for the voicemail provider programmatically
-     * due to vm provider change.
-     */
-    private boolean mVMProviderSettingsForced = false;
-
-    /**
-     * Flag indicating that we are making changes to vm or fwd numbers
-     * due to vm provider change.
-     */
-    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.
-     */
-    private boolean mVMChangeCompletedSuccessfully = false;
-
-    /**
-     * True if we had full or partial failure setting forwarding numbers and so need to roll them
-     * back.
-     */
-    private boolean mFwdChangesRequireRollback = false;
-
-    /**
-     * Id of error msg to display to user once we are done reverting the VM provider to the previous
-     * one.
-     */
-    private int mVMOrFwdSetError = 0;
-
-    /** string to hold old voicemail number as it is being updated. */
-    private String mOldVmNumber;
-
-    // New call forwarding settings and vm number we will be setting
-    // Need to save these since before we get to saving we need to asynchronously
-    // query the existing forwarding settings.
-    private CallForwardInfo[] mNewFwdSettings;
-    private String mNewVMNumber;
-
-    private boolean mForeground;
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        mForeground = false;
-
-        if (ImsManager.isVolteEnabledByPlatform(this) &&
-                !mPhone.getContext().getResources().getBoolean(
-                        com.android.internal.R.bool.config_carrier_volte_tty_supported)) {
-            TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
-        }
-    }
-
-    /**
-     * We have to pull current settings from the network for all kinds of
-     * voicemail providers so we can tell whether we have to update them,
-     * so use this bit to keep track of whether we're reading settings for the
-     * default provider and should therefore save them out when done.
-     */
-    private boolean mReadingSettingsForDefaultProvider = false;
-
-    /**
-     * Used to indicate that the voicemail preference should be shown.
-     */
-    private boolean mShowVoicemailPreference = false;
-
-    /**
-     * Used to indicate that the voicemail setup screen should be shown.
-     */
-    private boolean mSetupVoicemail = false;
-
-    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
-        /**
-         * Enable/disable the TTY setting when in/out of a call (and if carrier doesn't
-         * support VoLTE with TTY).
-         * @see android.telephony.PhoneStateListener#onCallStateChanged(int,
-         * java.lang.String)
-         */
-        @Override
-        public void onCallStateChanged(int state, String incomingNumber) {
-            if (DBG) log("PhoneStateListener.onCallStateChanged: state=" + state);
-            Preference pref = getPreferenceScreen().findPreference(BUTTON_TTY_KEY);
-            if (pref != null) {
-                pref.setEnabled(state == TelephonyManager.CALL_STATE_IDLE);
-            }
-        }
-    };
-
     /*
      * Click Listeners, handle click based on objects attached to UI.
      */
@@ -331,61 +111,11 @@
     // Click listener for all toggle events
     @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-        if (preference == mSubMenuVoicemailSettings) {
-            return true;
-        } else if (preference == mButtonDTMF) {
-            return true;
-        } else if (preference == mButtonTTY) {
-            if(mPhone.isVideoCallPresent()) {
-                // TTY Mode change is not allowed during a VT call
-                showDialogIfForeground(VoicemailDialogUtil.TTY_SET_RESPONSE_ERROR);
-            }
-            return true;
-        } else if (preference == mButtonAutoRetry) {
+        if (preference == mButtonAutoRetry) {
             android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
                     android.provider.Settings.Global.CALL_AUTO_RETRY,
                     mButtonAutoRetry.isChecked() ? 1 : 0);
             return true;
-        } else if (preference == mButtonHAC) {
-            int hac = mButtonHAC.isChecked() ? 1 : 0;
-            // Update HAC value in Settings database
-            Settings.System.putInt(mPhone.getContext().getContentResolver(),
-                    Settings.System.HEARING_AID, hac);
-
-            // Update HAC Value in AudioManager
-            mAudioManager.setParameter(HAC_KEY, hac != 0 ? HAC_VAL_ON : HAC_VAL_OFF);
-            return true;
-        } else if (preference.getKey().equals(mVoicemailSettings.getKey())) {
-            // Check key instead of comparing reference because closing the voicemail notification
-            // ringtone dialog invokes onResume(), but leaves the old preference screen up,
-            // TODO: Revert to checking reference after migrating voicemail to its own activity.
-            if (DBG) log("onPreferenceTreeClick: Voicemail Settings Preference is clicked.");
-
-            final Dialog dialog = ((PreferenceScreen) preference).getDialog();
-            if (dialog != null) {
-                dialog.getActionBar().setDisplayHomeAsUpEnabled(false);
-            }
-
-            if (preference.getIntent() != null) {
-                if (DBG) log("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; use default behavior in xml.");
-
-                // onActivityResult() will not be called, so reset variables here.
-                mPreviousVMProviderKey = VoicemailProviderListPreference.DEFAULT_KEY;
-                mVMProviderSettingsForced = false;
-                return false;
-            }
-        } else if (preference == mVoicemailSettingsScreen) {
-            final Dialog dialog = mVoicemailSettingsScreen.getDialog();
-            if (dialog != null) {
-                dialog.getActionBar().setDisplayHomeAsUpEnabled(false);
-            }
-            return false;
         }
         return false;
     }
@@ -402,44 +132,7 @@
     public boolean onPreferenceChange(Preference preference, Object objValue) {
         if (DBG) log("onPreferenceChange: \"" + preference + "\" changed to \"" + objValue + "\"");
 
-        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 == mVoicemailProviders) {
-            final String newProviderKey = (String) objValue;
-
-            // 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 is made to the VM provider setting.");
-                return true;
-            }
-            updateVMPreferenceWidgets(newProviderKey);
-
-            final VoicemailProviderSettings newProviderSettings =
-                    VoicemailProviderSettingsUtil.load(this, newProviderKey);
-
-            // If the user switches to a voice mail provider and we have numbers stored for it we
-            // will automatically change the phone's voice mail and forwarding number to the stored
-            // ones. Otherwise we will bring up provider's configuration UI.
-            if (newProviderSettings == null) {
-                // Force the user into a configuration of the chosen provider
-                Log.w(LOG_TAG, "Saved preferences not found - invoking config");
-                mVMProviderSettingsForced = true;
-                simulatePreferenceClick(mVoicemailSettings);
-            } else {
-                if (DBG) log("Saved preferences found - switching to them");
-                // Set this flag so if we get a failure we revert to previous provider
-                mChangingVMorFwdDueToProviderChange = true;
-                saveVoiceMailAndForwardingNumber(newProviderKey, newProviderSettings);
-            }
-        } else if (preference.getKey().equals(mVoicemailNotificationVibrate.getKey())) {
-            // Check key instead of comparing reference because closing the voicemail notification
-            // ringtone dialog invokes onResume(), but leaves the old preference screen up,
-            // TODO: Revert to checking reference after migrating voicemail to its own activity.
-            VoicemailNotificationSettingsUtil.setVibrationEnabled(
-                    mPhone, Boolean.TRUE.equals(objValue));
-        } else if (preference == mEnableVideoCalling) {
+        if (preference == mEnableVideoCalling) {
             if (ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mPhone.getContext())) {
                 PhoneGlobals.getInstance().phoneMgr.enableVideoCalling((boolean) objValue);
             } else {
@@ -468,674 +161,6 @@
     }
 
     @Override
-    public void onDialogClosed(EditPhoneNumberPreference preference, int buttonClicked) {
-        if (DBG) log("onDialogClosed: Button clicked is " + buttonClicked);
-
-        if (buttonClicked == DialogInterface.BUTTON_NEGATIVE) {
-            return;
-        }
-
-        if (preference == mSubMenuVoicemailSettings) {
-            VoicemailProviderSettings newSettings = new VoicemailProviderSettings(
-                    mSubMenuVoicemailSettings.getPhoneNumber(),
-                    VoicemailProviderSettings.NO_FORWARDING);
-            saveVoiceMailAndForwardingNumber(mVoicemailProviders.getKey(), newSettings);
-        }
-    }
-
-    /**
-     * Implemented for EditPhoneNumberPreference.GetDefaultNumberListener.
-     * 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
-            // mSubMenuVoicemailSettings itself, so we should return null.
-            if (DBG) log("updating default for voicemail dialog");
-            updateVoiceNumberField();
-            return null;
-        }
-
-        String vmDisplay = mPhone.getVoiceMailNumber();
-        if (TextUtils.isEmpty(vmDisplay)) {
-            // if there is no voicemail number, we just return null to
-            // indicate no contribution.
-            return null;
-        }
-
-        // Return the voicemail number prepended with "VM: "
-        if (DBG) log("updating default for call forwarding dialogs");
-        return getString(R.string.voicemail_abbreviated) + " " + vmDisplay;
-    }
-
-    private void switchToPreviousVoicemailProvider() {
-        if (DBG) log("switchToPreviousVoicemailProvider " + mPreviousVMProviderKey);
-
-        if (mPreviousVMProviderKey == null) {
-            return;
-        }
-
-        if (mVMChangeCompletedSuccessfully || mFwdChangesRequireRollback) {
-            showDialogIfForeground(VoicemailDialogUtil.VM_REVERTING_DIALOG);
-            final VoicemailProviderSettings prevSettings =
-                    VoicemailProviderSettingsUtil.load(this, mPreviousVMProviderKey);
-            if (prevSettings == null) {
-                Log.e(LOG_TAG, "VoicemailProviderSettings for the key \""
-                        + mPreviousVMProviderKey + "\" is null but should be loaded.");
-            }
-
-            if (mVMChangeCompletedSuccessfully) {
-                mNewVMNumber = prevSettings.getVoicemailNumber();
-                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) {
-                Log.i(LOG_TAG, "Requested to rollback forwarding changes.");
-
-                final CallForwardInfo[] prevFwdSettings = prevSettings.getForwardingSettings();
-                if (prevFwdSettings != null) {
-                    Map<Integer, AsyncResult> results = mForwardingChangeResults;
-                    resetForwardingChangeState();
-                    for (int i = 0; i < prevFwdSettings.length; i++) {
-                        CallForwardInfo fi = prevFwdSettings[i];
-                        if (DBG) log("Reverting fwd #: " + i + ": " + fi.toString());
-                        // Only revert the settings for which the update succeeded.
-                        AsyncResult result = results.get(fi.reason);
-                        if (result != null && result.exception == null) {
-                            mExpectedChangeResultReasons.add(fi.reason);
-                            CallForwardInfoUtil.setCallForwardingOption(mPhone, fi,
-                                    mRevertOptionComplete.obtainMessage(
-                                            EVENT_FORWARDING_CHANGED, i, 0));
-                        }
-                    }
-                }
-            }
-        } else {
-            if (DBG) log("No need to revert");
-            onRevertDone();
-        }
-    }
-
-    private void onRevertDone() {
-        if (DBG) log("onRevertDone: Changing provider key back to " + mPreviousVMProviderKey);
-
-        updateVMPreferenceWidgets(mPreviousVMProviderKey);
-        updateVoiceNumberField();
-        if (mVMOrFwdSetError != 0) {
-            showDialogIfForeground(mVMOrFwdSetError);
-            mVMOrFwdSetError = 0;
-        }
-    }
-
-    @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) {
-            boolean failure = false;
-
-            // No matter how the processing of result goes lets clear the flag
-            if (DBG) log("mVMProviderSettingsForced: " + mVMProviderSettingsForced);
-            final boolean isVMProviderSettingsForced = mVMProviderSettingsForced;
-            mVMProviderSettingsForced = false;
-
-            String vmNum = null;
-            if (resultCode != RESULT_OK) {
-                if (DBG) log("onActivityResult: vm provider cfg result not OK.");
-                failure = true;
-            } else {
-                if (data == null) {
-                    if (DBG) log("onActivityResult: vm provider cfg result has no data");
-                    failure = true;
-                } else {
-                    if (data.getBooleanExtra(SIGNOUT_EXTRA, false)) {
-                        if (DBG) log("Provider requested signout");
-                        if (isVMProviderSettingsForced) {
-                            if (DBG) log("Going back to previous provider on signout");
-                            switchToPreviousVoicemailProvider();
-                        } else {
-                            final String victim = mVoicemailProviders.getKey();
-                            if (DBG) log("Relaunching activity and ignoring " + victim);
-                            Intent i = new Intent(ACTION_ADD_VOICEMAIL);
-                            i.putExtra(IGNORE_PROVIDER_EXTRA, victim);
-                            i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
-                            this.startActivity(i);
-                        }
-                        return;
-                    }
-                    vmNum = data.getStringExtra(VM_NUMBER_EXTRA);
-                    if (vmNum == null || vmNum.length() == 0) {
-                        if (DBG) log("onActivityResult: vm provider cfg result has no vmnum");
-                        failure = true;
-                    }
-                }
-            }
-            if (failure) {
-                if (DBG) log("Failure in return from voicemail provider.");
-                if (isVMProviderSettingsForced) {
-                    switchToPreviousVoicemailProvider();
-                }
-
-                return;
-            }
-            mChangingVMorFwdDueToProviderChange = isVMProviderSettingsForced;
-            final String fwdNum = data.getStringExtra(FWD_NUMBER_EXTRA);
-
-            // TODO: It would be nice to load the current network setting for this and
-            // send it to the provider when it's config is invoked so it can use this as default
-            final int fwdNumTime = data.getIntExtra(FWD_NUMBER_TIME_EXTRA, 20);
-
-            if (DBG) log("onActivityResult: cfg result has forwarding number " + fwdNum);
-            saveVoiceMailAndForwardingNumber(mVoicemailProviders.getKey(),
-                    new VoicemailProviderSettings(vmNum, fwdNum, fwdNumTime));
-            return;
-        }
-
-        if (requestCode == VOICEMAIL_PREF_ID) {
-            if (resultCode != RESULT_OK) {
-                if (DBG) log("onActivityResult: contact picker result not OK.");
-                return;
-            }
-
-            Cursor cursor = null;
-            try {
-                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;
-            } finally {
-                if (cursor != null) {
-                    cursor.close();
-                }
-            }
-        }
-
-        super.onActivityResult(requestCode, resultCode, data);
-    }
-
-    /**
-     * Wrapper around showDialog() that will silently do nothing if we're
-     * not in the foreground.
-     *
-     * This is useful here because most of the dialogs we display from
-     * this class are triggered by asynchronous events (like
-     * success/failure messages from the telephony layer) and it's
-     * possible for those events to come in even after the user has gone
-     * to a different screen.
-     */
-    // TODO: this is too brittle: it's still easy to accidentally add new
-    // code here that calls showDialog() directly (which will result in a
-    // WindowManager$BadTokenException if called after the activity has
-    // been stopped.)
-    //
-    // It would be cleaner to do the "if (mForeground)" check in one
-    // central place, maybe by using a single Handler for all asynchronous
-    // events (and have *that* discard events if we're not in the
-    // foreground.)
-    //
-    // Unfortunately it's not that simple, since we sometimes need to do
-    // actual work to handle these events whether or not we're in the
-    // foreground (see the Handler code in mSetOptionComplete for
-    // example.)
-    //
-    // TODO: It's a bit worrisome that we don't do anything in error cases when we're not in the
-    // foreground. Consider displaying a toast instead.
-    private void showDialogIfForeground(int id) {
-        if (mForeground) {
-            showDialog(id);
-        }
-    }
-
-    private void dismissDialogSafely(int id) {
-        try {
-            dismissDialog(id);
-        } catch (IllegalArgumentException e) {
-            // This is expected in the case where we were in the background
-            // at the time we would normally have shown the dialog, so we didn't
-            // show it.
-        }
-    }
-
-    /**
-     * TODO: Refactor to make it easier to understand what's done in the different stages.
-     */
-    private void saveVoiceMailAndForwardingNumber(
-            String key, VoicemailProviderSettings newSettings) {
-        if (DBG) log("saveVoiceMailAndForwardingNumber: " + newSettings.toString());
-        mNewVMNumber = newSettings.getVoicemailNumber();
-        mNewVMNumber = (mNewVMNumber == null) ? "" : mNewVMNumber;
-        mNewFwdSettings = newSettings.getForwardingSettings();
-
-        // No fwd settings on CDMA.
-        boolean isCdma = mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA;
-        if (isCdma) {
-            if (DBG) log("ignoring forwarding setting since this is CDMA phone");
-            mNewFwdSettings = VoicemailProviderSettings.NO_FORWARDING;
-        }
-
-        // Throw a warning if the voicemail is the same and we did not change forwarding.
-        if (mNewVMNumber.equals(mOldVmNumber)
-                && mNewFwdSettings == VoicemailProviderSettings.NO_FORWARDING) {
-            showDialogIfForeground(VoicemailDialogUtil.VM_NOCHANGE_ERROR_DIALOG);
-            return;
-        }
-
-        VoicemailProviderSettingsUtil.save(this, key, newSettings);
-        mVMChangeCompletedSuccessfully = false;
-        mFwdChangesRequireRollback = false;
-        mVMOrFwdSetError = 0;
-
-        // Don't read call forwarding settings if CDMA. Call forwarding is not supported by CDMA.
-        if (!key.equals(mPreviousVMProviderKey) && !isCdma) {
-            mReadingSettingsForDefaultProvider =
-                    mPreviousVMProviderKey.equals(VoicemailProviderListPreference.DEFAULT_KEY);
-            if (DBG) log("Reading current forwarding settings");
-            int numSettingsReasons = VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS.length;
-            mForwardingReadResults = new CallForwardInfo[numSettingsReasons];
-            for (int i = 0; i < mForwardingReadResults.length; i++) {
-                mPhone.getCallForwardingOption(
-                        VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS[i],
-                        mGetOptionComplete.obtainMessage(EVENT_FORWARDING_GET_COMPLETED, i, 0));
-            }
-            showDialogIfForeground(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
-        } else {
-            saveVoiceMailAndForwardingNumberStage2();
-        }
-
-        // Refresh the MWI indicator if it is already showing.
-        PhoneGlobals.getInstance().refreshMwiIndicator(mSubscriptionInfoHelper.getSubId());
-    }
-
-    private final Handler mGetOptionComplete = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            AsyncResult result = (AsyncResult) msg.obj;
-            switch (msg.what) {
-                case EVENT_FORWARDING_GET_COMPLETED:
-                    handleForwardingSettingsReadResult(result, msg.arg1);
-                    break;
-            }
-        }
-    };
-
-    private void handleForwardingSettingsReadResult(AsyncResult ar, int idx) {
-        if (DBG) Log.d(LOG_TAG, "handleForwardingSettingsReadResult: " + idx);
-
-        Throwable error = null;
-        if (ar.exception != null) {
-            error = ar.exception;
-            if (DBG) Log.d(LOG_TAG, "FwdRead: ar.exception=" + error.getMessage());
-        }
-        if (ar.userObj instanceof Throwable) {
-            error = (Throwable) ar.userObj;
-            if (DBG) Log.d(LOG_TAG, "FwdRead: userObj=" + error.getMessage());
-        }
-
-        // We may have already gotten an error and decided to ignore the other results.
-        if (mForwardingReadResults == null) {
-            if (DBG) Log.d(LOG_TAG, "Ignoring fwd reading result: " + idx);
-            return;
-        }
-
-        // In case of error ignore other results, show an error dialog
-        if (error != null) {
-            if (DBG) Log.d(LOG_TAG, "Error discovered for fwd read : " + idx);
-            mForwardingReadResults = null;
-            dismissDialogSafely(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
-            showDialogIfForeground(VoicemailDialogUtil.FWD_GET_RESPONSE_ERROR_DIALOG);
-            return;
-        }
-
-        // Get the forwarding info.
-        mForwardingReadResults[idx] = CallForwardInfoUtil.getCallForwardInfo(
-                (CallForwardInfo[]) ar.result,
-                VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS[idx]);
-
-        // Check if we got all the results already
-        boolean done = true;
-        for (int i = 0; i < mForwardingReadResults.length; i++) {
-            if (mForwardingReadResults[i] == null) {
-                done = false;
-                break;
-            }
-        }
-
-        if (done) {
-            if (DBG) Log.d(LOG_TAG, "Done receiving fwd info");
-            dismissDialogSafely(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
-
-            if (mReadingSettingsForDefaultProvider) {
-                VoicemailProviderSettingsUtil.save(mPhone.getContext(),
-                        VoicemailProviderListPreference.DEFAULT_KEY,
-                        new VoicemailProviderSettings(mOldVmNumber, mForwardingReadResults));
-                mReadingSettingsForDefaultProvider = false;
-            }
-            saveVoiceMailAndForwardingNumberStage2();
-        }
-    }
-
-    private void resetForwardingChangeState() {
-        mForwardingChangeResults = new HashMap<Integer, AsyncResult>();
-        mExpectedChangeResultReasons = new HashSet<Integer>();
-    }
-
-    // Called after we are done saving the previous forwarding settings if we needed.
-    private void saveVoiceMailAndForwardingNumberStage2() {
-        mForwardingChangeResults = null;
-        mVoicemailChangeResult = null;
-        if (mNewFwdSettings != VoicemailProviderSettings.NO_FORWARDING) {
-            resetForwardingChangeState();
-            for (int i = 0; i < mNewFwdSettings.length; i++) {
-                CallForwardInfo fi = mNewFwdSettings[i];
-                CallForwardInfo fiForReason =
-                        CallForwardInfoUtil.infoForReason(mForwardingReadResults, fi.reason);
-                final boolean doUpdate = CallForwardInfoUtil.isUpdateRequired(fiForReason, fi);
-
-                if (doUpdate) {
-                    if (DBG) log("Setting fwd #: " + i + ": " + fi.toString());
-                    mExpectedChangeResultReasons.add(i);
-
-                    CallForwardInfoUtil.setCallForwardingOption(mPhone, fi,
-                            mSetOptionComplete.obtainMessage(
-                                    EVENT_FORWARDING_CHANGED, fi.reason, 0));
-                }
-            }
-            showDialogIfForeground(VoicemailDialogUtil.VM_FWD_SAVING_DIALOG);
-        } else {
-            if (DBG) log("Not touching fwd #");
-            setVMNumberWithCarrier();
-        }
-    }
-
-    private void setVMNumberWithCarrier() {
-        if (DBG) log("save voicemail #: " + mNewVMNumber);
-
-        mPhone.setVoiceMailNumber(
-                mPhone.getVoiceMailAlphaTag().toString(),
-                mNewVMNumber,
-                Message.obtain(mSetOptionComplete, EVENT_VOICEMAIL_CHANGED));
-    }
-
-    /**
-     * Callback to handle option update completions
-     */
-    private final Handler mSetOptionComplete = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            AsyncResult result = (AsyncResult) msg.obj;
-            boolean done = false;
-            switch (msg.what) {
-                case EVENT_VOICEMAIL_CHANGED:
-                    mVoicemailChangeResult = result;
-                    mVMChangeCompletedSuccessfully = isVmChangeSuccess();
-                    done = true;
-                    break;
-                case EVENT_FORWARDING_CHANGED:
-                    mForwardingChangeResults.put(msg.arg1, result);
-                    if (result.exception != null) {
-                        Log.w(LOG_TAG, "Error in setting fwd# " + msg.arg1 + ": " +
-                                result.exception.getMessage());
-                    }
-                    if (isForwardingCompleted()) {
-                        if (isFwdChangeSuccess()) {
-                            if (DBG) log("Overall fwd changes completed ok, starting vm change");
-                            setVMNumberWithCarrier();
-                        } else {
-                            Log.w(LOG_TAG, "Overall fwd changes completed in failure. " +
-                                    "Check if we need to try rollback for some settings.");
-                            mFwdChangesRequireRollback = false;
-                            Iterator<Map.Entry<Integer,AsyncResult>> it =
-                                mForwardingChangeResults.entrySet().iterator();
-                            while (it.hasNext()) {
-                                Map.Entry<Integer,AsyncResult> entry = it.next();
-                                if (entry.getValue().exception == null) {
-                                    // If at least one succeeded we have to revert
-                                    Log.i(LOG_TAG, "Rollback will be required");
-                                    mFwdChangesRequireRollback = true;
-                                    break;
-                                }
-                            }
-                            if (!mFwdChangesRequireRollback) {
-                                Log.i(LOG_TAG, "No rollback needed.");
-                            }
-                            done = true;
-                        }
-                    }
-                    break;
-                default:
-                    // TODO: should never reach this, may want to throw exception
-            }
-
-            if (done) {
-                if (DBG) log("All VM provider related changes done");
-                if (mForwardingChangeResults != null) {
-                    dismissDialogSafely(VoicemailDialogUtil.VM_FWD_SAVING_DIALOG);
-                }
-                handleSetVmOrFwdMessage();
-            }
-        }
-    };
-
-    /**
-     * Callback to handle option revert completions
-     */
-    private final Handler mRevertOptionComplete = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            AsyncResult result = (AsyncResult) msg.obj;
-            switch (msg.what) {
-                case EVENT_VOICEMAIL_CHANGED:
-                    if (DBG) log("VM revert complete msg");
-                    mVoicemailChangeResult = result;
-                    break;
-
-                case EVENT_FORWARDING_CHANGED:
-                    if (DBG) log("FWD revert complete msg ");
-                    mForwardingChangeResults.put(msg.arg1, result);
-                    if (result.exception != null) {
-                        if (DBG) log("Error in reverting fwd# " + msg.arg1 + ": " +
-                                result.exception.getMessage());
-                    }
-                    break;
-
-                default:
-                    // TODO: should never reach this, may want to throw exception
-            }
-
-            final boolean done = (!mVMChangeCompletedSuccessfully || mVoicemailChangeResult != null)
-                    && (!mFwdChangesRequireRollback || isForwardingCompleted());
-            if (done) {
-                if (DBG) log("All VM reverts done");
-                dismissDialogSafely(VoicemailDialogUtil.VM_REVERTING_DIALOG);
-                onRevertDone();
-            }
-        }
-    };
-
-    /**
-     * Return true if there is a change result for every reason for which we expect a result.
-     */
-    private boolean isForwardingCompleted() {
-        if (mForwardingChangeResults == null) {
-            return true;
-        }
-
-        for (Integer reason : mExpectedChangeResultReasons) {
-            if (mForwardingChangeResults.get(reason) == null) {
-                return false;
-            }
-        }
-
-        return true;
-    }
-
-    private boolean isFwdChangeSuccess() {
-        if (mForwardingChangeResults == null) {
-            return true;
-        }
-
-        for (AsyncResult result : mForwardingChangeResults.values()) {
-            Throwable exception = result.exception;
-            if (exception != null) {
-                String msg = exception.getMessage();
-                msg = (msg != null) ? msg : "";
-                Log.w(LOG_TAG, "Failed to change forwarding setting. Reason: " + msg);
-                return false;
-            }
-        }
-        return true;
-    }
-
-    private boolean isVmChangeSuccess() {
-        if (mVoicemailChangeResult.exception != null) {
-            String msg = mVoicemailChangeResult.exception.getMessage();
-            msg = (msg != null) ? msg : "";
-            Log.w(LOG_TAG, "Failed to change voicemail. Reason: " + msg);
-            return false;
-        }
-        return true;
-    }
-
-    private void handleSetVmOrFwdMessage() {
-        if (DBG) log("handleSetVMMessage: set VM request complete");
-
-        if (!isFwdChangeSuccess()) {
-            handleVmOrFwdSetError(VoicemailDialogUtil.FWD_SET_RESPONSE_ERROR_DIALOG);
-        } else if (!isVmChangeSuccess()) {
-            handleVmOrFwdSetError(VoicemailDialogUtil.VM_RESPONSE_ERROR_DIALOG);
-        } else {
-            handleVmAndFwdSetSuccess(VoicemailDialogUtil.VM_CONFIRM_DIALOG);
-        }
-    }
-
-    /**
-     * Called when Voicemail Provider or its forwarding settings failed. Rolls back partly made
-     * changes to those settings and show "failure" dialog.
-     *
-     * @param dialogId ID of the dialog to show for the specific error case. Either
-     *     {@link #FWD_SET_RESPONSE_ERROR_DIALOG} or {@link #VM_RESPONSE_ERROR_DIALOG}
-     */
-    private void handleVmOrFwdSetError(int dialogId) {
-        if (mChangingVMorFwdDueToProviderChange) {
-            mVMOrFwdSetError = dialogId;
-            mChangingVMorFwdDueToProviderChange = false;
-            switchToPreviousVoicemailProvider();
-            return;
-        }
-        mChangingVMorFwdDueToProviderChange = false;
-        showDialogIfForeground(dialogId);
-        updateVoiceNumberField();
-    }
-
-    /**
-     * 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 dialogId) {
-        if (DBG) log("handleVmAndFwdSetSuccess: key is " + mVoicemailProviders.getKey());
-
-        mPreviousVMProviderKey = mVoicemailProviders.getKey();
-        mChangingVMorFwdDueToProviderChange = false;
-        showDialogIfForeground(dialogId);
-        updateVoiceNumberField();
-    }
-
-    /**
-     * Update the voicemail number from what we've recorded on the sim.
-     */
-    private void updateVoiceNumberField() {
-        if (DBG) log("updateVoiceNumberField()");
-
-        mOldVmNumber = mPhone.getVoiceMailNumber();
-        if (TextUtils.isEmpty(mOldVmNumber)) {
-            mSubMenuVoicemailSettings.setPhoneNumber("");
-            mSubMenuVoicemailSettings.setSummary(getString(R.string.voicemail_number_not_set));
-        } else {
-            mSubMenuVoicemailSettings.setPhoneNumber(mOldVmNumber);
-            mSubMenuVoicemailSettings.setSummary(mOldVmNumber);
-        }
-    }
-
-    /*
-     * Helper Methods for Activity class.
-     * The initial query commands are split into two pieces now
-     * for individual expansion.  This combined with the ability
-     * to cancel queries allows for a much better user experience,
-     * and also ensures that the user only waits to update the
-     * data that is relevant.
-     */
-
-    @Override
-    protected void onPrepareDialog(int id, Dialog dialog) {
-        super.onPrepareDialog(id, dialog);
-        mCurrentDialogId = id;
-    }
-
-    // dialog creation method, called by showDialog()
-    @Override
-    protected Dialog onCreateDialog(int dialogId) {
-        return VoicemailDialogUtil.getDialog(this, dialogId);
-    }
-
-    // This is a method implemented for DialogInterface.OnClickListener.
-    // Used with the error dialog to close the app, voicemail dialog to just dismiss.
-    // Close button is mapped to BUTTON_POSITIVE for the errors that close the activity,
-    // while those that are mapped to BUTTON_NEUTRAL only move the preference focus.
-    public void onClick(DialogInterface dialog, int which) {
-        if (DBG) log("onClick: button clicked is " + which);
-
-        dialog.dismiss();
-        switch (which){
-            case DialogInterface.BUTTON_NEGATIVE:
-                if (mCurrentDialogId == VoicemailDialogUtil.FWD_GET_RESPONSE_ERROR_DIALOG) {
-                    // We failed to get current forwarding settings and the user
-                    // does not wish to continue.
-                    switchToPreviousVoicemailProvider();
-                }
-                break;
-            case DialogInterface.BUTTON_POSITIVE:
-                if (mCurrentDialogId == VoicemailDialogUtil.FWD_GET_RESPONSE_ERROR_DIALOG) {
-                    // We failed to get current forwarding settings but the user
-                    // wishes to continue changing settings to the new vm provider
-                    saveVoiceMailAndForwardingNumberStage2();
-                } else {
-                    finish();
-                }
-                return;
-            default:
-                // just let the dialog close and go back to the input
-        }
-
-        // In all dialogs, all buttons except BUTTON_POSITIVE lead to the end of user interaction
-        // with settings UI. If we were called to explicitly configure voice mail then
-        // we finish the settings activity here to come back to whatever the user was doing.
-        if (getIntent().getAction().equals(ACTION_ADD_VOICEMAIL)) {
-            finish();
-        }
-    }
-
-    /*
-     * Activity class methods
-     */
-
-    @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         if (DBG) log("onCreate: Intent is " + getIntent());
@@ -1148,15 +173,6 @@
             return;
         }
 
-        mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-
-        // Show the voicemail preference in onResume if the calling intent specifies the
-        // ACTION_ADD_VOICEMAIL action.
-        mShowVoicemailPreference = (icicle == null) &&
-                TextUtils.equals(getIntent().getAction(), ACTION_ADD_VOICEMAIL);
-        mSetupVoicemail = mShowVoicemailPreference &&
-                getIntent().getBooleanExtra(SETUP_VOICEMAIL_EXTRA, false);
-
         mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
         mSubscriptionInfoHelper.setActionBarTitle(
                 getActionBar(), getResources(), R.string.call_settings_with_label);
@@ -1166,7 +182,6 @@
     @Override
     protected void onResume() {
         super.onResume();
-        mForeground = true;
 
         PreferenceScreen preferenceScreen = getPreferenceScreen();
         if (preferenceScreen != null) {
@@ -1186,49 +201,15 @@
         }
 
         PreferenceScreen prefSet = getPreferenceScreen();
-        mSubMenuVoicemailSettings = (EditPhoneNumberPreference) findPreference(BUTTON_VOICEMAIL_KEY);
-        mSubMenuVoicemailSettings.setParentActivity(this, VOICEMAIL_PREF_ID, this);
-        mSubMenuVoicemailSettings.setDialogOnClosedListener(this);
-        mSubMenuVoicemailSettings.setDialogTitle(R.string.voicemail_settings_number_label);
-
-        mButtonDTMF = (ListPreference) findPreference(BUTTON_DTMF_KEY);
-        mButtonAutoRetry = (CheckBoxPreference) findPreference(BUTTON_RETRY_KEY);
-        mButtonHAC = (CheckBoxPreference) findPreference(BUTTON_HAC_KEY);
-        mButtonTTY = (TtyModeListPreference) findPreference(
-                getResources().getString(R.string.tty_mode_key));
-
-        mVoicemailProviders = (VoicemailProviderListPreference) findPreference(
-                BUTTON_VOICEMAIL_PROVIDER_KEY);
-        mVoicemailProviders.init(mPhone, getIntent());
-        mVoicemailProviders.setOnPreferenceChangeListener(this);
-        mPreviousVMProviderKey = mVoicemailProviders.getValue();
-
         mVoicemailSettingsScreen =
                 (PreferenceScreen) findPreference(VOICEMAIL_SETTING_SCREEN_PREF_KEY);
-        mVoicemailSettings = (PreferenceScreen) findPreference(BUTTON_VOICEMAIL_SETTING_KEY);
+        mVoicemailSettingsScreen.setIntent(mSubscriptionInfoHelper.getIntent(
+                VoicemailSettingsActivity.class));
 
-        mVoicemailNotificationRingtone = (VoicemailRingtonePreference) findPreference(
-                getResources().getString(R.string.voicemail_notification_ringtone_key));
-        mVoicemailNotificationRingtone.init(mPhone);
-
-        mVoicemailNotificationVibrate = (CheckBoxPreference) findPreference(
-                getResources().getString(R.string.voicemail_notification_vibrate_key));
-        mVoicemailNotificationVibrate.setOnPreferenceChangeListener(this);
-
-        updateVMPreferenceWidgets(mVoicemailProviders.getValue());
+        mButtonAutoRetry = (CheckBoxPreference) findPreference(BUTTON_RETRY_KEY);
 
         mEnableVideoCalling = (CheckBoxPreference) findPreference(ENABLE_VIDEO_CALLING_KEY);
 
-        if (getResources().getBoolean(R.bool.dtmf_type_enabled)) {
-            mButtonDTMF.setOnPreferenceChangeListener(this);
-            int dtmf = Settings.System.getInt(getContentResolver(),
-                    Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, Constants.DTMF_TONE_TYPE_NORMAL);
-            mButtonDTMF.setValueIndex(dtmf);
-        } else {
-            prefSet.removePreference(mButtonDTMF);
-            mButtonDTMF = null;
-        }
-
         if (getResources().getBoolean(R.bool.auto_retry_enabled)) {
             mButtonAutoRetry.setOnPreferenceChangeListener(this);
             int autoretry = Settings.Global.getInt(
@@ -1239,28 +220,13 @@
             mButtonAutoRetry = null;
         }
 
-        if (getResources().getBoolean(R.bool.hac_enabled)) {
-            mButtonHAC.setOnPreferenceChangeListener(this);
-            int hac = Settings.System.getInt(getContentResolver(), Settings.System.HEARING_AID, 0);
-            mButtonHAC.setChecked(hac != 0);
+        Preference cdmaOptions = prefSet.findPreference(BUTTON_CDMA_OPTIONS);
+        Preference gsmOptions = prefSet.findPreference(BUTTON_GSM_UMTS_OPTIONS);
+        if (getResources().getBoolean(R.bool.world_phone)) {
+            cdmaOptions.setIntent(mSubscriptionInfoHelper.getIntent(CdmaCallOptions.class));
+            gsmOptions.setIntent(mSubscriptionInfoHelper.getIntent(GsmUmtsCallOptions.class));
         } else {
-            prefSet.removePreference(mButtonHAC);
-            mButtonHAC = null;
-        }
-
-        if (!telephonyManager.isMultiSimEnabled() && telecomManager.isTtySupported()) {
-            mButtonTTY.init();
-        } else {
-            prefSet.removePreference(mButtonTTY);
-            mButtonTTY = null;
-        }
-
-        if (!getResources().getBoolean(R.bool.world_phone)) {
-            Preference cdmaOptions = prefSet.findPreference(BUTTON_CDMA_OPTIONS);
             prefSet.removePreference(cdmaOptions);
-
-            // TODO: Support MSIM for this preference option.
-            Preference gsmOptions = prefSet.findPreference(BUTTON_GSM_UMTS_OPTIONS);
             prefSet.removePreference(gsmOptions);
 
             int phoneType = mPhone.getPhoneType();
@@ -1269,9 +235,6 @@
                     getContentResolver(), Settings.Global.HIDE_CARRIER_NETWORK_SETTINGS, 0) == 1;
             if (shouldHideCarrierSettings) {
                 prefSet.removePreference(fdnButton);
-                if (mButtonDTMF != null) {
-                    prefSet.removePreference(mButtonDTMF);
-                }
             } else {
                 if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
                     prefSet.removePreference(fdnButton);
@@ -1284,15 +247,7 @@
 
                     if (getResources().getBoolean(R.bool.config_additional_call_setting)) {
                         addPreferencesFromResource(R.xml.gsm_umts_call_options);
-
-                        Preference callForwardingPref = prefSet.findPreference(CALL_FORWARDING_KEY);
-                        callForwardingPref.setIntent(mSubscriptionInfoHelper.getIntent(
-                                GsmUmtsCallForwardOptions.class));
-
-                        Preference additionalGsmSettingsPref =
-                                prefSet.findPreference(ADDITIONAL_GSM_SETTINGS_KEY);
-                        additionalGsmSettingsPref.setIntent(mSubscriptionInfoHelper.getIntent(
-                                GsmUmtsAdditionalCallOptions.class));
+                        GsmUmtsCallOptions.init(prefSet, mSubscriptionInfoHelper);
                     }
                 } else {
                     throw new IllegalStateException("Unexpected phone type: " + phoneType);
@@ -1300,36 +255,11 @@
             }
         }
 
-        // check the intent that started this activity and pop up the voicemail
-        // dialog if we've been asked to.
-        // If we have at least one non default VM provider registered then bring up
-        // the selection for the VM provider, otherwise bring up a VM number dialog.
-        // We only bring up the dialog the first time we are called (not after orientation change)
-        if (mShowVoicemailPreference) {
-            if (DBG) log("ACTION_ADD_VOICEMAIL Intent is thrown");
-            if (mSetupVoicemail) {
-                simulatePreferenceClick(mVoicemailSettingsScreen);
-                mSetupVoicemail = false;
-            } else if (mVoicemailProviders.hasMoreThanOneVoicemailProvider()) {
-                if (DBG) log("Voicemail data has more than one provider.");
-                simulatePreferenceClick(mVoicemailProviders);
-            } else {
-                onPreferenceChange(mVoicemailProviders, VoicemailProviderListPreference.DEFAULT_KEY);
-                mVoicemailProviders.setValue(VoicemailProviderListPreference.DEFAULT_KEY);
-            }
-            mShowVoicemailPreference = false;
-        }
-
-        updateVoiceNumberField();
-        mVMProviderSettingsForced = false;
-
-        mVoicemailNotificationVibrate.setChecked(
-                VoicemailNotificationSettingsUtil.isVibrationEnabled(mPhone));
-
         if (ImsManager.isVtEnabledByPlatform(mPhone.getContext()) && ENABLE_VT_FLAG) {
             boolean currentValue =
                     ImsManager.isEnhanced4gLteModeSettingEnabledByUser(mPhone.getContext())
-                    ? PhoneGlobals.getInstance().phoneMgr.isVideoCallingEnabled() : false;
+                    ? PhoneGlobals.getInstance().phoneMgr.isVideoCallingEnabled(
+                            getOpPackageName()) : false;
             mEnableVideoCalling.setChecked(currentValue);
             mEnableVideoCalling.setOnPreferenceChangeListener(this);
         } else {
@@ -1340,7 +270,7 @@
                 !mPhone.getContext().getResources().getBoolean(
                         com.android.internal.R.bool.config_carrier_volte_tty_supported)) {
             TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
-            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
+            /* tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE); */
         }
 
         Preference wifiCallingSettings = findPreference(
@@ -1383,58 +313,6 @@
         Log.d(LOG_TAG, msg);
     }
 
-    /**
-     * Updates the look of the VM preference widgets based on current VM provider settings.
-     * Note that the provider name is loaded fxrorm the found activity via loadLabel in
-     * {@link VoicemailProviderListPreference#initVoiceMailProviders()} in order for it to be
-     * localizable.
-     */
-    private void updateVMPreferenceWidgets(String currentProviderSetting) {
-        final String key = currentProviderSetting;
-        final VoicemailProvider provider = mVoicemailProviders.getVoicemailProvider(key);
-
-        /* This is the case when we are coming up on a freshly wiped phone and there is no
-         persisted value for the list preference mVoicemailProviders.
-         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: key: " + key + " -> null.");
-
-            mVoicemailProviders.setSummary(getString(R.string.sum_voicemail_choose_provider));
-            mVoicemailSettings.setEnabled(false);
-            mVoicemailSettings.setIntent(null);
-            mVoicemailNotificationVibrate.setEnabled(false);
-        } else {
-            if (DBG) log("updateVMPreferenceWidget: key: " + key + " -> " + provider.toString());
-
-            final String providerName = provider.name;
-            mVoicemailProviders.setSummary(providerName);
-            mVoicemailSettings.setEnabled(true);
-            mVoicemailSettings.setIntent(provider.intent);
-            mVoicemailNotificationVibrate.setEnabled(true);
-        }
-    }
-
-
-    /**
-     * Simulates user clicking on a passed preference.
-     * Usually needed when the preference is a dialog preference and we want to invoke
-     * a dialog for this preference programmatically.
-     * TODO: figure out if there is a cleaner way to cause preference dlg to come up
-     */
-    private void simulatePreferenceClick(Preference preference) {
-        // Go through settings until we find our setting
-        // and then simulate a click on it to bring up the dialog
-        final ListAdapter adapter = getPreferenceScreen().getRootAdapter();
-        for (int idx = 0; idx < adapter.getCount(); idx++) {
-            if (adapter.getItem(idx) == preference) {
-                getPreferenceScreen().onItemClick(this.getListView(),
-                        null, idx, adapter.getItemId(idx));
-                break;
-            }
-        }
-    }
-
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
         final int itemId = item.getItemId();
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 185aea0..c6a1921 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -270,7 +270,8 @@
         String gid2 = "";
         String spn = TelephonyManager.from(mContext).getSimOperatorNameForPhone(phoneId);
         String simOperator = TelephonyManager.from(mContext).getSimOperatorNumericForPhone(phoneId);
-        if (simOperator != null) {
+        // A valid simOperator should be 5 or 6 digits, depending on the length of the MNC.
+        if (simOperator != null && simOperator.length() >= 3) {
             mcc = simOperator.substring(0, 3);
             mnc = simOperator.substring(3);
         }
diff --git a/src/com/android/phone/CdmaCallOptions.java b/src/com/android/phone/CdmaCallOptions.java
index 8eecd27..8f7b1b1 100644
--- a/src/com/android/phone/CdmaCallOptions.java
+++ b/src/com/android/phone/CdmaCallOptions.java
@@ -29,6 +29,7 @@
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
 import android.util.Log;
+import android.view.MenuItem;
 
 public class CdmaCallOptions extends PreferenceActivity {
     private static final String LOG_TAG = "CdmaCallOptions";
@@ -43,8 +44,12 @@
 
         addPreferencesFromResource(R.xml.cdma_call_privacy);
 
+        SubscriptionInfoHelper subInfoHelper = new SubscriptionInfoHelper(this, getIntent());
+        subInfoHelper.setActionBarTitle(
+                getActionBar(), getResources(), R.string.labelCdmaMore_with_label);
+
         mButtonVoicePrivacy = (CheckBoxPreference) findPreference(BUTTON_VP_KEY);
-        if (PhoneGlobals.getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_CDMA
+        if (subInfoHelper.getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_CDMA
                 || getResources().getBoolean(R.bool.config_voice_privacy_disable)) {
             //disable the entire screen
             getPreferenceScreen().setEnabled(false);
@@ -52,6 +57,16 @@
     }
 
     @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        final int itemId = item.getItemId();
+        if (itemId == android.R.id.home) {
+            onBackPressed();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    @Override
     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
         if (preference.getKey().equals(BUTTON_VP_KEY)) {
             return true;
diff --git a/src/com/android/phone/Constants.java b/src/com/android/phone/Constants.java
index 79a1e9a..64414e9 100644
--- a/src/com/android/phone/Constants.java
+++ b/src/com/android/phone/Constants.java
@@ -130,7 +130,4 @@
     // OutgoingCallBroadcaster, OtaUtils, etc.)
     //
 
-    // Dtmf tone type setting value for CDMA phone
-    public static final int DTMF_TONE_TYPE_NORMAL = 0;
-    public static final int DTMF_TONE_TYPE_LONG   = 1;
 }
diff --git a/src/com/android/phone/EditPhoneNumberPreference.java b/src/com/android/phone/EditPhoneNumberPreference.java
index 86671a8..8a672f1 100644
--- a/src/com/android/phone/EditPhoneNumberPreference.java
+++ b/src/com/android/phone/EditPhoneNumberPreference.java
@@ -94,7 +94,7 @@
      * DialogPreference.onDialogClosed(), except we also pass in a buttonClicked
      * value indicating which of the three possible buttons were pressed.
      */
-    interface OnDialogClosedListener {
+    public interface OnDialogClosedListener {
         void onDialogClosed(EditPhoneNumberPreference preference, int buttonClicked);
     }
 
@@ -102,7 +102,7 @@
      * Interface for the default number setting listener.  Handles requests for
      * the default display number for the dialog.
      */
-    interface GetDefaultNumberListener {
+    public interface GetDefaultNumberListener {
         /**
          * Notify that we are looking for a default display value.
          * @return null if there is no contribution from this interface,
diff --git a/src/com/android/phone/EmergencyActionGroup.java b/src/com/android/phone/EmergencyActionGroup.java
new file mode 100644
index 0000000..b8d17c9
--- /dev/null
+++ b/src/com/android/phone/EmergencyActionGroup.java
@@ -0,0 +1,351 @@
+/*
+ * Copyright (C) 2015 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.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.annotation.Nullable;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.provider.Settings;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewAnimationUtils;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityManager;
+import android.view.animation.AnimationUtils;
+import android.view.animation.Interpolator;
+import android.widget.Button;
+import android.widget.FrameLayout;
+import android.widget.TextView;
+
+import java.util.List;
+
+public class EmergencyActionGroup extends FrameLayout implements View.OnClickListener {
+
+    private static final long HIDE_DELAY = 3000;
+    private static final int RIPPLE_DURATION = 600;
+    private static final long RIPPLE_PAUSE = 1000;
+
+    private final Interpolator mFastOutLinearInInterpolator;
+
+    private ViewGroup mSelectedContainer;
+    private TextView mSelectedLabel;
+    private View mRippleView;
+    private View mLaunchHint;
+
+    private View mLastRevealed;
+
+    private MotionEvent mPendingTouchEvent;
+
+    private boolean mHiding;
+
+    public EmergencyActionGroup(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        mFastOutLinearInInterpolator = AnimationUtils.loadInterpolator(context,
+                android.R.interpolator.fast_out_linear_in);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+
+        setupAssistActions();
+
+        mSelectedContainer = (ViewGroup) findViewById(R.id.selected_container);
+        mSelectedContainer.setOnClickListener(this);
+        mSelectedLabel = (TextView) findViewById(R.id.selected_label);
+        mRippleView = findViewById(R.id.ripple_view);
+        mLaunchHint = findViewById(R.id.launch_hint);
+    }
+
+    /**
+     * Called by the activity before a touch event is dispatched to the view hierarchy.
+     */
+    public void onPreTouchEvent(MotionEvent event) {
+        mPendingTouchEvent = event;
+    }
+
+    @Override
+    public boolean dispatchTouchEvent(MotionEvent event) {
+        boolean handled = super.dispatchTouchEvent(event);
+        if (mPendingTouchEvent == event && handled) {
+            mPendingTouchEvent = null;
+        }
+        return handled;
+    }
+
+    /**
+     * Called by the activity after a touch event is dispatched to the view hierarchy.
+     */
+    public void onPostTouchEvent(MotionEvent event) {
+        // Hide the confirmation button if a touch event was delivered to the activity but not to
+        // this view.
+        if (mPendingTouchEvent != null) {
+            hideTheButton();
+        }
+        mPendingTouchEvent = null;
+    }
+
+
+
+    private void setupAssistActions() {
+        int[] buttonIds = new int[] {R.id.action1, R.id.action2, R.id.action3};
+
+        List<ResolveInfo> infos = resolveAssistPackageAndQueryActivites();
+
+        for (int i = 0; i < 3; i++) {
+            Button button = (Button) findViewById(buttonIds[i]);
+            boolean visible = false;
+
+            button.setOnClickListener(this);
+
+            if (infos != null && infos.size() > i && infos.get(i) != null) {
+                ResolveInfo info = infos.get(i);
+                ComponentName name = getComponentName(info);
+
+                button.setTag(R.id.tag_intent,
+                        new Intent(TelephonyManager.ACTION_EMERGENCY_ASSISTANCE)
+                                .setComponent(name));
+                button.setText(info.loadLabel(getContext().getPackageManager()));
+                visible = true;
+            }
+
+            button.setVisibility(visible ? View.VISIBLE : View.GONE);
+        }
+    }
+
+    private List<ResolveInfo> resolveAssistPackageAndQueryActivites() {
+        List<ResolveInfo> infos = queryAssistActivities();
+
+        if (infos == null || infos.isEmpty()) {
+            PackageManager packageManager = getContext().getPackageManager();
+            Intent queryIntent = new Intent(TelephonyManager.ACTION_EMERGENCY_ASSISTANCE);
+            infos = packageManager.queryIntentActivities(queryIntent, 0);
+
+            PackageInfo bestMatch = null;
+            for (int i = 0; i < infos.size(); i++) {
+                if (infos.get(i).activityInfo == null) continue;
+                String packageName = infos.get(i).activityInfo.packageName;
+                PackageInfo packageInfo;
+                try {
+                    packageInfo = packageManager.getPackageInfo(packageName, 0);
+                } catch (PackageManager.NameNotFoundException e) {
+                    continue;
+                }
+                // Get earliest installed app, but prioritize system apps.
+                if (bestMatch == null
+                        || !isSystemApp(bestMatch) && isSystemApp(packageInfo)
+                        || isSystemApp(bestMatch) == isSystemApp(packageInfo)
+                                && bestMatch.firstInstallTime > packageInfo.firstInstallTime) {
+                    bestMatch = packageInfo;
+                }
+            }
+
+            if (bestMatch != null) {
+                Settings.Secure.putString(getContext().getContentResolver(),
+                        Settings.Secure.EMERGENCY_ASSISTANCE_APPLICATION,
+                        bestMatch.packageName);
+                return queryAssistActivities();
+            } else {
+                return null;
+            }
+        } else {
+            return infos;
+        }
+    }
+
+    private List<ResolveInfo> queryAssistActivities() {
+        String assistPackage = Settings.Secure.getString(
+                getContext().getContentResolver(),
+                Settings.Secure.EMERGENCY_ASSISTANCE_APPLICATION);
+        List<ResolveInfo> infos = null;
+
+        if (!TextUtils.isEmpty(assistPackage)) {
+            Intent queryIntent = new Intent(TelephonyManager.ACTION_EMERGENCY_ASSISTANCE)
+                    .setPackage(assistPackage);
+            infos = getContext().getPackageManager().queryIntentActivities(queryIntent, 0);
+        }
+        return infos;
+    }
+
+    private boolean isSystemApp(PackageInfo info) {
+        return info.applicationInfo != null
+                && (info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
+    }
+
+    private ComponentName getComponentName(ResolveInfo resolveInfo) {
+        if (resolveInfo == null || resolveInfo.activityInfo == null) return null;
+        return new ComponentName(resolveInfo.activityInfo.packageName,
+                resolveInfo.activityInfo.name);
+    }
+
+    @Override
+    public void onClick(View v) {
+        Intent intent = (Intent) v.getTag(R.id.tag_intent);
+
+        switch (v.getId()) {
+            case R.id.action1:
+            case R.id.action2:
+            case R.id.action3:
+                if (AccessibilityManager.getInstance(mContext).isTouchExplorationEnabled()) {
+                    getContext().startActivity(intent);
+                } else {
+                    revealTheButton(v);
+                }
+                break;
+            case R.id.selected_container:
+                if (!mHiding) {
+                    getContext().startActivity(intent);
+                }
+                break;
+        }
+    }
+
+    private void revealTheButton(View v) {
+        mSelectedContainer.setVisibility(VISIBLE);
+        int centerX = v.getLeft() + v.getWidth() / 2;
+        int centerY = v.getTop() + v.getHeight() / 2;
+        Animator reveal = ViewAnimationUtils.createCircularReveal(
+                mSelectedContainer,
+                centerX,
+                centerY,
+                0,
+                Math.max(centerX, mSelectedContainer.getWidth() - centerX)
+                        + Math.max(centerY, mSelectedContainer.getHeight() - centerY));
+        reveal.start();
+
+        animateHintText(mSelectedLabel, v, reveal);
+        animateHintText(mLaunchHint, v, reveal);
+
+        mSelectedLabel.setText(((Button) v).getText());
+        mSelectedContainer.setTag(R.id.tag_intent, v.getTag(R.id.tag_intent));
+        mLastRevealed = v;
+        postDelayed(mHideRunnable, HIDE_DELAY);
+        postDelayed(mRippleRunnable, RIPPLE_PAUSE / 2);
+
+        // Transfer focus from the originally clicked button to the expanded button.
+        mSelectedContainer.requestFocus();
+    }
+
+    private void animateHintText(View selectedView, View v, Animator reveal) {
+        selectedView.setTranslationX(
+                (v.getLeft() + v.getWidth() / 2 - mSelectedContainer.getWidth() / 2) / 5);
+        selectedView.animate()
+                .setDuration(reveal.getDuration() / 3)
+                .setStartDelay(reveal.getDuration() / 5)
+                .translationX(0)
+                .setInterpolator(mFastOutLinearInInterpolator)
+                .start();
+    }
+
+    private void hideTheButton() {
+        if (mHiding || mSelectedContainer.getVisibility() != VISIBLE) {
+            return;
+        }
+
+        mHiding = true;
+
+        removeCallbacks(mHideRunnable);
+
+        View v = mLastRevealed;
+        int centerX = v.getLeft() + v.getWidth() / 2;
+        int centerY = v.getTop() + v.getHeight() / 2;
+        Animator reveal = ViewAnimationUtils.createCircularReveal(
+                mSelectedContainer,
+                centerX,
+                centerY,
+                Math.max(centerX, mSelectedContainer.getWidth() - centerX)
+                        + Math.max(centerY, mSelectedContainer.getHeight() - centerY),
+                0);
+        reveal.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                mSelectedContainer.setVisibility(INVISIBLE);
+                removeCallbacks(mRippleRunnable);
+                mHiding = false;
+            }
+        });
+        reveal.start();
+
+        // Transfer focus back to the originally clicked button.
+        if (mSelectedContainer.isFocused()) {
+            v.requestFocus();
+        }
+    }
+
+    private void startRipple() {
+        final View ripple = mRippleView;
+        ripple.animate().cancel();
+        ripple.setVisibility(VISIBLE);
+        Animator reveal = ViewAnimationUtils.createCircularReveal(
+                ripple,
+                ripple.getLeft() + ripple.getWidth() / 2,
+                ripple.getTop() + ripple.getHeight() / 2,
+                0,
+                ripple.getWidth() / 2);
+        reveal.setDuration(RIPPLE_DURATION);
+        reveal.start();
+
+        ripple.setAlpha(0);
+        ripple.animate().alpha(1).setDuration(RIPPLE_DURATION / 2)
+                .withEndAction(new Runnable() {
+            @Override
+            public void run() {
+                ripple.animate().alpha(0).setDuration(RIPPLE_DURATION / 2)
+                        .withEndAction(new Runnable() {
+                            @Override
+                            public void run() {
+                                ripple.setVisibility(INVISIBLE);
+                                postDelayed(mRippleRunnable, RIPPLE_PAUSE);
+                            }
+                        }).start();
+            }
+        }).start();
+    }
+
+    private final Runnable mHideRunnable = new Runnable() {
+        @Override
+        public void run() {
+            if (!isAttachedToWindow()) return;
+            hideTheButton();
+        }
+    };
+
+    private final Runnable mRippleRunnable = new Runnable() {
+        @Override
+        public void run() {
+            if (!isAttachedToWindow()) return;
+            startRipple();
+        }
+    };
+
+
+}
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index 6995d89..c7dd1e9 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -40,6 +40,7 @@
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.MenuItem;
+import android.view.MotionEvent;
 import android.view.View;
 import android.view.WindowManager;
 import android.view.accessibility.AccessibilityManager;
@@ -115,12 +116,14 @@
     // Haptic feedback (vibration) for dialer key presses.
     private HapticFeedback mHaptic = new HapticFeedback();
 
+    private EmergencyActionGroup mEmergencyActionGroup;
+
     // 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();
+                finishAndRemoveTask();
             }
         }
     };
@@ -239,6 +242,8 @@
         } catch (Resources.NotFoundException nfe) {
              Log.e(LOG_TAG, "Vibrate control bool missing.", nfe);
         }
+
+        mEmergencyActionGroup = (EmergencyActionGroup) findViewById(R.id.emergency_action_group);
     }
 
     @Override
@@ -340,6 +345,14 @@
     }
 
     @Override
+    public boolean dispatchTouchEvent(MotionEvent ev) {
+        mEmergencyActionGroup.onPreTouchEvent(ev);
+        boolean handled = super.dispatchTouchEvent(ev);
+        mEmergencyActionGroup.onPostTouchEvent(ev);
+        return handled;
+    }
+
+    @Override
     public void onClick(View view) {
         switch (view.getId()) {
             case R.id.deleteButton: {
diff --git a/src/com/android/phone/ErrorDialogActivity.java b/src/com/android/phone/ErrorDialogActivity.java
index 4635f86..bf09376 100644
--- a/src/com/android/phone/ErrorDialogActivity.java
+++ b/src/com/android/phone/ErrorDialogActivity.java
@@ -23,6 +23,8 @@
 import android.os.Bundle;
 import android.util.Log;
 
+import com.android.phone.settings.VoicemailSettingsActivity;
+
 /**
  * Used to display an error dialog from within the Telephony service when an outgoing call fails
  */
@@ -105,8 +107,8 @@
         }
 
         // navigate to the Voicemail setting in the Call Settings activity.
-        Intent intent = new Intent(CallFeaturesSetting.ACTION_ADD_VOICEMAIL);
-        intent.setClass(this, CallFeaturesSetting.class);
+        Intent intent = new Intent(VoicemailSettingsActivity.ACTION_ADD_VOICEMAIL);
+        intent.setClass(this, VoicemailSettingsActivity.class);
         startActivity(intent);
         finish();
     }
diff --git a/src/com/android/phone/GsmUmtsCallOptions.java b/src/com/android/phone/GsmUmtsCallOptions.java
index a9a1940..419e72c 100644
--- a/src/com/android/phone/GsmUmtsCallOptions.java
+++ b/src/com/android/phone/GsmUmtsCallOptions.java
@@ -21,6 +21,7 @@
 import android.preference.Preference;
 import android.preference.PreferenceActivity;
 import android.preference.PreferenceScreen;
+import android.view.MenuItem;
 
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneConstants;
@@ -29,15 +30,43 @@
     private static final String LOG_TAG = "GsmUmtsCallOptions";
     private final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
 
+    private static final String CALL_FORWARDING_KEY = "call_forwarding_key";
+    private static final String ADDITIONAL_GSM_SETTINGS_KEY = "additional_gsm_call_settings_key";
+
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.gsm_umts_call_options);
 
-        if (PhoneGlobals.getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_GSM) {
+        SubscriptionInfoHelper subInfoHelper = new SubscriptionInfoHelper(this, getIntent());
+        subInfoHelper.setActionBarTitle(
+                getActionBar(), getResources(), R.string.labelGsmMore_with_label);
+        init(getPreferenceScreen(), subInfoHelper);
+
+        if (subInfoHelper.getPhone().getPhoneType() != PhoneConstants.PHONE_TYPE_GSM) {
             //disable the entire screen
             getPreferenceScreen().setEnabled(false);
         }
     }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        final int itemId = item.getItemId();
+        if (itemId == android.R.id.home) {
+            onBackPressed();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    public static void init(PreferenceScreen prefScreen, SubscriptionInfoHelper subInfoHelper) {
+        Preference callForwardingPref = prefScreen.findPreference(CALL_FORWARDING_KEY);
+        callForwardingPref.setIntent(subInfoHelper.getIntent(GsmUmtsCallForwardOptions.class));
+
+        Preference additionalGsmSettingsPref =
+                prefScreen.findPreference(ADDITIONAL_GSM_SETTINGS_KEY);
+        additionalGsmSettingsPref.setIntent(
+                subInfoHelper.getIntent(GsmUmtsAdditionalCallOptions.class));
+    }
 }
diff --git a/src/com/android/phone/MMIDialogActivity.java b/src/com/android/phone/MMIDialogActivity.java
index 24179b8..10ec6a3 100644
--- a/src/com/android/phone/MMIDialogActivity.java
+++ b/src/com/android/phone/MMIDialogActivity.java
@@ -69,6 +69,20 @@
         showMMIDialog();
     }
 
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+
+        if (mMMIDialog != null) {
+            mMMIDialog.dismiss();
+            mMMIDialog = null;
+        }
+        if (mHandler != null) {
+            mCM.unregisterForMmiComplete(mHandler);
+            mHandler = null;
+        }
+    }
+
     private void showMMIDialog() {
         final List<? extends MmiCode> codes = mPhone.getPendingMmiCodes();
         if (codes.size() > 0) {
@@ -127,9 +141,11 @@
     private void dismissDialogsAndFinish() {
         if (mMMIDialog != null) {
             mMMIDialog.dismiss();
+            mMMIDialog = null;
         }
         if (mHandler != null) {
             mCM.unregisterForMmiComplete(mHandler);
+            mHandler = null;
         }
         finish();
     }
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index bccddeb..571f32f 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -387,7 +387,8 @@
     };
 
     private void updatePhone(int slotId) {
-        final SubscriptionInfo sir = findRecordBySlotId(slotId);
+        final SubscriptionInfo sir = mSubscriptionManager
+                .getActiveSubscriptionInfoForSimSlotIndex(slotId);
         if (sir != null) {
             mPhone = PhoneFactory.getPhone(
                     SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
@@ -485,14 +486,9 @@
         // and the UI state would be inconsistent with actual state
         mButtonDataRoam.setChecked(mPhone.getDataRoamingEnabled());
 
-        if (getPreferenceScreen().findPreference(BUTTON_PREFERED_NETWORK_MODE) != null)  {
-            mPhone.getPreferredNetworkType(mHandler.obtainMessage(
-                    MyHandler.MESSAGE_GET_PREFERRED_NETWORK_TYPE));
-        }
-
-        if (getPreferenceScreen().findPreference(BUTTON_ENABLED_NETWORKS_KEY) != null)  {
-            mPhone.getPreferredNetworkType(mHandler.obtainMessage(
-                    MyHandler.MESSAGE_GET_PREFERRED_NETWORK_TYPE));
+        if (getPreferenceScreen().findPreference(BUTTON_PREFERED_NETWORK_MODE) != null
+                || getPreferenceScreen().findPreference(BUTTON_ENABLED_NETWORKS_KEY) != null)  {
+            updatePreferredNetworkUIFromDb();
         }
 
         if (ImsManager.isVolteEnabledByPlatform(this)
@@ -858,7 +854,7 @@
                 mOkClicked = false;
                 new AlertDialog.Builder(this).setMessage(
                         getResources().getString(R.string.roaming_warning))
-                        .setTitle(android.R.string.dialog_alert_title)
+                        .setTitle(R.string.roaming_alert_title)
                         .setIconAttribute(android.R.attr.alertDialogIcon)
                         .setPositiveButton(android.R.string.yes, this)
                         .setNegativeButton(android.R.string.no, this)
@@ -877,121 +873,63 @@
 
     private class MyHandler extends Handler {
 
-        static final int MESSAGE_GET_PREFERRED_NETWORK_TYPE = 0;
-        static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 1;
+        static final int MESSAGE_SET_PREFERRED_NETWORK_TYPE = 0;
 
         @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) {
-            final int phoneSubId = mPhone.getSubId();
-            AsyncResult ar = (AsyncResult) msg.obj;
-
-            if (ar.exception == null) {
-                int modemNetworkMode = ((int[])ar.result)[0];
-
-                if (DBG) {
-                    log ("handleGetPreferredNetworkTypeResponse: modemNetworkMode = " +
-                            modemNetworkMode);
-                }
-
-                int settingsNetworkMode = android.provider.Settings.Global.getInt(
-                        mPhone.getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                        preferredNetworkMode);
-
-                if (DBG) {
-                    log("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_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_AND_EVDO ||
-                        modemNetworkMode == Phone.NT_MODE_LTE_GSM_WCDMA ||
-                        modemNetworkMode == Phone.NT_MODE_LTE_CDMA_EVDO_GSM_WCDMA ||
-                        modemNetworkMode == Phone.NT_MODE_LTE_ONLY ||
-                        modemNetworkMode == Phone.NT_MODE_LTE_WCDMA) {
-                    if (DBG) {
-                        log("handleGetPreferredNetworkTypeResponse: if 1: modemNetworkMode = " +
-                                modemNetworkMode);
-                    }
-
-                    //check changes in modemNetworkMode
-                    if (modemNetworkMode != settingsNetworkMode) {
-                        if (DBG) {
-                            log("handleGetPreferredNetworkTypeResponse: if 2: " +
-                                    "modemNetworkMode != settingsNetworkMode");
-                        }
-
-                        settingsNetworkMode = modemNetworkMode;
-
-                        if (DBG) { log("handleGetPreferredNetworkTypeResponse: if 2: " +
-                                "settingsNetworkMode = " + settingsNetworkMode);
-                        }
-                    }
-
-                    UpdatePreferredNetworkModeSummary(modemNetworkMode);
-                    UpdateEnabledNetworksValueAndSummary(modemNetworkMode);
-                    // changes the mButtonPreferredNetworkMode accordingly to modemNetworkMode
-                    mButtonPreferredNetworkMode.setValue(Integer.toString(modemNetworkMode));
-                } else {
-                    if (DBG) log("handleGetPreferredNetworkTypeResponse: else: reset to default");
-                    resetNetworkModeToDefault();
-                }
-            }
-        }
-
         private void handleSetPreferredNetworkTypeResponse(Message msg) {
             AsyncResult ar = (AsyncResult) msg.obj;
             final int phoneSubId = mPhone.getSubId();
 
             if (ar.exception == null) {
-                int networkMode = Integer.valueOf(
-                        mButtonPreferredNetworkMode.getValue()).intValue();
-                android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                        networkMode );
-                networkMode = Integer.valueOf(
-                        mButtonEnabledNetworks.getValue()).intValue();
-                android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                        networkMode );
+                int networkMode;
+                if (getPreferenceScreen().findPreference(BUTTON_PREFERED_NETWORK_MODE) != null)  {
+                    networkMode =  Integer.valueOf(
+                            mButtonPreferredNetworkMode.getValue()).intValue();
+                    android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
+                            android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
+                            networkMode );
+                }
+                if (getPreferenceScreen().findPreference(BUTTON_ENABLED_NETWORKS_KEY) != null)  {
+                    networkMode = Integer.valueOf(
+                            mButtonEnabledNetworks.getValue()).intValue();
+                    android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
+                            android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
+                            networkMode );
+                }
             } else {
-                mPhone.getPreferredNetworkType(obtainMessage(MESSAGE_GET_PREFERRED_NETWORK_TYPE));
+                if (DBG) {
+                    log("handleSetPreferredNetworkTypeResponse: exception in setting network mode.");
+                }
+                updatePreferredNetworkUIFromDb();
             }
         }
+    }
 
-        private void resetNetworkModeToDefault() {
-            final int phoneSubId = mPhone.getSubId();
-            //set the mButtonPreferredNetworkMode
-            mButtonPreferredNetworkMode.setValue(Integer.toString(preferredNetworkMode));
-            mButtonEnabledNetworks.setValue(Integer.toString(preferredNetworkMode));
-            //set the Settings.System
-            android.provider.Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                        android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
-                        preferredNetworkMode );
-            //Set the Modem
-            mPhone.setPreferredNetworkType(preferredNetworkMode,
-                    this.obtainMessage(MyHandler.MESSAGE_SET_PREFERRED_NETWORK_TYPE));
+    private void updatePreferredNetworkUIFromDb() {
+        final int phoneSubId = mPhone.getSubId();
+
+        int settingsNetworkMode = android.provider.Settings.Global.getInt(
+                mPhone.getContext().getContentResolver(),
+                android.provider.Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId,
+                preferredNetworkMode);
+
+        if (DBG) {
+            log("updatePreferredNetworkUIFromDb: settingsNetworkMode = " +
+                    settingsNetworkMode);
         }
+
+        UpdatePreferredNetworkModeSummary(settingsNetworkMode);
+        UpdateEnabledNetworksValueAndSummary(settingsNetworkMode);
+        // changes the mButtonPreferredNetworkMode accordingly to settingsNetworkMode
+        mButtonPreferredNetworkMode.setValue(Integer.toString(settingsNetworkMode));
     }
 
     private void UpdatePreferredNetworkModeSummary(int NetworkMode) {
@@ -1274,23 +1212,4 @@
         }
     }
 
-    /**
-     * finds a record with slotId.
-     * Since the number of SIMs are few, an array is fine.
-     */
-    public SubscriptionInfo findRecordBySlotId(final int slotId) {
-        if (mActiveSubInfos != null) {
-            final int subInfoLength = mActiveSubInfos.size();
-
-            for (int i = 0; i < subInfoLength; ++i) {
-                final SubscriptionInfo sir = mActiveSubInfos.get(i);
-                if (sir.getSimSlotIndex() == slotId) {
-                    //Right now we take the first subscription on a SIM.
-                    return sir;
-                }
-            }
-        }
-
-        return null;
-    }
 }
diff --git a/src/com/android/phone/NotificationMgr.java b/src/com/android/phone/NotificationMgr.java
index c38be71..1460d63 100644
--- a/src/com/android/phone/NotificationMgr.java
+++ b/src/com/android/phone/NotificationMgr.java
@@ -25,6 +25,7 @@
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.UserInfo;
+import android.content.res.Resources;
 import android.net.Uri;
 import android.os.SystemProperties;
 import android.os.UserHandle;
@@ -48,6 +49,7 @@
 import com.android.internal.telephony.Phone;
 import com.android.internal.telephony.PhoneBase;
 import com.android.internal.telephony.TelephonyCapabilities;
+import com.android.phone.settings.VoicemailSettingsActivity;
 import com.android.phone.settings.VoicemailNotificationSettingsUtil;
 import com.android.phone.settings.VoicemailProviderSettingsUtil;
 
@@ -357,10 +359,9 @@
                 // to the voicemail settings.
                 notificationText = mContext.getString(
                         R.string.notification_voicemail_no_vm_number);
-                intent = new Intent(CallFeaturesSetting.ACTION_ADD_VOICEMAIL);
-                intent.putExtra(CallFeaturesSetting.SETUP_VOICEMAIL_EXTRA, true);
+                intent = new Intent(VoicemailSettingsActivity.ACTION_ADD_VOICEMAIL);
                 intent.putExtra(SubscriptionInfoHelper.SUB_ID_EXTRA, subId);
-                intent.setClass(mContext, CallFeaturesSetting.class);
+                intent.setClass(mContext, VoicemailSettingsActivity.class);
             } else {
                 if (mTelephonyManager.getPhoneCount() > 1) {
                     notificationText = subInfo.getDisplayName().toString();
@@ -383,6 +384,7 @@
                 ringtoneUri = VoicemailNotificationSettingsUtil.getRingtoneUri(mPhone);
             }
 
+            Resources res = mContext.getResources();
             Notification.Builder builder = new Notification.Builder(mContext);
             builder.setSmallIcon(resId)
                     .setWhen(System.currentTimeMillis())
@@ -391,8 +393,8 @@
                     .setContentText(notificationText)
                     .setContentIntent(pendingIntent)
                     .setSound(ringtoneUri)
-                    .setColor(mContext.getResources().getColor(R.color.dialer_theme_color))
-                    .setOngoing(true);
+                    .setColor(res.getColor(R.color.dialer_theme_color))
+                    .setOngoing(res.getBoolean(R.bool.voicemail_notification_persistent));
 
             if (VoicemailNotificationSettingsUtil.isVibrationEnabled(phone)) {
                 builder.setDefaults(Notification.DEFAULT_VIBRATE);
diff --git a/src/com/android/phone/PhoneGlobals.java b/src/com/android/phone/PhoneGlobals.java
index c3a8d0c..48b2bf9 100644
--- a/src/com/android/phone/PhoneGlobals.java
+++ b/src/com/android/phone/PhoneGlobals.java
@@ -64,7 +64,9 @@
 import com.android.internal.telephony.TelephonyCapabilities;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.phone.common.CallLogAsync;
+import com.android.phone.settings.SettingsConstants;
 import com.android.server.sip.SipService;
+import com.android.services.telephony.activation.SimActivationManager;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -143,7 +145,8 @@
     CallNotifier notifier;
     CallerInfoCache callerInfoCache;
     NotificationMgr notificationMgr;
-    PhoneInterfaceManager phoneMgr;
+    public PhoneInterfaceManager phoneMgr;
+    public SimActivationManager simActivationManager;
     CarrierConfigLoader configLoader;
 
     private BluetoothManager bluetoothManager;
@@ -443,6 +446,8 @@
         cdmaOtaScreenState = new OtaUtils.CdmaOtaScreenState();
         cdmaOtaInCallScreenUiState = new OtaUtils.CdmaOtaInCallScreenUiState();
 
+        simActivationManager = new SimActivationManager();
+
         // XXX pre-load the SimProvider so that it's ready
         resolver.getType(Uri.parse("content://icc/adn"));
 
@@ -459,9 +464,9 @@
                     android.provider.Settings.System.HEARING_AID,
                     0);
             AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-            audioManager.setParameter(CallFeaturesSetting.HAC_KEY, hac != 0 ?
-                                      CallFeaturesSetting.HAC_VAL_ON :
-                                      CallFeaturesSetting.HAC_VAL_OFF);
+            audioManager.setParameter(SettingsConstants.HAC_KEY,
+                    hac == SettingsConstants.HAC_ENABLED
+                            ? SettingsConstants.HAC_VAL_ON : SettingsConstants.HAC_VAL_OFF);
         }
     }
 
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 9369b6a..3045903 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -36,6 +36,7 @@
 import android.preference.PreferenceManager;
 import android.provider.Settings;
 import android.telecom.PhoneAccount;
+import android.telecom.TelecomManager;
 import android.telephony.CellInfo;
 import android.telephony.IccOpenLogicalChannelResponse;
 import android.telephony.NeighboringCellInfo;
@@ -61,6 +62,7 @@
 import com.android.internal.telephony.PhoneFactory;
 import com.android.internal.telephony.ProxyController;
 import com.android.internal.telephony.PhoneConstants;
+import com.android.internal.telephony.RILConstants;
 import com.android.internal.telephony.SubscriptionController;
 import com.android.internal.telephony.uicc.IccIoResult;
 import com.android.internal.telephony.uicc.IccUtils;
@@ -121,6 +123,8 @@
     private static final int EVENT_EXCHANGE_SIM_IO_DONE = 32;
     private static final int CMD_SET_VOICEMAIL_NUMBER = 33;
     private static final int EVENT_SET_VOICEMAIL_NUMBER_DONE = 34;
+    private static final int CMD_SET_NETWORK_SELECTION_MODE_AUTOMATIC = 35;
+    private static final int EVENT_SET_NETWORK_SELECTION_MODE_AUTOMATIC_DONE = 36;
 
     /** The singleton instance. */
     private static PhoneInterfaceManager sInstance;
@@ -554,7 +558,7 @@
                 case CMD_GET_PREFERRED_NETWORK_TYPE:
                     request = (MainThreadRequest) msg.obj;
                     onCompleted = obtainMessage(EVENT_GET_PREFERRED_NETWORK_TYPE_DONE, request);
-                    mPhone.getPreferredNetworkType(onCompleted);
+                    getPhoneFromRequest(request).getPreferredNetworkType(onCompleted);
                     break;
 
                 case EVENT_GET_PREFERRED_NETWORK_TYPE_DONE:
@@ -582,7 +586,7 @@
                     request = (MainThreadRequest) msg.obj;
                     onCompleted = obtainMessage(EVENT_SET_PREFERRED_NETWORK_TYPE_DONE, request);
                     int networkType = (Integer) request.argument;
-                    mPhone.setPreferredNetworkType(networkType, onCompleted);
+                    getPhoneFromRequest(request).setPreferredNetworkType(networkType, onCompleted);
                     break;
 
                 case EVENT_SET_PREFERRED_NETWORK_TYPE_DONE:
@@ -616,6 +620,17 @@
                     handleNullReturnEvent(msg, "setVoicemailNumber");
                     break;
 
+                case CMD_SET_NETWORK_SELECTION_MODE_AUTOMATIC:
+                    request = (MainThreadRequest) msg.obj;
+                    onCompleted = obtainMessage(EVENT_SET_NETWORK_SELECTION_MODE_AUTOMATIC_DONE,
+                            request);
+                    getPhoneFromRequest(request).setNetworkSelectionModeAutomatic(onCompleted);
+                    break;
+
+                case EVENT_SET_NETWORK_SELECTION_MODE_AUTOMATIC_DONE:
+                    handleNullReturnEvent(msg, "setNetworkSelectionModeAutomatic");
+                    break;
+
                 default:
                     Log.w(LOG_TAG, "MainThreadHandler: unexpected message code: " + msg.what);
                     break;
@@ -791,7 +806,16 @@
         }
 
         boolean isValid = false;
-        List<SubscriptionInfo> slist = mSubscriptionController.getActiveSubscriptionInfoList();
+        List<SubscriptionInfo> slist;
+
+        final long identity = Binder.clearCallingIdentity();
+        try {
+            slist = mSubscriptionController.getActiveSubscriptionInfoList(
+                    mPhone.getContext().getOpPackageName());
+        } finally {
+             Binder.restoreCallingIdentity(identity);
+        }
+
         if (slist != null) {
             for (SubscriptionInfo subInfoRecord : slist) {
                 if (subInfoRecord.getSubscriptionId() == subId) {
@@ -909,8 +933,11 @@
         return (getPhone(subId).getState() == PhoneConstants.State.IDLE);
     }
 
-    public boolean isSimPinEnabled() {
-        enforceReadPermission();
+    public boolean isSimPinEnabled(String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "isSimPinEnabled")) {
+            return false;
+        }
+
         return (PhoneGlobals.getInstance().isSimPinEnabled());
     }
 
@@ -1186,16 +1213,13 @@
     }
 
     @Override
-    public Bundle getCellLocation() {
-        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);
+    public Bundle getCellLocation(String callingPackage) {
+        enforceFineOrCoarseLocationPermission("getCellLocation");
+
+        // OP_COARSE_LOCATION controls both fine and coarse location.
+        if (mAppOps.noteOp(AppOpsManager.OP_COARSE_LOCATION, Binder.getCallingUid(),
+                callingPackage) != AppOpsManager.MODE_ALLOWED) {
+            return null;
         }
 
         if (checkIfCallerIsSelfOrForegroundUser()) {
@@ -1210,6 +1234,20 @@
         }
     }
 
+    private void enforceFineOrCoarseLocationPermission(String message) {
+        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, message);
+        }
+    }
+
+
     @Override
     public void enableLocationUpdates() {
         enableLocationUpdatesForSubscriber(getDefaultSubscription());
@@ -1235,22 +1273,19 @@
     @Override
     @SuppressWarnings("unchecked")
     public List<NeighboringCellInfo> getNeighboringCellInfo(String callingPackage) {
-        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);
+        enforceFineOrCoarseLocationPermission("getNeighboringCellInfo");
+
+        // OP_COARSE_LOCATION controls both fine and coarse location.
+        if (mAppOps.noteOp(AppOpsManager.OP_COARSE_LOCATION, Binder.getCallingUid(),
+                callingPackage) != AppOpsManager.MODE_ALLOWED) {
+            return null;
         }
 
         if (mAppOps.noteOp(AppOpsManager.OP_NEIGHBORING_CELLS, Binder.getCallingUid(),
                 callingPackage) != AppOpsManager.MODE_ALLOWED) {
             return null;
         }
+
         if (checkIfCallerIsSelfOrForegroundUser()) {
             if (DBG_LOC) log("getNeighboringCellInfo: is active user");
 
@@ -1271,16 +1306,13 @@
 
 
     @Override
-    public List<CellInfo> 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);
+    public List<CellInfo> getAllCellInfo(String callingPackage) {
+        enforceFineOrCoarseLocationPermission("getAllCellInfo");
+
+        // OP_COARSE_LOCATION controls both fine and coarse location.
+        if (mAppOps.noteOp(AppOpsManager.OP_COARSE_LOCATION, Binder.getCallingUid(),
+                callingPackage) != AppOpsManager.MODE_ALLOWED) {
+            return null;
         }
 
         if (checkIfCallerIsSelfOrForegroundUser()) {
@@ -1338,15 +1370,6 @@
     }
 
     /**
-     * Make sure the caller has the READ_PHONE_STATE permission.
-     *
-     * @throws SecurityException if the caller does not have the required permission
-     */
-    private void enforceReadPermission() {
-        mApp.enforceCallingOrSelfPermission(android.Manifest.permission.READ_PHONE_STATE, null);
-    }
-
-    /**
      * Make sure the caller has the MODIFY_PHONE_STATE permission.
      *
      * @throws SecurityException if the caller does not have the required permission
@@ -1405,6 +1428,12 @@
                 null);
     }
 
+    private void enforceConnectivityInternalPermission() {
+        mApp.enforceCallingOrSelfPermission(
+                android.Manifest.permission.CONNECTIVITY_INTERNAL,
+                "ConnectivityService");
+    }
+
     private String createTelUrl(String number) {
         if (TextUtils.isEmpty(number)) {
             return null;
@@ -1848,8 +1877,12 @@
         return 0;
     }
 
-    public String[] getPcscfAddress(String apnType) {
-        enforceReadPermission();
+    public String[] getPcscfAddress(String apnType, String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "getPcscfAddress")) {
+            return new String[0];
+        }
+
+
         return mPhone.getPcscfAddress(apnType);
     }
 
@@ -1859,14 +1892,28 @@
     }
 
     /**
+     * Set the network selection mode to automatic.
+     *
+     */
+    @Override
+    public void setNetworkSelectionModeAutomatic(int subId) {
+        enforceModifyPermissionOrCarrierPrivilege();
+        if (DBG) log("setNetworkSelectionModeAutomatic: subId " + subId);
+        sendRequest(CMD_SET_NETWORK_SELECTION_MODE_AUTOMATIC, null, subId);
+    }
+
+    /**
      * Get the calculated preferred network type.
      * Used for debugging incorrect network type.
      *
      * @return the preferred network type, defined in RILConstants.java.
      */
     @Override
-    public int getCalculatedPreferredNetworkType() {
-        enforceReadPermission();
+    public int getCalculatedPreferredNetworkType(String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "getCalculatedPreferredNetworkType")) {
+            return RILConstants.PREFERRED_NETWORK_MODE;
+        }
+
         return PhoneFactory.calculatePreferredNetworkType(mPhone.getContext(), 0); // wink FIXME: need to get SubId from somewhere.
     }
 
@@ -1877,10 +1924,10 @@
      * @return the preferred network type, defined in RILConstants.java.
      */
     @Override
-    public int getPreferredNetworkType() {
+    public int getPreferredNetworkType(int subId) {
         enforceModifyPermissionOrCarrierPrivilege();
         if (DBG) log("getPreferredNetworkType");
-        int[] result = (int[]) sendRequest(CMD_GET_PREFERRED_NETWORK_TYPE, null);
+        int[] result = (int[]) sendRequest(CMD_GET_PREFERRED_NETWORK_TYPE, null, subId);
         int networkType = (result != null ? result[0] : -1);
         if (DBG) log("getPreferredNetworkType: " + networkType);
         return networkType;
@@ -1894,15 +1941,14 @@
      * @return true on success; false on any failure.
      */
     @Override
-    public boolean setPreferredNetworkType(int networkType) {
+    public boolean setPreferredNetworkType(int subId, int networkType) {
         enforceModifyPermissionOrCarrierPrivilege();
-        final int phoneSubId = mPhone.getSubId();
-        if (DBG) log("setPreferredNetworkType: type " + networkType);
-        Boolean success = (Boolean) sendRequest(CMD_SET_PREFERRED_NETWORK_TYPE, networkType);
+        if (DBG) log("setPreferredNetworkType: subId " + subId + " type " + networkType);
+        Boolean success = (Boolean) sendRequest(CMD_SET_PREFERRED_NETWORK_TYPE, networkType, subId);
         if (DBG) log("setPreferredNetworkType: " + (success ? "ok" : "fail"));
         if (success) {
             Settings.Global.putInt(mPhone.getContext().getContentResolver(),
-                    Settings.Global.PREFERRED_NETWORK_MODE + phoneSubId, networkType);
+                    Settings.Global.PREFERRED_NETWORK_MODE + subId, networkType);
         }
         return success;
     }
@@ -2001,14 +2047,18 @@
     }
 
     @Override
-    public List<String> getCarrierPackageNamesForIntent(Intent intent) {
-        UiccCard card = UiccController.getInstance().getUiccCard(mPhone.getPhoneId());
+    public List<String> getCarrierPackageNamesForIntentAndPhone(Intent intent, int phoneId) {
+        if (!SubscriptionManager.isValidPhoneId(phoneId)) {
+            loge("phoneId " + phoneId + " is not valid.");
+            return null;
+        }
+        UiccCard card = UiccController.getInstance().getUiccCard(phoneId);
         if (card == null) {
             loge("getCarrierPackageNamesForIntent: No UICC");
             return null ;
         }
         return card.getCarrierPackageNamesForIntent(
-            mPhone.getContext().getPackageManager(), intent);
+                mPhone.getContext().getPackageManager(), intent);
     }
 
     private String getIccId(int subId) {
@@ -2068,8 +2118,10 @@
     }
 
     @Override
-    public String getLine1NumberForDisplay(int subId) {
-        enforceReadPermission();
+    public String getLine1NumberForDisplay(int subId, String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "getLine1NumberForDisplay")) {
+            return null;
+        }
 
         String iccId = getIccId(subId);
         if (iccId != null) {
@@ -2080,8 +2132,10 @@
     }
 
     @Override
-    public String getLine1AlphaTagForDisplay(int subId) {
-        enforceReadPermission();
+    public String getLine1AlphaTagForDisplay(int subId, String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "getLine1AlphaTagForDisplay")) {
+            return null;
+        }
 
         String iccId = getIccId(subId);
         if (iccId != null) {
@@ -2224,8 +2278,11 @@
     }
 
     @Override
-    public boolean isVideoCallingEnabled() {
-        enforceReadPermission();
+    public boolean isVideoCallingEnabled(String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "isVideoCallingEnabled")) {
+            return false;
+        }
+
         // Check the user preference and the  system-level IMS setting. Even if the user has
         // enabled video calling, if IMS is disabled we aren't able to support video calling.
         // In the long run, we may instead need to check if there exists a connection service
@@ -2235,6 +2292,29 @@
                 && mTelephonySharedPreferences.getBoolean(PREF_ENABLE_VIDEO_CALLING, true);
     }
 
+    @Override
+    public boolean canChangeDtmfToneLength() {
+        return mPhone.getContext().getResources().getBoolean(R.bool.dtmf_type_enabled);
+    }
+
+    @Override
+    public boolean isWorldPhone() {
+        return mPhone.getContext().getResources().getBoolean(R.bool.world_phone);
+    }
+
+    @Override
+    public boolean isTtyModeSupported() {
+        TelecomManager telecomManager = TelecomManager.from(mPhone.getContext());
+        TelephonyManager telephonyManager =
+                (TelephonyManager) mPhone.getContext().getSystemService(Context.TELEPHONY_SERVICE);
+        return !telephonyManager.isMultiSimEnabled() && telecomManager.isTtySupported();
+    }
+
+    @Override
+    public boolean isHearingAidCompatibilitySupported() {
+        return mPhone.getContext().getResources().getBoolean(R.bool.hac_enabled);
+    }
+
     /**
      * Returns the unique device ID of phone, for example, the IMEI for
      * GSM and the MEID for CDMA phones. Return null if device ID is not available.
@@ -2243,8 +2323,11 @@
      *   {@link android.Manifest.permission#READ_PHONE_STATE READ_PHONE_STATE}
      */
     @Override
-    public String getDeviceId() {
-        enforceReadPermission();
+    public String getDeviceId(String callingPackage) {
+        if (!canReadPhoneState(callingPackage, "getDeviceId")) {
+            return null;
+        }
+
         final Phone phone = PhoneFactory.getPhone(0);
         if (phone != null) {
             return phone.getDeviceId();
@@ -2282,4 +2365,31 @@
     public boolean isVolteEnabled() {
         return mPhone.isVolteEnabled();
     }
+
+    private boolean canReadPhoneState(String callingPackage, String message) {
+        mApp.enforceCallingOrSelfPermission(
+                android.Manifest.permission.READ_PHONE_STATE, message);
+
+        if (mAppOps.noteOp(AppOpsManager.OP_READ_PHONE_STATE, Binder.getCallingUid(),
+                callingPackage) != AppOpsManager.MODE_ALLOWED) {
+            return false;
+        }
+
+        return true;
+    }
+
+    @Override
+    public void factoryReset(int subId) {
+        enforceConnectivityInternalPermission();
+        if (SubscriptionManager.isUsableSubIdValue(subId)) {
+            // Enable data
+            setDataEnabled(subId, true);
+            // Set network selection mode to automatic
+            setNetworkSelectionModeAutomatic(subId);
+            // Set preferred mobile network type to the best available
+            setPreferredNetworkType(subId, Phone.PREFERRED_NT_MODE);
+            // Turn off roaming
+            SubscriptionManager.from(mApp).setDataRoaming(0, subId);
+        }
+    }
 }
diff --git a/src/com/android/phone/PhoneUtils.java b/src/com/android/phone/PhoneUtils.java
index f7c5939..b9135c8 100644
--- a/src/com/android/phone/PhoneUtils.java
+++ b/src/com/android/phone/PhoneUtils.java
@@ -36,6 +36,7 @@
 import android.telecom.PhoneAccountHandle;
 import android.telecom.VideoProfile;
 import android.telephony.PhoneNumberUtils;
+import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.text.TextUtils;
 import android.util.Log;
@@ -981,7 +982,7 @@
                             .create();
 
                     sUssdDialog.getWindow().setType(
-                            WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);
+                            WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
                     sUssdDialog.getWindow().addFlags(
                             WindowManager.LayoutParams.FLAG_DIM_BEHIND);
                 }
@@ -2449,6 +2450,10 @@
                 == Configuration.ORIENTATION_LANDSCAPE;
     }
 
+    public static PhoneAccountHandle makePstnPhoneAccountHandle(String id) {
+        return makePstnPhoneAccountHandleWithPrefix(id, "", false);
+    }
+
     public static PhoneAccountHandle makePstnPhoneAccountHandle(int phoneId) {
         return makePstnPhoneAccountHandle(PhoneFactory.getPhone(phoneId));
     }
@@ -2459,10 +2464,15 @@
 
     public static PhoneAccountHandle makePstnPhoneAccountHandleWithPrefix(
             Phone phone, String prefix, boolean isEmergency) {
-        ComponentName pstnConnectionServiceName = getPstnConnectionServiceName();
         // TODO: Should use some sort of special hidden flag to decorate this account as
         // an emergency-only account
         String id = isEmergency ? "E" : prefix + String.valueOf(phone.getIccSerialNumber());
+        return makePstnPhoneAccountHandleWithPrefix(id, prefix, isEmergency);
+    }
+
+    public static PhoneAccountHandle makePstnPhoneAccountHandleWithPrefix(
+            String id, String prefix, boolean isEmergency) {
+        ComponentName pstnConnectionServiceName = getPstnConnectionServiceName();
         return new PhoneAccountHandle(pstnConnectionServiceName, id);
     }
 
@@ -2484,6 +2494,19 @@
         return SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     }
 
+    /**
+     * Determine if a given phone account corresponds to an active SIM
+     *
+     * @param sm An instance of the subscription manager so it is not recreated for each calling of
+     * this method.
+     * @param handle The handle for the phone account to check
+     * @return {@code true} If there is an active SIM for this phone account,
+     * {@code false} otherwise.
+     */
+    public static boolean isPhoneAccountActive(SubscriptionManager sm, PhoneAccountHandle handle) {
+        return sm.getActiveSubscriptionInfoForIccIndex(handle.getId()) != null;
+    }
+
     private static ComponentName getPstnConnectionServiceName() {
         return new ComponentName(PhoneGlobals.getInstance(), TelephonyConnectionService.class);
     }
@@ -2497,7 +2520,6 @@
                 }
             }
         }
-
         return null;
     }
 
diff --git a/src/com/android/phone/common/mail/Address.java b/src/com/android/phone/common/mail/Address.java
new file mode 100644
index 0000000..5928b63
--- /dev/null
+++ b/src/com/android/phone/common/mail/Address.java
@@ -0,0 +1,544 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.text.Html;
+import android.text.TextUtils;
+import android.text.util.Rfc822Token;
+import android.text.util.Rfc822Tokenizer;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.phone.common.mail.utils.LogUtils;
+
+import org.apache.james.mime4j.codec.EncoderUtil;
+import org.apache.james.mime4j.decoder.DecoderUtil;
+
+import java.util.ArrayList;
+import java.util.regex.Pattern;
+
+/**
+ * This class represent email address.
+ *
+ * RFC822 email address may have following format.
+ *   "name" <address> (comment)
+ *   "name" <address>
+ *   name <address>
+ *   address
+ * Name and comment part should be MIME/base64 encoded in header if necessary.
+ *
+ */
+public class Address implements Parcelable {
+    public static final String ADDRESS_DELIMETER = ",";
+    /**
+     *  Address part, in the form local_part@domain_part. No surrounding angle brackets.
+     */
+    private String mAddress;
+
+    /**
+     * Name part. No surrounding double quote, and no MIME/base64 encoding.
+     * This must be null if Address has no name part.
+     */
+    private String mPersonal;
+
+    /**
+     * When personal is set, it will return the first token of the personal
+     * string. Otherwise, it will return the e-mail address up to the '@' sign.
+     */
+    private String mSimplifiedName;
+
+    // Regex that matches address surrounded by '<>' optionally. '^<?([^>]+)>?$'
+    private static final Pattern REMOVE_OPTIONAL_BRACKET = Pattern.compile("^<?([^>]+)>?$");
+    // Regex that matches personal name surrounded by '""' optionally. '^"?([^"]+)"?$'
+    private static final Pattern REMOVE_OPTIONAL_DQUOTE = Pattern.compile("^\"?([^\"]*)\"?$");
+    // Regex that matches escaped character '\\([\\"])'
+    private static final Pattern UNQUOTE = Pattern.compile("\\\\([\\\\\"])");
+
+    // TODO: LOCAL_PART and DOMAIN_PART_PART are too permissive and can be improved.
+    // TODO: Fix this to better constrain comments.
+    /** Regex for the local part of an email address. */
+    private static final String LOCAL_PART = "[^@]+";
+    /** Regex for each part of the domain part, i.e. the thing between the dots. */
+    private static final String DOMAIN_PART_PART = "[[\\w][\\d]\\-\\(\\)\\[\\]]+";
+    /** Regex for the domain part, which is two or more {@link #DOMAIN_PART_PART} separated by . */
+    private static final String DOMAIN_PART =
+            "(" + DOMAIN_PART_PART + "\\.)+" + DOMAIN_PART_PART;
+
+    /** Pattern to check if an email address is valid. */
+    private static final Pattern EMAIL_ADDRESS =
+            Pattern.compile("\\A" + LOCAL_PART + "@" + DOMAIN_PART + "\\z");
+
+    private static final Address[] EMPTY_ADDRESS_ARRAY = new Address[0];
+
+    // delimiters are chars that do not appear in an email address, used by fromHeader
+    private static final char LIST_DELIMITER_EMAIL = '\1';
+    private static final char LIST_DELIMITER_PERSONAL = '\2';
+
+    private static final String LOG_TAG = "Email Address";
+
+    @VisibleForTesting
+    public Address(String address) {
+        setAddress(address);
+    }
+
+    public Address(String address, String personal) {
+        setPersonal(personal);
+        setAddress(address);
+    }
+
+    /**
+     * Returns a simplified string for this e-mail address.
+     * When a name is known, it will return the first token of that name. Otherwise, it will
+     * return the e-mail address up to the '@' sign.
+     */
+    public String getSimplifiedName() {
+        if (mSimplifiedName == null) {
+            if (TextUtils.isEmpty(mPersonal) && !TextUtils.isEmpty(mAddress)) {
+                int atSign = mAddress.indexOf('@');
+                mSimplifiedName = (atSign != -1) ? mAddress.substring(0, atSign) : "";
+            } else if (!TextUtils.isEmpty(mPersonal)) {
+
+                // TODO: use Contacts' NameSplitter for more reliable first-name extraction
+
+                int end = mPersonal.indexOf(' ');
+                while (end > 0 && mPersonal.charAt(end - 1) == ',') {
+                    end--;
+                }
+                mSimplifiedName = (end < 1) ? mPersonal : mPersonal.substring(0, end);
+
+            } else {
+                LogUtils.w(LOG_TAG, "Unable to get a simplified name");
+                mSimplifiedName = "";
+            }
+        }
+        return mSimplifiedName;
+    }
+
+    public static synchronized Address getEmailAddress(String rawAddress) {
+        if (TextUtils.isEmpty(rawAddress)) {
+            return null;
+        }
+        String name, address;
+        final Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(rawAddress);
+        if (tokens.length > 0) {
+            final String tokenizedName = tokens[0].getName();
+            name = tokenizedName != null ? Html.fromHtml(tokenizedName.trim()).toString()
+                    : "";
+            address = Html.fromHtml(tokens[0].getAddress()).toString();
+        } else {
+            name = "";
+            address = rawAddress == null ?
+                    "" : Html.fromHtml(rawAddress).toString();
+        }
+        return new Address(address, name);
+    }
+
+    public String getAddress() {
+        return mAddress;
+    }
+
+    public void setAddress(String address) {
+        mAddress = REMOVE_OPTIONAL_BRACKET.matcher(address).replaceAll("$1");
+    }
+
+    /**
+     * Get name part as UTF-16 string. No surrounding double quote, and no MIME/base64 encoding.
+     *
+     * @return Name part of email address. Returns null if it is omitted.
+     */
+    public String getPersonal() {
+        return mPersonal;
+    }
+
+    /**
+     * Set personal part from UTF-16 string. Optional surrounding double quote will be removed.
+     * It will be also unquoted and MIME/base64 decoded.
+     *
+     * @param personal name part of email address as UTF-16 string. Null is acceptable.
+     */
+    public void setPersonal(String personal) {
+        mPersonal = decodeAddressPersonal(personal);
+    }
+
+    /**
+     * Decodes name from UTF-16 string. Optional surrounding double quote will be removed.
+     * It will be also unquoted and MIME/base64 decoded.
+     *
+     * @param personal name part of email address as UTF-16 string. Null is acceptable.
+     */
+    public static String decodeAddressPersonal(String personal) {
+        if (personal != null) {
+            personal = REMOVE_OPTIONAL_DQUOTE.matcher(personal).replaceAll("$1");
+            personal = UNQUOTE.matcher(personal).replaceAll("$1");
+            personal = DecoderUtil.decodeEncodedWords(personal);
+            if (personal.length() == 0) {
+                personal = null;
+            }
+        }
+        return personal;
+    }
+
+    /**
+     * This method is used to check that all the addresses that the user
+     * entered in a list (e.g. To:) are valid, so that none is dropped.
+     */
+    @VisibleForTesting
+    public static boolean isAllValid(String addressList) {
+        // This code mimics the parse() method below.
+        // I don't know how to better avoid the code-duplication.
+        if (addressList != null && addressList.length() > 0) {
+            Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(addressList);
+            for (int i = 0, length = tokens.length; i < length; ++i) {
+                Rfc822Token token = tokens[i];
+                String address = token.getAddress();
+                if (!TextUtils.isEmpty(address) && !isValidAddress(address)) {
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Parse a comma-delimited list of addresses in RFC822 format and return an
+     * array of Address objects.
+     *
+     * @param addressList Address list in comma-delimited string.
+     * @return An array of 0 or more Addresses.
+     */
+    public static Address[] parse(String addressList) {
+        if (addressList == null || addressList.length() == 0) {
+            return EMPTY_ADDRESS_ARRAY;
+        }
+        Rfc822Token[] tokens = Rfc822Tokenizer.tokenize(addressList);
+        ArrayList<Address> addresses = new ArrayList<Address>();
+        for (int i = 0, length = tokens.length; i < length; ++i) {
+            Rfc822Token token = tokens[i];
+            String address = token.getAddress();
+            if (!TextUtils.isEmpty(address)) {
+                if (isValidAddress(address)) {
+                    String name = token.getName();
+                    if (TextUtils.isEmpty(name)) {
+                        name = null;
+                    }
+                    addresses.add(new Address(address, name));
+                }
+            }
+        }
+        return addresses.toArray(new Address[addresses.size()]);
+    }
+
+    /**
+     * Checks whether a string email address is valid.
+     * E.g. name@domain.com is valid.
+     */
+    @VisibleForTesting
+    static boolean isValidAddress(final String address) {
+        return EMAIL_ADDRESS.matcher(address).find();
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o instanceof Address) {
+            // It seems that the spec says that the "user" part is case-sensitive,
+            // while the domain part in case-insesitive.
+            // So foo@yahoo.com and Foo@yahoo.com are different.
+            // This may seem non-intuitive from the user POV, so we
+            // may re-consider it if it creates UI trouble.
+            // A problem case is "replyAll" sending to both
+            // a@b.c and to A@b.c, which turn out to be the same on the server.
+            // Leave unchanged for now (i.e. case-sensitive).
+            return getAddress().equals(((Address) o).getAddress());
+        }
+        return super.equals(o);
+    }
+
+    @Override
+    public int hashCode() {
+        return getAddress().hashCode();
+    }
+
+    /**
+     * Get human readable address string.
+     * Do not use this for email header.
+     *
+     * @return Human readable address string.  Not quoted and not encoded.
+     */
+    @Override
+    public String toString() {
+        if (mPersonal != null && !mPersonal.equals(mAddress)) {
+            if (mPersonal.matches(".*[\\(\\)<>@,;:\\\\\".\\[\\]].*")) {
+                return ensureQuotedString(mPersonal) + " <" + mAddress + ">";
+            } else {
+                return mPersonal + " <" + mAddress + ">";
+            }
+        } else {
+            return mAddress;
+        }
+    }
+
+    /**
+     * Ensures that the given string starts and ends with the double quote character. The string is
+     * not modified in any way except to add the double quote character to start and end if it's not
+     * already there.
+     *
+     * sample -> "sample"
+     * "sample" -> "sample"
+     * ""sample"" -> "sample"
+     * "sample"" -> "sample"
+     * sa"mp"le -> "sa"mp"le"
+     * "sa"mp"le" -> "sa"mp"le"
+     * (empty string) -> ""
+     * " -> ""
+     */
+    private static String ensureQuotedString(String s) {
+        if (s == null) {
+            return null;
+        }
+        if (!s.matches("^\".*\"$")) {
+            return "\"" + s + "\"";
+        } else {
+            return s;
+        }
+    }
+
+    /**
+     * Get human readable comma-delimited address string.
+     *
+     * @param addresses Address array
+     * @return Human readable comma-delimited address string.
+     */
+    @VisibleForTesting
+    public static String toString(Address[] addresses) {
+        return toString(addresses, ADDRESS_DELIMETER);
+    }
+
+    /**
+     * Get human readable address strings joined with the specified separator.
+     *
+     * @param addresses Address array
+     * @param separator Separator
+     * @return Human readable comma-delimited address string.
+     */
+    public static String toString(Address[] addresses, String separator) {
+        if (addresses == null || addresses.length == 0) {
+            return null;
+        }
+        if (addresses.length == 1) {
+            return addresses[0].toString();
+        }
+        StringBuilder sb = new StringBuilder(addresses[0].toString());
+        for (int i = 1; i < addresses.length; i++) {
+            sb.append(separator);
+            // TODO: investigate why this .trim() is needed.
+            sb.append(addresses[i].toString().trim());
+        }
+        return sb.toString();
+    }
+
+    /**
+     * Get RFC822/MIME compatible address string.
+     *
+     * @return RFC822/MIME compatible address string.
+     * It may be surrounded by double quote or quoted and MIME/base64 encoded if necessary.
+     */
+    public String toHeader() {
+        if (mPersonal != null) {
+            return EncoderUtil.encodeAddressDisplayName(mPersonal) + " <" + mAddress + ">";
+        } else {
+            return mAddress;
+        }
+    }
+
+    /**
+     * Get RFC822/MIME compatible comma-delimited address string.
+     *
+     * @param addresses Address array
+     * @return RFC822/MIME compatible comma-delimited address string.
+     * it may be surrounded by double quoted or quoted and MIME/base64 encoded if necessary.
+     */
+    public static String toHeader(Address[] addresses) {
+        if (addresses == null || addresses.length == 0) {
+            return null;
+        }
+        if (addresses.length == 1) {
+            return addresses[0].toHeader();
+        }
+        StringBuilder sb = new StringBuilder(addresses[0].toHeader());
+        for (int i = 1; i < addresses.length; i++) {
+            // We need space character to be able to fold line.
+            sb.append(", ");
+            sb.append(addresses[i].toHeader());
+        }
+        return sb.toString();
+    }
+
+    /**
+     * Get Human friendly address string.
+     *
+     * @return the personal part of this Address, or the address part if the
+     * personal part is not available
+     */
+    @VisibleForTesting
+    public String toFriendly() {
+        if (mPersonal != null && mPersonal.length() > 0) {
+            return mPersonal;
+        } else {
+            return mAddress;
+        }
+    }
+
+    /**
+     * Creates a comma-delimited list of addresses in the "friendly" format (see toFriendly() for
+     * details on the per-address conversion).
+     *
+     * @param addresses Array of Address[] values
+     * @return A comma-delimited string listing all of the addresses supplied.  Null if source
+     * was null or empty.
+     */
+    @VisibleForTesting
+    public static String toFriendly(Address[] addresses) {
+        if (addresses == null || addresses.length == 0) {
+            return null;
+        }
+        if (addresses.length == 1) {
+            return addresses[0].toFriendly();
+        }
+        StringBuilder sb = new StringBuilder(addresses[0].toFriendly());
+        for (int i = 1; i < addresses.length; i++) {
+            sb.append(", ");
+            sb.append(addresses[i].toFriendly());
+        }
+        return sb.toString();
+    }
+
+    /**
+     * Returns exactly the same result as Address.toString(Address.fromHeader(addressList)).
+     */
+    @VisibleForTesting
+    public static String fromHeaderToString(String addressList) {
+        return toString(fromHeader(addressList));
+    }
+
+    /**
+     * Returns exactly the same result as Address.toHeader(Address.parse(addressList)).
+     */
+    @VisibleForTesting
+    public static String parseToHeader(String addressList) {
+        return Address.toHeader(Address.parse(addressList));
+    }
+
+    /**
+     * Returns null if the addressList has 0 addresses, otherwise returns the first address.
+     * The same as Address.fromHeader(addressList)[0] for non-empty list.
+     * This is an utility method that offers some performance optimization opportunities.
+     */
+    @VisibleForTesting
+    public static Address firstAddress(String addressList) {
+        Address[] array = fromHeader(addressList);
+        return array.length > 0 ? array[0] : null;
+    }
+
+    /**
+     * This method exists to convert an address list formatted in a deprecated legacy format to the
+     * standard RFC822 header format. {@link #fromHeader(String)} is capable of reading the legacy
+     * format and the RFC822 format. {@link #toHeader()} always produces the RFC822 format.
+     *
+     * This implementation is brute-force, and could be replaced with a more efficient version
+     * if desired.
+     */
+    public static String reformatToHeader(String addressList) {
+        return toHeader(fromHeader(addressList));
+    }
+
+    /**
+     * @param addressList a CSV of RFC822 addresses or the deprecated legacy string format
+     * @return array of addresses parsed from <code>addressList</code>
+     */
+    @VisibleForTesting
+    public static Address[] fromHeader(String addressList) {
+        if (addressList == null || addressList.length() == 0) {
+            return EMPTY_ADDRESS_ARRAY;
+        }
+        // IF we're CSV, just parse
+        if ((addressList.indexOf(LIST_DELIMITER_PERSONAL) == -1) &&
+                (addressList.indexOf(LIST_DELIMITER_EMAIL) == -1)) {
+            return Address.parse(addressList);
+        }
+        // Otherwise, do backward-compatible unpack
+        ArrayList<Address> addresses = new ArrayList<Address>();
+        int length = addressList.length();
+        int pairStartIndex = 0;
+        int pairEndIndex;
+
+        /* addressEndIndex is only re-scanned (indexOf()) when a LIST_DELIMITER_PERSONAL
+           is used, not for every email address; i.e. not for every iteration of the while().
+           This reduces the theoretical complexity from quadratic to linear,
+           and provides some speed-up in practice by removing redundant scans of the string.
+        */
+        int addressEndIndex = addressList.indexOf(LIST_DELIMITER_PERSONAL);
+
+        while (pairStartIndex < length) {
+            pairEndIndex = addressList.indexOf(LIST_DELIMITER_EMAIL, pairStartIndex);
+            if (pairEndIndex == -1) {
+                pairEndIndex = length;
+            }
+            Address address;
+            if (addressEndIndex == -1 || pairEndIndex <= addressEndIndex) {
+                // in this case the DELIMITER_PERSONAL is in a future pair,
+                // so don't use personal, and don't update addressEndIndex
+                address = new Address(addressList.substring(pairStartIndex, pairEndIndex), null);
+            } else {
+                address = new Address(addressList.substring(pairStartIndex, addressEndIndex),
+                        addressList.substring(addressEndIndex + 1, pairEndIndex));
+                // only update addressEndIndex when we use the LIST_DELIMITER_PERSONAL
+                addressEndIndex = addressList.indexOf(LIST_DELIMITER_PERSONAL, pairEndIndex + 1);
+            }
+            addresses.add(address);
+            pairStartIndex = pairEndIndex + 1;
+        }
+        return addresses.toArray(new Address[addresses.size()]);
+    }
+
+    public static final Creator<Address> CREATOR = new Creator<Address>() {
+        @Override
+        public Address createFromParcel(Parcel parcel) {
+            return new Address(parcel);
+        }
+
+        @Override
+        public Address[] newArray(int size) {
+            return new Address[size];
+        }
+    };
+
+    public Address(Parcel in) {
+        setPersonal(in.readString());
+        setAddress(in.readString());
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeString(mPersonal);
+        out.writeString(mAddress);
+    }
+}
diff --git a/src/com/android/phone/common/mail/AuthenticationFailedException.java b/src/com/android/phone/common/mail/AuthenticationFailedException.java
new file mode 100644
index 0000000..f13ab45
--- /dev/null
+++ b/src/com/android/phone/common/mail/AuthenticationFailedException.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+public class AuthenticationFailedException extends MessagingException {
+    public static final long serialVersionUID = -1;
+
+    public AuthenticationFailedException(String message) {
+        super(MessagingException.AUTHENTICATION_FAILED, message);
+    }
+
+    public AuthenticationFailedException(int exceptionType, String message) {
+        super(exceptionType, message);
+    }
+
+    public AuthenticationFailedException(String message, Throwable throwable) {
+        super(MessagingException.AUTHENTICATION_FAILED, message, throwable);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/Base64Body.java b/src/com/android/phone/common/mail/Base64Body.java
new file mode 100644
index 0000000..757b4b7
--- /dev/null
+++ b/src/com/android/phone/common/mail/Base64Body.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import android.util.Base64;
+import android.util.Base64OutputStream;
+
+import org.apache.commons.io.IOUtils;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class Base64Body implements Body {
+    private final InputStream mSource;
+    // Because we consume the input stream, we can only write out once
+    private boolean mAlreadyWritten;
+
+    public Base64Body(InputStream source) {
+        mSource = source;
+    }
+
+    @Override
+    public InputStream getInputStream() throws MessagingException {
+        return mSource;
+    }
+
+    /**
+     * This method consumes the input stream, so can only be called once
+     * @param out Stream to write to
+     * @throws IllegalStateException If called more than once
+     * @throws IOException
+     * @throws MessagingException
+     */
+    @Override
+    public void writeTo(OutputStream out)
+            throws IllegalStateException, IOException, MessagingException {
+        if (mAlreadyWritten) {
+            throw new IllegalStateException("Base64Body can only be written once");
+        }
+        mAlreadyWritten = true;
+        try {
+            final Base64OutputStream b64out = new Base64OutputStream(out, Base64.DEFAULT);
+            IOUtils.copyLarge(mSource, b64out);
+        } finally {
+            mSource.close();
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/Body.java b/src/com/android/phone/common/mail/Body.java
new file mode 100644
index 0000000..8625ef2
--- /dev/null
+++ b/src/com/android/phone/common/mail/Body.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public interface Body {
+    public InputStream getInputStream() throws MessagingException;
+    public void writeTo(OutputStream out) throws IOException, MessagingException;
+}
diff --git a/src/com/android/phone/common/mail/BodyPart.java b/src/com/android/phone/common/mail/BodyPart.java
new file mode 100644
index 0000000..78140c8
--- /dev/null
+++ b/src/com/android/phone/common/mail/BodyPart.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+public abstract class BodyPart implements Part {
+    protected Multipart mParent;
+
+    public Multipart getParent() {
+        return mParent;
+    }
+}
diff --git a/src/com/android/phone/common/mail/CertificateValidationException.java b/src/com/android/phone/common/mail/CertificateValidationException.java
new file mode 100644
index 0000000..d8ae9b4
--- /dev/null
+++ b/src/com/android/phone/common/mail/CertificateValidationException.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+public class CertificateValidationException extends MessagingException {
+    public static final long serialVersionUID = -1;
+
+    public CertificateValidationException(String message) {
+        super(MessagingException.CERTIFICATE_VALIDATION_ERROR, message);
+    }
+
+    public CertificateValidationException(String message, Throwable throwable) {
+        super(MessagingException.CERTIFICATE_VALIDATION_ERROR, message, throwable);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/FetchProfile.java b/src/com/android/phone/common/mail/FetchProfile.java
new file mode 100644
index 0000000..01c1fcf
--- /dev/null
+++ b/src/com/android/phone/common/mail/FetchProfile.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.util.ArrayList;
+
+/**
+ * <pre>
+ * A FetchProfile is a list of items that should be downloaded in bulk for a set of messages.
+ * FetchProfile can contain the following objects:
+ *      FetchProfile.Item:      Described below.
+ *      Message:                Indicates that the body of the entire message should be fetched.
+ *                              Synonymous with FetchProfile.Item.BODY.
+ *      Part:                   Indicates that the given Part should be fetched. The provider
+ *                              is expected have previously created the given BodyPart and stored
+ *                              any information it needs to download the content.
+ * </pre>
+ */
+public class FetchProfile extends ArrayList<Fetchable> {
+    /**
+     * Default items available for pre-fetching. It should be expected that any
+     * item fetched by using these items could potentially include all of the
+     * previous items.
+     */
+    public enum Item implements Fetchable {
+        /**
+         * Download the flags of the message.
+         */
+        FLAGS,
+
+        /**
+         * Download the envelope of the message. This should include at minimum
+         * the size and the following headers: date, subject, from, content-type, to, cc
+         */
+        ENVELOPE,
+
+        /**
+         * Download the structure of the message. This maps directly to IMAP's BODYSTRUCTURE
+         * and may map to other providers.
+         * The provider should, if possible, fill in a properly formatted MIME structure in
+         * the message without actually downloading any message data. If the provider is not
+         * capable of this operation it should specifically set the body of the message to null
+         * so that upper levels can detect that a full body download is needed.
+         */
+        STRUCTURE,
+
+        /**
+         * A sane portion of the entire message, cut off at a provider determined limit.
+         * This should generaly be around 50kB.
+         */
+        BODY_SANE,
+
+        /**
+         * The entire message.
+         */
+        BODY,
+    }
+
+    /**
+     * @return the first {@link Part} in this collection, or null if it doesn't contain
+     * {@link Part}.
+     */
+    public Part getFirstPart() {
+        for (Fetchable o : this) {
+            if (o instanceof Part) {
+                return (Part) o;
+            }
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/phone/common/mail/Fetchable.java b/src/com/android/phone/common/mail/Fetchable.java
new file mode 100644
index 0000000..829c672
--- /dev/null
+++ b/src/com/android/phone/common/mail/Fetchable.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+/**
+ * Interface for classes that can be added to {@link FetchProfile}.
+ * i.e. {@link Part} and its subclasses, and {@link FetchProfile.Item}.
+ */
+public interface Fetchable {
+}
diff --git a/src/com/android/phone/common/mail/FixedLengthInputStream.java b/src/com/android/phone/common/mail/FixedLengthInputStream.java
new file mode 100644
index 0000000..499feca
--- /dev/null
+++ b/src/com/android/phone/common/mail/FixedLengthInputStream.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * A filtering InputStream that stops allowing reads after the given length has been read. This
+ * is used to allow a client to read directly from an underlying protocol stream without reading
+ * past where the protocol handler intended the client to read.
+ */
+public class FixedLengthInputStream extends InputStream {
+    private final InputStream mIn;
+    private final int mLength;
+    private int mCount;
+
+    public FixedLengthInputStream(InputStream in, int length) {
+        this.mIn = in;
+        this.mLength = length;
+    }
+
+    @Override
+    public int available() throws IOException {
+        return mLength - mCount;
+    }
+
+    @Override
+    public int read() throws IOException {
+        if (mCount < mLength) {
+            mCount++;
+            return mIn.read();
+        } else {
+            return -1;
+        }
+    }
+
+    @Override
+    public int read(byte[] b, int offset, int length) throws IOException {
+        if (mCount < mLength) {
+            int d = mIn.read(b, offset, Math.min(mLength - mCount, length));
+            if (d == -1) {
+                return -1;
+            } else {
+                mCount += d;
+                return d;
+            }
+        } else {
+            return -1;
+        }
+    }
+
+    @Override
+    public int read(byte[] b) throws IOException {
+        return read(b, 0, b.length);
+    }
+
+    public int getLength() {
+        return mLength;
+    }
+
+    @Override
+    public String toString() {
+        return String.format("FixedLengthInputStream(in=%s, length=%d)", mIn.toString(), mLength);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/Flag.java b/src/com/android/phone/common/mail/Flag.java
new file mode 100644
index 0000000..aa5d7e9
--- /dev/null
+++ b/src/com/android/phone/common/mail/Flag.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+/**
+ * Flags that can be applied to Messages.
+ */
+public class Flag {
+    // If adding new flags: ALL FLAGS MUST BE UPPER CASE.
+    public static final String DELETED = "deleted";
+    public static final String SEEN = "seen";
+    public static final String ANSWERED = "answered";
+    public static final String FLAGGED = "flagged";
+    public static final String DRAFT = "draft";
+    public static final String RECENT = "recent";
+}
diff --git a/src/com/android/phone/common/mail/MailTransport.java b/src/com/android/phone/common/mail/MailTransport.java
new file mode 100644
index 0000000..c66130c
--- /dev/null
+++ b/src/com/android/phone/common/mail/MailTransport.java
@@ -0,0 +1,237 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import android.content.Context;
+
+import com.android.phone.common.mail.store.ImapStore;
+import com.android.phone.common.mail.utils.LogUtils;
+
+import java.net.SocketAddress;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLException;
+import javax.net.ssl.SSLPeerUnverifiedException;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.SSLSocket;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+
+/**
+ * Make connection and perform operations on mail server by reading and writing lines.
+ */
+public class MailTransport {
+    private static final String TAG = "MailTransport";
+
+    // TODO protected eventually
+    /*protected*/ public static final int SOCKET_CONNECT_TIMEOUT = 10000;
+    /*protected*/ public static final int SOCKET_READ_TIMEOUT = 60000;
+
+    private static final HostnameVerifier HOSTNAME_VERIFIER =
+            HttpsURLConnection.getDefaultHostnameVerifier();
+
+    private Context mContext;
+    private String mHost;
+    private int mPort;
+    private Socket mSocket;
+    private BufferedInputStream mIn;
+    private BufferedOutputStream mOut;
+    private int mFlags;
+
+    public MailTransport(Context context, String address, int port, int flags) {
+        mContext = context;
+        mHost = address;
+        mPort = port;
+        mFlags = flags;
+    }
+
+    /**
+     * Returns a new transport, using the current transport as a model. The new transport is
+     * configured identically, but not opened or connected in any way.
+     */
+    @Override
+    public MailTransport clone() {
+        return new MailTransport(mContext, mHost, mPort, mFlags);
+    }
+
+    public boolean canTrySslSecurity() {
+        return (mFlags & ImapStore.FLAG_SSL) != 0;
+    }
+
+    public boolean canTrustAllCertificates() {
+        return (mFlags & ImapStore.FLAG_TRUST_ALL) != 0;
+    }
+
+    /**
+     * Attempts to open a connection using the Uri supplied for connection parameters.  Will attempt
+     * an SSL connection if indicated.
+     */
+    public void open() throws MessagingException, CertificateValidationException {
+        LogUtils.d(TAG, "*** IMAP open " + mHost + ":" + String.valueOf(mPort));
+
+        try {
+            SocketAddress socketAddress = new InetSocketAddress(mHost, mPort);
+            if (canTrySslSecurity()) {
+                mSocket = HttpsURLConnection.getDefaultSSLSocketFactory().createSocket();
+            } else {
+                mSocket = new Socket();
+            }
+            mSocket.connect(socketAddress, SOCKET_CONNECT_TIMEOUT);
+            // After the socket connects to an SSL server, confirm that the hostname is as expected
+            if (canTrySslSecurity() && !canTrustAllCertificates()) {
+                verifyHostname(mSocket, mHost);
+            }
+
+            mIn = new BufferedInputStream(mSocket.getInputStream(), 1024);
+            mOut = new BufferedOutputStream(mSocket.getOutputStream(), 512);
+            mSocket.setSoTimeout(SOCKET_READ_TIMEOUT);
+        } catch (SSLException e) {
+            LogUtils.d(TAG, e.toString());
+            throw new CertificateValidationException(e.getMessage(), e);
+        } catch (IOException ioe) {
+            LogUtils.d(TAG, ioe.toString());
+            throw new MessagingException(MessagingException.IOERROR, ioe.toString());
+        } catch (IllegalArgumentException iae) {
+            LogUtils.d(TAG, iae.toString());
+            throw new MessagingException(MessagingException.UNSPECIFIED_EXCEPTION, iae.toString());
+        }
+    }
+
+    /**
+     * Lightweight version of SSLCertificateSocketFactory.verifyHostname, which provides this
+     * service but is not in the public API.
+     *
+     * Verify the hostname of the certificate used by the other end of a
+     * connected socket. It is harmless to call this method redundantly if the hostname has already
+     * been verified.
+     *
+     * <p>Wildcard certificates are allowed to verify any matching hostname,
+     * so "foo.bar.example.com" is verified if the peer has a certificate
+     * for "*.example.com".
+     *
+     * @param socket An SSL socket which has been connected to a server
+     * @param hostname The expected hostname of the remote server
+     * @throws IOException if something goes wrong handshaking with the server
+     * @throws SSLPeerUnverifiedException if the server cannot prove its identity
+      */
+    private static void verifyHostname(Socket socket, String hostname) throws IOException {
+        // The code at the start of OpenSSLSocketImpl.startHandshake()
+        // ensures that the call is idempotent, so we can safely call it.
+        SSLSocket ssl = (SSLSocket) socket;
+        ssl.startHandshake();
+
+        SSLSession session = ssl.getSession();
+        if (session == null) {
+            throw new SSLException("Cannot verify SSL socket without session");
+        }
+        // TODO: Instead of reporting the name of the server we think we're connecting to,
+        // we should be reporting the bad name in the certificate.  Unfortunately this is buried
+        // in the verifier code and is not available in the verifier API, and extracting the
+        // CN & alts is beyond the scope of this patch.
+        if (!HOSTNAME_VERIFIER.verify(hostname, session)) {
+            throw new SSLPeerUnverifiedException(
+                    "Certificate hostname not useable for server: " + hostname);
+        }
+    }
+
+    public boolean isOpen() {
+        return (mIn != null && mOut != null &&
+                mSocket != null && mSocket.isConnected() && !mSocket.isClosed());
+    }
+
+    /**
+     * Close the connection.  MUST NOT return any exceptions - must be "best effort" and safe.
+     */
+    public void close() {
+        try {
+            mIn.close();
+        } catch (Exception e) {
+            // May fail if the connection is already closed.
+        }
+        try {
+            mOut.close();
+        } catch (Exception e) {
+            // May fail if the connection is already closed.
+        }
+        try {
+            mSocket.close();
+        } catch (Exception e) {
+            // May fail if the connection is already closed.
+        }
+        mIn = null;
+        mOut = null;
+        mSocket = null;
+    }
+
+    public InputStream getInputStream() {
+        return mIn;
+    }
+
+    public OutputStream getOutputStream() {
+        return mOut;
+    }
+
+    /**
+     * Writes a single line to the server using \r\n termination.
+     */
+    public void writeLine(String s, String sensitiveReplacement) throws IOException {
+        if (sensitiveReplacement != null) {
+            LogUtils.d(TAG, ">>> " + sensitiveReplacement);
+        } else {
+            LogUtils.d(TAG, ">>> " + s);
+        }
+
+        OutputStream out = getOutputStream();
+        out.write(s.getBytes());
+        out.write('\r');
+        out.write('\n');
+        out.flush();
+    }
+
+    /**
+     * Reads a single line from the server, using either \r\n or \n as the delimiter.  The
+     * delimiter char(s) are not included in the result.
+     */
+    public String readLine(boolean loggable) throws IOException {
+        StringBuffer sb = new StringBuffer();
+        InputStream in = getInputStream();
+        int d;
+        while ((d = in.read()) != -1) {
+            if (((char)d) == '\r') {
+                continue;
+            } else if (((char)d) == '\n') {
+                break;
+            } else {
+                sb.append((char)d);
+            }
+        }
+        if (d == -1) {
+            LogUtils.d(TAG, "End of stream reached while trying to read line.");
+        }
+        String ret = sb.toString();
+        if (loggable) {
+            LogUtils.d(TAG, "<<< " + ret);
+        }
+        return ret;
+    }
+}
diff --git a/src/com/android/phone/common/mail/MeetingInfo.java b/src/com/android/phone/common/mail/MeetingInfo.java
new file mode 100644
index 0000000..9fbafe7
--- /dev/null
+++ b/src/com/android/phone/common/mail/MeetingInfo.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+public class MeetingInfo {
+    // Predefined tags; others can be added
+    public static final String MEETING_DTSTAMP = "DTSTAMP";
+    public static final String MEETING_UID = "UID";
+    public static final String MEETING_ORGANIZER_EMAIL = "ORGMAIL";
+    public static final String MEETING_DTSTART = "DTSTART";
+    public static final String MEETING_DTEND = "DTEND";
+    public static final String MEETING_TITLE = "TITLE";
+    public static final String MEETING_LOCATION = "LOC";
+    public static final String MEETING_RESPONSE_REQUESTED = "RESPONSE";
+    public static final String MEETING_ALL_DAY = "ALLDAY";
+}
diff --git a/src/com/android/phone/common/mail/Message.java b/src/com/android/phone/common/mail/Message.java
new file mode 100644
index 0000000..0a5ed35
--- /dev/null
+++ b/src/com/android/phone/common/mail/Message.java
@@ -0,0 +1,145 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.Date;
+import java.util.HashSet;
+
+public abstract class Message implements Part, Body {
+    public static final Message[] EMPTY_ARRAY = new Message[0];
+
+    public static final String RECIPIENT_TYPE_TO = "to";
+    public static final String RECIPIENT_TYPE_CC = "cc";
+    public static final String RECIPIENT_TYPE_BCC = "bcc";
+    public enum RecipientType {
+        TO, CC, BCC,
+    }
+
+    protected String mUid;
+
+    private HashSet<String> mFlags = null;
+
+    protected Date mInternalDate;
+
+    public String getUid() {
+        return mUid;
+    }
+
+    public void setUid(String uid) {
+        this.mUid = uid;
+    }
+
+    public abstract String getSubject() throws MessagingException;
+
+    public abstract void setSubject(String subject) throws MessagingException;
+
+    public Date getInternalDate() {
+        return mInternalDate;
+    }
+
+    public void setInternalDate(Date internalDate) {
+        this.mInternalDate = internalDate;
+    }
+
+    public abstract Date getReceivedDate() throws MessagingException;
+
+    public abstract Date getSentDate() throws MessagingException;
+
+    public abstract void setSentDate(Date sentDate) throws MessagingException;
+
+    public abstract Address[] getRecipients(String type) throws MessagingException;
+
+    public abstract void setRecipients(String type, Address[] addresses)
+            throws MessagingException;
+
+    public void setRecipient(String type, Address address) throws MessagingException {
+        setRecipients(type, new Address[] {
+            address
+        });
+    }
+
+    public abstract Address[] getFrom() throws MessagingException;
+
+    public abstract void setFrom(Address from) throws MessagingException;
+
+    public abstract Address[] getReplyTo() throws MessagingException;
+
+    public abstract void setReplyTo(Address[] from) throws MessagingException;
+
+    // Always use these instead of getHeader("Message-ID") or setHeader("Message-ID");
+    public abstract void setMessageId(String messageId) throws MessagingException;
+    public abstract String getMessageId() throws MessagingException;
+
+    @Override
+    public boolean isMimeType(String mimeType) throws MessagingException {
+        return getContentType().startsWith(mimeType);
+    }
+
+    private HashSet<String> getFlagSet() {
+        if (mFlags == null) {
+            mFlags = new HashSet<String>();
+        }
+        return mFlags;
+    }
+
+    /*
+     * TODO Refactor Flags at some point to be able to store user defined flags.
+     */
+    public String[] getFlags() {
+        return getFlagSet().toArray(new String[] {});
+    }
+
+    /**
+     * Set/clear a flag directly, without involving overrides of {@link #setFlag} in subclasses.
+     * Only used for testing.
+     */
+    @VisibleForTesting
+    private final void setFlagDirectlyForTest(String flag, boolean set) throws MessagingException {
+        if (set) {
+            getFlagSet().add(flag);
+        } else {
+            getFlagSet().remove(flag);
+        }
+    }
+
+    public void setFlag(String flag, boolean set) throws MessagingException {
+        setFlagDirectlyForTest(flag, set);
+    }
+
+    /**
+     * This method calls setFlag(String, boolean)
+     * @param flags
+     * @param set
+     */
+    public void setFlags(String[] flags, boolean set) throws MessagingException {
+        for (String flag : flags) {
+            setFlag(flag, set);
+        }
+    }
+
+    public boolean isSet(String flag) {
+        return getFlagSet().contains(flag);
+    }
+
+    public abstract void saveChanges() throws MessagingException;
+
+    @Override
+    public String toString() {
+        return getClass().getSimpleName() + ':' + mUid;
+    }
+}
diff --git a/src/com/android/phone/common/mail/MessageDateComparator.java b/src/com/android/phone/common/mail/MessageDateComparator.java
new file mode 100644
index 0000000..5d8baa7
--- /dev/null
+++ b/src/com/android/phone/common/mail/MessageDateComparator.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.util.Comparator;
+
+public class MessageDateComparator implements Comparator<Message> {
+    @Override
+    public int compare(Message o1, Message o2) {
+        try {
+            if (o1.getSentDate() == null) {
+                return 1;
+            } else if (o2.getSentDate() == null) {
+                return -1;
+            } else
+                return o2.getSentDate().compareTo(o1.getSentDate());
+        } catch (Exception e) {
+            return 0;
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/MessagingException.java b/src/com/android/phone/common/mail/MessagingException.java
new file mode 100644
index 0000000..e4c674a
--- /dev/null
+++ b/src/com/android/phone/common/mail/MessagingException.java
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+/**
+ * This exception is used for most types of failures that occur during server interactions.
+ *
+ * Data passed through this exception should be considered non-localized.  Any strings should
+ * either be internal-only (for debugging) or server-generated.
+ *
+ * TO DO: Does it make sense to further collapse AuthenticationFailedException and
+ * CertificateValidationException and any others into this?
+ */
+public class MessagingException extends Exception {
+    public static final long serialVersionUID = -1;
+
+    public static final int NO_ERROR = -1;
+    /** Any exception that does not specify a specific issue */
+    public static final int UNSPECIFIED_EXCEPTION = 0;
+    /** Connection or IO errors */
+    public static final int IOERROR = 1;
+    /** The configuration requested TLS but the server did not support it. */
+    public static final int TLS_REQUIRED = 2;
+    /** Authentication is required but the server did not support it. */
+    public static final int AUTH_REQUIRED = 3;
+    /** General security failures */
+    public static final int GENERAL_SECURITY = 4;
+    /** Authentication failed */
+    public static final int AUTHENTICATION_FAILED = 5;
+    /** Attempt to create duplicate account */
+    public static final int DUPLICATE_ACCOUNT = 6;
+    /** Required security policies reported - advisory only */
+    public static final int SECURITY_POLICIES_REQUIRED = 7;
+   /** Required security policies not supported */
+    public static final int SECURITY_POLICIES_UNSUPPORTED = 8;
+   /** The protocol (or protocol version) isn't supported */
+    public static final int PROTOCOL_VERSION_UNSUPPORTED = 9;
+    /** The server's SSL certificate couldn't be validated */
+    public static final int CERTIFICATE_VALIDATION_ERROR = 10;
+    /** Authentication failed during autodiscover */
+    public static final int AUTODISCOVER_AUTHENTICATION_FAILED = 11;
+    /** Autodiscover completed with a result (non-error) */
+    public static final int AUTODISCOVER_AUTHENTICATION_RESULT = 12;
+    /** Ambiguous failure; server error or bad credentials */
+    public static final int AUTHENTICATION_FAILED_OR_SERVER_ERROR = 13;
+    /** The server refused access */
+    public static final int ACCESS_DENIED = 14;
+    /** The server refused access */
+    public static final int ATTACHMENT_NOT_FOUND = 15;
+    /** A client SSL certificate is required for connections to the server */
+    public static final int CLIENT_CERTIFICATE_REQUIRED = 16;
+    /** The client SSL certificate specified is invalid */
+    public static final int CLIENT_CERTIFICATE_ERROR = 17;
+    /** The server indicates it does not support OAuth authentication */
+    public static final int OAUTH_NOT_SUPPORTED = 18;
+    /** The server indicates it experienced an internal error */
+    public static final int SERVER_ERROR = 19;
+
+    protected int mExceptionType;
+    // Exception type-specific data
+    protected Object mExceptionData;
+
+    public MessagingException(String message, Throwable throwable) {
+        this(UNSPECIFIED_EXCEPTION, message, throwable);
+    }
+
+    public MessagingException(int exceptionType, String message, Throwable throwable) {
+        super(message, throwable);
+        mExceptionType = exceptionType;
+        mExceptionData = null;
+    }
+
+    /**
+     * Constructs a MessagingException with an exceptionType and a null message.
+     * @param exceptionType The exception type to set for this exception.
+     */
+    public MessagingException(int exceptionType) {
+        this(exceptionType, null, null);
+    }
+
+    /**
+     * Constructs a MessagingException with a message.
+     * @param message the message for this exception
+     */
+    public MessagingException(String message) {
+        this(UNSPECIFIED_EXCEPTION, message, null);
+    }
+
+    /**
+     * Constructs a MessagingException with an exceptionType and a message.
+     * @param exceptionType The exception type to set for this exception.
+     */
+    public MessagingException(int exceptionType, String message) {
+        this(exceptionType, message, null);
+    }
+
+    /**
+     * Constructs a MessagingException with an exceptionType, a message, and data
+     * @param exceptionType The exception type to set for this exception.
+     * @param message the message for the exception (or null)
+     * @param data exception-type specific data for the exception (or null)
+     */
+    public MessagingException(int exceptionType, String message, Object data) {
+        super(message);
+        mExceptionType = exceptionType;
+        mExceptionData = data;
+    }
+
+    /**
+     * Return the exception type.  Will be OTHER_EXCEPTION if not explicitly set.
+     *
+     * @return Returns the exception type.
+     */
+    public int getExceptionType() {
+        return mExceptionType;
+    }
+    /**
+     * Return the exception data.  Will be null if not explicitly set.
+     *
+     * @return Returns the exception data.
+     */
+    public Object getExceptionData() {
+        return mExceptionData;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/Multipart.java b/src/com/android/phone/common/mail/Multipart.java
new file mode 100644
index 0000000..77963c8
--- /dev/null
+++ b/src/com/android/phone/common/mail/Multipart.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.util.ArrayList;
+
+public abstract class Multipart implements Body {
+    protected Part mParent;
+
+    protected ArrayList<BodyPart> mParts = new ArrayList<BodyPart>();
+
+    protected String mContentType;
+
+    public void addBodyPart(BodyPart part) throws MessagingException {
+        mParts.add(part);
+    }
+
+    public void addBodyPart(BodyPart part, int index) throws MessagingException {
+        mParts.add(index, part);
+    }
+
+    public BodyPart getBodyPart(int index) throws MessagingException {
+        return mParts.get(index);
+    }
+
+    public String getContentType() throws MessagingException {
+        return mContentType;
+    }
+
+    public int getCount() throws MessagingException {
+        return mParts.size();
+    }
+
+    public boolean removeBodyPart(BodyPart part) throws MessagingException {
+        return mParts.remove(part);
+    }
+
+    public void removeBodyPart(int index) throws MessagingException {
+        mParts.remove(index);
+    }
+
+    public Part getParent() throws MessagingException {
+        return mParent;
+    }
+
+    public void setParent(Part parent) throws MessagingException {
+        this.mParent = parent;
+    }
+}
diff --git a/src/com/android/phone/common/mail/PackedString.java b/src/com/android/phone/common/mail/PackedString.java
new file mode 100644
index 0000000..6cbba9e
--- /dev/null
+++ b/src/com/android/phone/common/mail/PackedString.java
@@ -0,0 +1,175 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A utility class for creating and modifying Strings that are tagged and packed together.
+ *
+ * Uses non-printable (control chars) for internal delimiters;  Intended for regular displayable
+ * strings only, so please use base64 or other encoding if you need to hide any binary data here.
+ *
+ * Binary compatible with Address.pack() format, which should migrate to use this code.
+ */
+public class PackedString {
+
+    /**
+     * Packing format is:
+     *   element : [ value ] or [ value TAG-DELIMITER tag ]
+     *   packed-string : [ element ] [ ELEMENT-DELIMITER [ element ] ]*
+     */
+    private static final char DELIMITER_ELEMENT = '\1';
+    private static final char DELIMITER_TAG = '\2';
+
+    private String mString;
+    private HashMap<String, String> mExploded;
+    private static final HashMap<String, String> EMPTY_MAP = new HashMap<String, String>();
+
+    /**
+     * Create a packed string using an already-packed string (e.g. from database)
+     * @param string packed string
+     */
+    public PackedString(String string) {
+        mString = string;
+        mExploded = null;
+    }
+
+    /**
+     * Get the value referred to by a given tag.  If the tag does not exist, return null.
+     * @param tag identifier of string of interest
+     * @return returns value, or null if no string is found
+     */
+    public String get(String tag) {
+        if (mExploded == null) {
+            mExploded = explode(mString);
+        }
+        return mExploded.get(tag);
+    }
+
+    /**
+     * Return a map of all of the values referred to by a given tag.  This is a shallow
+     * copy, don't edit the values.
+     * @return a map of the values in the packed string
+     */
+    public Map<String, String> unpack() {
+        if (mExploded == null) {
+            mExploded = explode(mString);
+        }
+        return new HashMap<String,String>(mExploded);
+    }
+
+    /**
+     * Read out all values into a map.
+     */
+    private static HashMap<String, String> explode(String packed) {
+        if (packed == null || packed.length() == 0) {
+            return EMPTY_MAP;
+        }
+        HashMap<String, String> map = new HashMap<String, String>();
+
+        int length = packed.length();
+        int elementStartIndex = 0;
+        int elementEndIndex = 0;
+        int tagEndIndex = packed.indexOf(DELIMITER_TAG);
+
+        while (elementStartIndex < length) {
+            elementEndIndex = packed.indexOf(DELIMITER_ELEMENT, elementStartIndex);
+            if (elementEndIndex == -1) {
+                elementEndIndex = length;
+            }
+            String tag;
+            String value;
+            if (tagEndIndex == -1 || elementEndIndex <= tagEndIndex) {
+                // in this case the DELIMITER_PERSONAL is in a future pair (or not found)
+                // so synthesize a positional tag for the value, and don't update tagEndIndex
+                value = packed.substring(elementStartIndex, elementEndIndex);
+                tag = Integer.toString(map.size());
+            } else {
+                value = packed.substring(elementStartIndex, tagEndIndex);
+                tag = packed.substring(tagEndIndex + 1, elementEndIndex);
+                // scan forward for next tag, if any
+                tagEndIndex = packed.indexOf(DELIMITER_TAG, elementEndIndex + 1);
+            }
+            map.put(tag, value);
+            elementStartIndex = elementEndIndex + 1;
+        }
+
+        return map;
+    }
+
+    /**
+     * Builder class for creating PackedString values.  Can also be used for editing existing
+     * PackedString representations.
+     */
+    static public class Builder {
+        HashMap<String, String> mMap;
+
+        /**
+         * Create a builder that's empty (for filling)
+         */
+        public Builder() {
+            mMap = new HashMap<String, String>();
+        }
+
+        /**
+         * Create a builder using the values of an existing PackedString (for editing).
+         */
+        public Builder(String packed) {
+            mMap = explode(packed);
+        }
+
+        /**
+         * Add a tagged value
+         * @param tag identifier of string of interest
+         * @param value the value to record in this position.  null to delete entry.
+         */
+        public void put(String tag, String value) {
+            if (value == null) {
+                mMap.remove(tag);
+            } else {
+                mMap.put(tag, value);
+            }
+        }
+
+        /**
+         * Get the value referred to by a given tag.  If the tag does not exist, return null.
+         * @param tag identifier of string of interest
+         * @return returns value, or null if no string is found
+         */
+        public String get(String tag) {
+            return mMap.get(tag);
+        }
+
+        /**
+         * Pack the values and return a single, encoded string
+         */
+        @Override
+        public String toString() {
+            StringBuilder sb = new StringBuilder();
+            for (Map.Entry<String,String> entry : mMap.entrySet()) {
+                if (sb.length() > 0) {
+                    sb.append(DELIMITER_ELEMENT);
+                }
+                sb.append(entry.getValue());
+                sb.append(DELIMITER_TAG);
+                sb.append(entry.getKey());
+            }
+            return sb.toString();
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/Part.java b/src/com/android/phone/common/mail/Part.java
new file mode 100644
index 0000000..d064e2a
--- /dev/null
+++ b/src/com/android/phone/common/mail/Part.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+public interface Part extends Fetchable {
+    public void addHeader(String name, String value) throws MessagingException;
+
+    public void removeHeader(String name) throws MessagingException;
+
+    public void setHeader(String name, String value) throws MessagingException;
+
+    public Body getBody() throws MessagingException;
+
+    public String getContentType() throws MessagingException;
+
+    public String getDisposition() throws MessagingException;
+
+    public String getContentId() throws MessagingException;
+
+    public String[] getHeader(String name) throws MessagingException;
+
+    public void setExtendedHeader(String name, String value) throws MessagingException;
+
+    public String getExtendedHeader(String name) throws MessagingException;
+
+    public int getSize() throws MessagingException;
+
+    public boolean isMimeType(String mimeType) throws MessagingException;
+
+    public String getMimeType() throws MessagingException;
+
+    public void setBody(Body body) throws MessagingException;
+
+    public void writeTo(OutputStream out) throws IOException, MessagingException;
+}
diff --git a/src/com/android/phone/common/mail/PeekableInputStream.java b/src/com/android/phone/common/mail/PeekableInputStream.java
new file mode 100644
index 0000000..d29fc6b
--- /dev/null
+++ b/src/com/android/phone/common/mail/PeekableInputStream.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * A filtering InputStream that allows single byte "peeks" without consuming the byte. The
+ * client of this stream can call peek() to see the next available byte in the stream
+ * and a subsequent read will still return the peeked byte.
+ */
+public class PeekableInputStream extends InputStream {
+    private final InputStream mIn;
+    private boolean mPeeked;
+    private int mPeekedByte;
+
+    public PeekableInputStream(InputStream in) {
+        this.mIn = in;
+    }
+
+    @Override
+    public int read() throws IOException {
+        if (!mPeeked) {
+            return mIn.read();
+        } else {
+            mPeeked = false;
+            return mPeekedByte;
+        }
+    }
+
+    public int peek() throws IOException {
+        if (!mPeeked) {
+            mPeekedByte = read();
+            mPeeked = true;
+        }
+        return mPeekedByte;
+    }
+
+    @Override
+    public int read(byte[] b, int offset, int length) throws IOException {
+        if (!mPeeked) {
+            return mIn.read(b, offset, length);
+        } else {
+            b[0] = (byte)mPeekedByte;
+            mPeeked = false;
+            int r = mIn.read(b, offset + 1, length - 1);
+            if (r == -1) {
+                return 1;
+            } else {
+                return r + 1;
+            }
+        }
+    }
+
+    @Override
+    public int read(byte[] b) throws IOException {
+        return read(b, 0, b.length);
+    }
+
+    @Override
+    public String toString() {
+        return String.format("PeekableInputStream(in=%s, peeked=%b, peekedByte=%d)",
+                mIn.toString(), mPeeked, mPeekedByte);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/TempDirectory.java b/src/com/android/phone/common/mail/TempDirectory.java
new file mode 100644
index 0000000..8fa0e44
--- /dev/null
+++ b/src/com/android/phone/common/mail/TempDirectory.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2015 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.common.mail;
+
+import android.content.Context;
+
+import java.io.File;
+
+/**
+ * TempDirectory caches the directory used for caching file.  It is set up during application
+ * initialization.
+ */
+public class TempDirectory {
+    private static File sTempDirectory = null;
+
+    public static void setTempDirectory(Context context) {
+        sTempDirectory = context.getCacheDir();
+    }
+
+    public static File getTempDirectory() {
+        if (sTempDirectory == null) {
+            throw new RuntimeException(
+                    "TempDirectory not set.  " +
+                    "If in a unit test, call Email.setTempDirectory(context) in setUp().");
+        }
+        return sTempDirectory;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/internet/BinaryTempFileBody.java b/src/com/android/phone/common/mail/internet/BinaryTempFileBody.java
new file mode 100644
index 0000000..e2bdd89
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/BinaryTempFileBody.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.TempDirectory;
+
+import org.apache.commons.io.IOUtils;
+
+import android.util.Base64;
+import android.util.Base64OutputStream;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FilterInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * A Body that is backed by a temp file. The Body exposes a getOutputStream method that allows
+ * the user to write to the temp file. After the write the body is available via getInputStream
+ * and writeTo one time. After writeTo is called, or the InputStream returned from
+ * getInputStream is closed the file is deleted and the Body should be considered disposed of.
+ */
+public class BinaryTempFileBody implements Body {
+    private File mFile;
+
+    /**
+     * An alternate way to put data into a BinaryTempFileBody is to simply supply an already-
+     * created file.  Note that this file will be deleted after it is read.
+     * @param filePath The file containing the data to be stored on disk temporarily
+     */
+    public void setFile(String filePath) {
+        mFile = new File(filePath);
+    }
+
+    public OutputStream getOutputStream() throws IOException {
+        mFile = File.createTempFile("body", null, TempDirectory.getTempDirectory());
+        mFile.deleteOnExit();
+        return new FileOutputStream(mFile);
+    }
+
+    @Override
+    public InputStream getInputStream() throws MessagingException {
+        try {
+            return new BinaryTempFileBodyInputStream(new FileInputStream(mFile));
+        }
+        catch (IOException ioe) {
+            throw new MessagingException("Unable to open body", ioe);
+        }
+    }
+
+    @Override
+    public void writeTo(OutputStream out) throws IOException, MessagingException {
+        InputStream in = getInputStream();
+        Base64OutputStream base64Out = new Base64OutputStream(
+            out, Base64.CRLF | Base64.NO_CLOSE);
+        IOUtils.copy(in, base64Out);
+        base64Out.close();
+        mFile.delete();
+        in.close();
+    }
+
+    class BinaryTempFileBodyInputStream extends FilterInputStream {
+        public BinaryTempFileBodyInputStream(InputStream in) {
+            super(in);
+        }
+
+        @Override
+        public void close() throws IOException {
+            super.close();
+            mFile.delete();
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/internet/MimeBodyPart.java b/src/com/android/phone/common/mail/internet/MimeBodyPart.java
new file mode 100644
index 0000000..286a4f2
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/MimeBodyPart.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.BodyPart;
+import com.android.phone.common.mail.MessagingException;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.util.regex.Pattern;
+
+/**
+ * TODO this is a close approximation of Message, need to update along with
+ * Message.
+ */
+public class MimeBodyPart extends BodyPart {
+    protected MimeHeader mHeader = new MimeHeader();
+    protected MimeHeader mExtendedHeader;
+    protected Body mBody;
+    protected int mSize;
+
+    // regex that matches content id surrounded by "<>" optionally.
+    private static final Pattern REMOVE_OPTIONAL_BRACKETS = Pattern.compile("^<?([^>]+)>?$");
+    // regex that matches end of line.
+    private static final Pattern END_OF_LINE = Pattern.compile("\r?\n");
+
+    public MimeBodyPart() throws MessagingException {
+        this(null);
+    }
+
+    public MimeBodyPart(Body body) throws MessagingException {
+        this(body, null);
+    }
+
+    public MimeBodyPart(Body body, String mimeType) throws MessagingException {
+        if (mimeType != null) {
+            setHeader(MimeHeader.HEADER_CONTENT_TYPE, mimeType);
+        }
+        setBody(body);
+    }
+
+    protected String getFirstHeader(String name) throws MessagingException {
+        return mHeader.getFirstHeader(name);
+    }
+
+    @Override
+    public void addHeader(String name, String value) throws MessagingException {
+        mHeader.addHeader(name, value);
+    }
+
+    @Override
+    public void setHeader(String name, String value) throws MessagingException {
+        mHeader.setHeader(name, value);
+    }
+
+    @Override
+    public String[] getHeader(String name) throws MessagingException {
+        return mHeader.getHeader(name);
+    }
+
+    @Override
+    public void removeHeader(String name) throws MessagingException {
+        mHeader.removeHeader(name);
+    }
+
+    @Override
+    public Body getBody() throws MessagingException {
+        return mBody;
+    }
+
+    @Override
+    public void setBody(Body body) throws MessagingException {
+        this.mBody = body;
+        if (body instanceof com.android.phone.common.mail.Multipart) {
+            com.android.phone.common.mail.Multipart multipart =
+                ((com.android.phone.common.mail.Multipart)body);
+            multipart.setParent(this);
+            setHeader(MimeHeader.HEADER_CONTENT_TYPE, multipart.getContentType());
+        }
+        else if (body instanceof TextBody) {
+            String contentType = String.format("%s;\n charset=utf-8", getMimeType());
+            String name = MimeUtility.getHeaderParameter(getContentType(), "name");
+            if (name != null) {
+                contentType += String.format(";\n name=\"%s\"", name);
+            }
+            setHeader(MimeHeader.HEADER_CONTENT_TYPE, contentType);
+            setHeader(MimeHeader.HEADER_CONTENT_TRANSFER_ENCODING, "base64");
+        }
+    }
+
+    @Override
+    public String getContentType() throws MessagingException {
+        String contentType = getFirstHeader(MimeHeader.HEADER_CONTENT_TYPE);
+        if (contentType == null) {
+            return "text/plain";
+        } else {
+            return contentType;
+        }
+    }
+
+    @Override
+    public String getDisposition() throws MessagingException {
+        String contentDisposition = getFirstHeader(MimeHeader.HEADER_CONTENT_DISPOSITION);
+        if (contentDisposition == null) {
+            return null;
+        } else {
+            return contentDisposition;
+        }
+    }
+
+    @Override
+    public String getContentId() throws MessagingException {
+        String contentId = getFirstHeader(MimeHeader.HEADER_CONTENT_ID);
+        if (contentId == null) {
+            return null;
+        } else {
+            // remove optionally surrounding brackets.
+            return REMOVE_OPTIONAL_BRACKETS.matcher(contentId).replaceAll("$1");
+        }
+    }
+
+    @Override
+    public String getMimeType() throws MessagingException {
+        return MimeUtility.getHeaderParameter(getContentType(), null);
+    }
+
+    @Override
+    public boolean isMimeType(String mimeType) throws MessagingException {
+        return getMimeType().equals(mimeType);
+    }
+
+    public void setSize(int size) {
+        this.mSize = size;
+    }
+
+    @Override
+    public int getSize() throws MessagingException {
+        return mSize;
+    }
+
+    /**
+     * Set extended header
+     *
+     * @param name Extended header name
+     * @param value header value - flattened by removing CR-NL if any
+     * remove header if value is null
+     * @throws MessagingException
+     */
+    @Override
+    public void setExtendedHeader(String name, String value) throws MessagingException {
+        if (value == null) {
+            if (mExtendedHeader != null) {
+                mExtendedHeader.removeHeader(name);
+            }
+            return;
+        }
+        if (mExtendedHeader == null) {
+            mExtendedHeader = new MimeHeader();
+        }
+        mExtendedHeader.setHeader(name, END_OF_LINE.matcher(value).replaceAll(""));
+    }
+
+    /**
+     * Get extended header
+     *
+     * @param name Extended header name
+     * @return header value - null if header does not exist
+     * @throws MessagingException
+     */
+    @Override
+    public String getExtendedHeader(String name) throws MessagingException {
+        if (mExtendedHeader == null) {
+            return null;
+        }
+        return mExtendedHeader.getFirstHeader(name);
+    }
+
+    /**
+     * Write the MimeMessage out in MIME format.
+     */
+    @Override
+    public void writeTo(OutputStream out) throws IOException, MessagingException {
+        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out), 1024);
+        mHeader.writeTo(out);
+        writer.write("\r\n");
+        writer.flush();
+        if (mBody != null) {
+            mBody.writeTo(out);
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/internet/MimeHeader.java b/src/com/android/phone/common/mail/internet/MimeHeader.java
new file mode 100644
index 0000000..7e6a07f
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/MimeHeader.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import com.android.phone.common.mail.MessagingException;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.util.ArrayList;
+
+public class MimeHeader {
+    /**
+     * Application specific header that contains Store specific information about an attachment.
+     * In IMAP this contains the IMAP BODYSTRUCTURE part id so that the ImapStore can later
+     * retrieve the attachment at will from the server.
+     * The info is recorded from this header on LocalStore.appendMessage and is put back
+     * into the MIME data by LocalStore.fetch.
+     */
+    public static final String HEADER_ANDROID_ATTACHMENT_STORE_DATA = "X-Android-Attachment-StoreData";
+
+    public static final String HEADER_CONTENT_TYPE = "Content-Type";
+    public static final String HEADER_CONTENT_TRANSFER_ENCODING = "Content-Transfer-Encoding";
+    public static final String HEADER_CONTENT_DISPOSITION = "Content-Disposition";
+    public static final String HEADER_CONTENT_ID = "Content-ID";
+
+    /**
+     * Fields that should be omitted when writing the header using writeTo()
+     */
+    private static final String[] WRITE_OMIT_FIELDS = {
+//        HEADER_ANDROID_ATTACHMENT_DOWNLOADED,
+//        HEADER_ANDROID_ATTACHMENT_ID,
+        HEADER_ANDROID_ATTACHMENT_STORE_DATA
+    };
+
+    protected final ArrayList<Field> mFields = new ArrayList<Field>();
+
+    public void clear() {
+        mFields.clear();
+    }
+
+    public String getFirstHeader(String name) throws MessagingException {
+        String[] header = getHeader(name);
+        if (header == null) {
+            return null;
+        }
+        return header[0];
+    }
+
+    public void addHeader(String name, String value) throws MessagingException {
+        mFields.add(new Field(name, value));
+    }
+
+    public void setHeader(String name, String value) throws MessagingException {
+        if (name == null || value == null) {
+            return;
+        }
+        removeHeader(name);
+        addHeader(name, value);
+    }
+
+    public String[] getHeader(String name) throws MessagingException {
+        ArrayList<String> values = new ArrayList<String>();
+        for (Field field : mFields) {
+            if (field.name.equalsIgnoreCase(name)) {
+                values.add(field.value);
+            }
+        }
+        if (values.size() == 0) {
+            return null;
+        }
+        return values.toArray(new String[] {});
+    }
+
+    public void removeHeader(String name) throws MessagingException {
+        ArrayList<Field> removeFields = new ArrayList<Field>();
+        for (Field field : mFields) {
+            if (field.name.equalsIgnoreCase(name)) {
+                removeFields.add(field);
+            }
+        }
+        mFields.removeAll(removeFields);
+    }
+
+    /**
+     * Write header into String
+     *
+     * @return CR-NL separated header string except the headers in writeOmitFields
+     * null if header is empty
+     */
+    public String writeToString() {
+        if (mFields.size() == 0) {
+            return null;
+        }
+        StringBuilder builder = new StringBuilder();
+        for (Field field : mFields) {
+            if (!arrayContains(WRITE_OMIT_FIELDS, field.name)) {
+                builder.append(field.name + ": " + field.value + "\r\n");
+            }
+        }
+        return builder.toString();
+    }
+
+    public void writeTo(OutputStream out) throws IOException, MessagingException {
+        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out), 1024);
+        for (Field field : mFields) {
+            if (!arrayContains(WRITE_OMIT_FIELDS, field.name)) {
+                writer.write(field.name + ": " + field.value + "\r\n");
+            }
+        }
+        writer.flush();
+    }
+
+    private static class Field {
+        final String name;
+        final String value;
+
+        public Field(String name, String value) {
+            this.name = name;
+            this.value = value;
+        }
+
+        @Override
+        public String toString() {
+            return name + "=" + value;
+        }
+    }
+
+    @Override
+    public String toString() {
+        return (mFields == null) ? null : mFields.toString();
+    }
+
+    public final static boolean arrayContains(Object[] a, Object o) {
+        int index = arrayIndex(a, o);
+        return (index >= 0);
+    }
+
+    public final static int arrayIndex(Object[] a, Object o) {
+        for (int i = 0, count = a.length; i < count; i++) {
+            if (a[i].equals(o)) {
+                return i;
+            }
+        }
+        return -1;
+    }
+}
diff --git a/src/com/android/phone/common/mail/internet/MimeMessage.java b/src/com/android/phone/common/mail/internet/MimeMessage.java
new file mode 100644
index 0000000..f4c6c88
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/MimeMessage.java
@@ -0,0 +1,675 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import com.android.phone.common.mail.Address;
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.BodyPart;
+import com.android.phone.common.mail.Message;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.Multipart;
+import com.android.phone.common.mail.Part;
+import com.android.phone.common.mail.utils.LogUtils;
+
+import org.apache.james.mime4j.BodyDescriptor;
+import org.apache.james.mime4j.ContentHandler;
+import org.apache.james.mime4j.EOLConvertingInputStream;
+import org.apache.james.mime4j.MimeStreamParser;
+import org.apache.james.mime4j.field.DateTimeField;
+import org.apache.james.mime4j.field.Field;
+
+import android.text.TextUtils;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Stack;
+import java.util.regex.Pattern;
+
+/**
+ * An implementation of Message that stores all of its metadata in RFC 822 and
+ * RFC 2045 style headers.
+ *
+ * NOTE:  Automatic generation of a local message-id is becoming unwieldy and should be removed.
+ * It would be better to simply do it explicitly on local creation of new outgoing messages.
+ */
+public class MimeMessage extends Message {
+    private MimeHeader mHeader;
+    private MimeHeader mExtendedHeader;
+
+    // NOTE:  The fields here are transcribed out of headers, and values stored here will supersede
+    // the values found in the headers.  Use caution to prevent any out-of-phase errors.  In
+    // particular, any adds/changes/deletes here must be echoed by changes in the parse() function.
+    private Address[] mFrom;
+    private Address[] mTo;
+    private Address[] mCc;
+    private Address[] mBcc;
+    private Address[] mReplyTo;
+    private Date mSentDate;
+    private Body mBody;
+    protected int mSize;
+    private boolean mInhibitLocalMessageId = false;
+    private boolean mComplete = true;
+
+    // Shared random source for generating local message-id values
+    private static final java.util.Random sRandom = new java.util.Random();
+
+    // In MIME, en_US-like date format should be used. In other words "MMM" should be encoded to
+    // "Jan", not the other localized format like "Ene" (meaning January in locale es).
+    // This conversion is used when generating outgoing MIME messages. Incoming MIME date
+    // headers are parsed by org.apache.james.mime4j.field.DateTimeField which does not have any
+    // localization code.
+    private static final SimpleDateFormat DATE_FORMAT =
+        new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.US);
+
+    // regex that matches content id surrounded by "<>" optionally.
+    private static final Pattern REMOVE_OPTIONAL_BRACKETS = Pattern.compile("^<?([^>]+)>?$");
+    // regex that matches end of line.
+    private static final Pattern END_OF_LINE = Pattern.compile("\r?\n");
+
+    public MimeMessage() {
+        mHeader = null;
+    }
+
+    /**
+     * Generate a local message id.  This is only used when none has been assigned, and is
+     * installed lazily.  Any remote (typically server-assigned) message id takes precedence.
+     * @return a long, locally-generated message-ID value
+     */
+    private static String generateMessageId() {
+        final StringBuilder sb = new StringBuilder();
+        sb.append("<");
+        for (int i = 0; i < 24; i++) {
+            // We'll use a 5-bit range (0..31)
+            final int value = sRandom.nextInt() & 31;
+            final char c = "0123456789abcdefghijklmnopqrstuv".charAt(value);
+            sb.append(c);
+        }
+        sb.append(".");
+        sb.append(Long.toString(System.currentTimeMillis()));
+        sb.append("@email.android.com>");
+        return sb.toString();
+    }
+
+    /**
+     * Parse the given InputStream using Apache Mime4J to build a MimeMessage.
+     *
+     * @param in InputStream providing message content
+     * @throws IOException
+     * @throws MessagingException
+     */
+    public MimeMessage(InputStream in) throws IOException, MessagingException {
+        parse(in);
+    }
+
+    private MimeStreamParser init() {
+        // Before parsing the input stream, clear all local fields that may be superceded by
+        // the new incoming message.
+        getMimeHeaders().clear();
+        mInhibitLocalMessageId = true;
+        mFrom = null;
+        mTo = null;
+        mCc = null;
+        mBcc = null;
+        mReplyTo = null;
+        mSentDate = null;
+        mBody = null;
+
+        final MimeStreamParser parser = new MimeStreamParser();
+        parser.setContentHandler(new MimeMessageBuilder());
+        return parser;
+    }
+
+    protected void parse(InputStream in) throws IOException, MessagingException {
+        final MimeStreamParser parser = init();
+        parser.parse(new EOLConvertingInputStream(in));
+        mComplete = !parser.getPrematureEof();
+    }
+
+    public void parse(InputStream in, EOLConvertingInputStream.Callback callback)
+            throws IOException, MessagingException {
+        final MimeStreamParser parser = init();
+        parser.parse(new EOLConvertingInputStream(in, getSize(), callback));
+        mComplete = !parser.getPrematureEof();
+    }
+
+    /**
+     * Return the internal mHeader value, with very lazy initialization.
+     * The goal is to save memory by not creating the headers until needed.
+     */
+    private MimeHeader getMimeHeaders() {
+        if (mHeader == null) {
+            mHeader = new MimeHeader();
+        }
+        return mHeader;
+    }
+
+    @Override
+    public Date getReceivedDate() throws MessagingException {
+        return null;
+    }
+
+    @Override
+    public Date getSentDate() throws MessagingException {
+        if (mSentDate == null) {
+            try {
+                DateTimeField field = (DateTimeField)Field.parse("Date: "
+                        + MimeUtility.unfoldAndDecode(getFirstHeader("Date")));
+                mSentDate = field.getDate();
+                // TODO: We should make it more clear what exceptions can be thrown here,
+                // and whether they reflect a normal or error condition.
+            } catch (Exception e) {
+                LogUtils.v(LogUtils.TAG, "Message missing Date header");
+            }
+        }
+        if (mSentDate == null) {
+            // If we still don't have a date, fall back to "Delivery-date"
+            try {
+                DateTimeField field = (DateTimeField)Field.parse("Date: "
+                        + MimeUtility.unfoldAndDecode(getFirstHeader("Delivery-date")));
+                mSentDate = field.getDate();
+                // TODO: We should make it more clear what exceptions can be thrown here,
+                // and whether they reflect a normal or error condition.
+            } catch (Exception e) {
+                LogUtils.v(LogUtils.TAG, "Message also missing Delivery-Date header");
+            }
+        }
+        return mSentDate;
+    }
+
+    @Override
+    public void setSentDate(Date sentDate) throws MessagingException {
+        setHeader("Date", DATE_FORMAT.format(sentDate));
+        this.mSentDate = sentDate;
+    }
+
+    @Override
+    public String getContentType() throws MessagingException {
+        final String contentType = getFirstHeader(MimeHeader.HEADER_CONTENT_TYPE);
+        if (contentType == null) {
+            return "text/plain";
+        } else {
+            return contentType;
+        }
+    }
+
+    @Override
+    public String getDisposition() throws MessagingException {
+        return getFirstHeader(MimeHeader.HEADER_CONTENT_DISPOSITION);
+    }
+
+    @Override
+    public String getContentId() throws MessagingException {
+        final String contentId = getFirstHeader(MimeHeader.HEADER_CONTENT_ID);
+        if (contentId == null) {
+            return null;
+        } else {
+            // remove optionally surrounding brackets.
+            return REMOVE_OPTIONAL_BRACKETS.matcher(contentId).replaceAll("$1");
+        }
+    }
+
+    public boolean isComplete() {
+        return mComplete;
+    }
+
+    @Override
+    public String getMimeType() throws MessagingException {
+        return MimeUtility.getHeaderParameter(getContentType(), null);
+    }
+
+    @Override
+    public int getSize() throws MessagingException {
+        return mSize;
+    }
+
+    /**
+     * Returns a list of the given recipient type from this message. If no addresses are
+     * found the method returns an empty array.
+     */
+    @Override
+    public Address[] getRecipients(String type) throws MessagingException {
+        if (type == RECIPIENT_TYPE_TO) {
+            if (mTo == null) {
+                mTo = Address.parse(MimeUtility.unfold(getFirstHeader("To")));
+            }
+            return mTo;
+        } else if (type == RECIPIENT_TYPE_CC) {
+            if (mCc == null) {
+                mCc = Address.parse(MimeUtility.unfold(getFirstHeader("CC")));
+            }
+            return mCc;
+        } else if (type == RECIPIENT_TYPE_BCC) {
+            if (mBcc == null) {
+                mBcc = Address.parse(MimeUtility.unfold(getFirstHeader("BCC")));
+            }
+            return mBcc;
+        } else {
+            throw new MessagingException("Unrecognized recipient type.");
+        }
+    }
+
+    @Override
+    public void setRecipients(String type, Address[] addresses) throws MessagingException {
+        final int TO_LENGTH = 4;  // "To: "
+        final int CC_LENGTH = 4;  // "Cc: "
+        final int BCC_LENGTH = 5; // "Bcc: "
+        if (type == RECIPIENT_TYPE_TO) {
+            if (addresses == null || addresses.length == 0) {
+                removeHeader("To");
+                this.mTo = null;
+            } else {
+                setHeader("To", MimeUtility.fold(Address.toHeader(addresses), TO_LENGTH));
+                this.mTo = addresses;
+            }
+        } else if (type == RECIPIENT_TYPE_CC) {
+            if (addresses == null || addresses.length == 0) {
+                removeHeader("CC");
+                this.mCc = null;
+            } else {
+                setHeader("CC", MimeUtility.fold(Address.toHeader(addresses), CC_LENGTH));
+                this.mCc = addresses;
+            }
+        } else if (type == RECIPIENT_TYPE_BCC) {
+            if (addresses == null || addresses.length == 0) {
+                removeHeader("BCC");
+                this.mBcc = null;
+            } else {
+                setHeader("BCC", MimeUtility.fold(Address.toHeader(addresses), BCC_LENGTH));
+                this.mBcc = addresses;
+            }
+        } else {
+            throw new MessagingException("Unrecognized recipient type.");
+        }
+    }
+
+    /**
+     * Returns the unfolded, decoded value of the Subject header.
+     */
+    @Override
+    public String getSubject() throws MessagingException {
+        return MimeUtility.unfoldAndDecode(getFirstHeader("Subject"));
+    }
+
+    @Override
+    public void setSubject(String subject) throws MessagingException {
+        final int HEADER_NAME_LENGTH = 9;     // "Subject: "
+        setHeader("Subject", MimeUtility.foldAndEncode2(subject, HEADER_NAME_LENGTH));
+    }
+
+    @Override
+    public Address[] getFrom() throws MessagingException {
+        if (mFrom == null) {
+            String list = MimeUtility.unfold(getFirstHeader("From"));
+            if (list == null || list.length() == 0) {
+                list = MimeUtility.unfold(getFirstHeader("Sender"));
+            }
+            mFrom = Address.parse(list);
+        }
+        return mFrom;
+    }
+
+    @Override
+    public void setFrom(Address from) throws MessagingException {
+        final int FROM_LENGTH = 6;  // "From: "
+        if (from != null) {
+            setHeader("From", MimeUtility.fold(from.toHeader(), FROM_LENGTH));
+            this.mFrom = new Address[] {
+                    from
+                };
+        } else {
+            this.mFrom = null;
+        }
+    }
+
+    @Override
+    public Address[] getReplyTo() throws MessagingException {
+        if (mReplyTo == null) {
+            mReplyTo = Address.parse(MimeUtility.unfold(getFirstHeader("Reply-to")));
+        }
+        return mReplyTo;
+    }
+
+    @Override
+    public void setReplyTo(Address[] replyTo) throws MessagingException {
+        final int REPLY_TO_LENGTH = 10;  // "Reply-to: "
+        if (replyTo == null || replyTo.length == 0) {
+            removeHeader("Reply-to");
+            mReplyTo = null;
+        } else {
+            setHeader("Reply-to", MimeUtility.fold(Address.toHeader(replyTo), REPLY_TO_LENGTH));
+            mReplyTo = replyTo;
+        }
+    }
+
+    /**
+     * Set the mime "Message-ID" header
+     * @param messageId the new Message-ID value
+     * @throws MessagingException
+     */
+    @Override
+    public void setMessageId(String messageId) throws MessagingException {
+        setHeader("Message-ID", messageId);
+    }
+
+    /**
+     * Get the mime "Message-ID" header.  This value will be preloaded with a locally-generated
+     * random ID, if the value has not previously been set.  Local generation can be inhibited/
+     * overridden by explicitly clearing the headers, removing the message-id header, etc.
+     * @return the Message-ID header string, or null if explicitly has been set to null
+     */
+    @Override
+    public String getMessageId() throws MessagingException {
+        String messageId = getFirstHeader("Message-ID");
+        if (messageId == null && !mInhibitLocalMessageId) {
+            messageId = generateMessageId();
+            setMessageId(messageId);
+        }
+        return messageId;
+    }
+
+    @Override
+    public void saveChanges() throws MessagingException {
+        throw new MessagingException("saveChanges not yet implemented");
+    }
+
+    @Override
+    public Body getBody() throws MessagingException {
+        return mBody;
+    }
+
+    @Override
+    public void setBody(Body body) throws MessagingException {
+        this.mBody = body;
+        if (body instanceof Multipart) {
+            final Multipart multipart = ((Multipart)body);
+            multipart.setParent(this);
+            setHeader(MimeHeader.HEADER_CONTENT_TYPE, multipart.getContentType());
+            setHeader("MIME-Version", "1.0");
+        }
+        else if (body instanceof TextBody) {
+            setHeader(MimeHeader.HEADER_CONTENT_TYPE, String.format("%s;\n charset=utf-8",
+                    getMimeType()));
+            setHeader(MimeHeader.HEADER_CONTENT_TRANSFER_ENCODING, "base64");
+        }
+    }
+
+    protected String getFirstHeader(String name) throws MessagingException {
+        return getMimeHeaders().getFirstHeader(name);
+    }
+
+    @Override
+    public void addHeader(String name, String value) throws MessagingException {
+        getMimeHeaders().addHeader(name, value);
+    }
+
+    @Override
+    public void setHeader(String name, String value) throws MessagingException {
+        getMimeHeaders().setHeader(name, value);
+    }
+
+    @Override
+    public String[] getHeader(String name) throws MessagingException {
+        return getMimeHeaders().getHeader(name);
+    }
+
+    @Override
+    public void removeHeader(String name) throws MessagingException {
+        getMimeHeaders().removeHeader(name);
+        if ("Message-ID".equalsIgnoreCase(name)) {
+            mInhibitLocalMessageId = true;
+        }
+    }
+
+    /**
+     * Set extended header
+     *
+     * @param name Extended header name
+     * @param value header value - flattened by removing CR-NL if any
+     * remove header if value is null
+     * @throws MessagingException
+     */
+    @Override
+    public void setExtendedHeader(String name, String value) throws MessagingException {
+        if (value == null) {
+            if (mExtendedHeader != null) {
+                mExtendedHeader.removeHeader(name);
+            }
+            return;
+        }
+        if (mExtendedHeader == null) {
+            mExtendedHeader = new MimeHeader();
+        }
+        mExtendedHeader.setHeader(name, END_OF_LINE.matcher(value).replaceAll(""));
+    }
+
+    /**
+     * Get extended header
+     *
+     * @param name Extended header name
+     * @return header value - null if header does not exist
+     * @throws MessagingException
+     */
+    @Override
+    public String getExtendedHeader(String name) throws MessagingException {
+        if (mExtendedHeader == null) {
+            return null;
+        }
+        return mExtendedHeader.getFirstHeader(name);
+    }
+
+    /**
+     * Set entire extended headers from String
+     *
+     * @param headers Extended header and its value - "CR-NL-separated pairs
+     * if null or empty, remove entire extended headers
+     * @throws MessagingException
+     */
+    public void setExtendedHeaders(String headers) throws MessagingException {
+        if (TextUtils.isEmpty(headers)) {
+            mExtendedHeader = null;
+        } else {
+            mExtendedHeader = new MimeHeader();
+            for (final String header : END_OF_LINE.split(headers)) {
+                final String[] tokens = header.split(":", 2);
+                if (tokens.length != 2) {
+                    throw new MessagingException("Illegal extended headers: " + headers);
+                }
+                mExtendedHeader.setHeader(tokens[0].trim(), tokens[1].trim());
+            }
+        }
+    }
+
+    /**
+     * Get entire extended headers as String
+     *
+     * @return "CR-NL-separated extended headers - null if extended header does not exist
+     */
+    public String getExtendedHeaders() {
+        if (mExtendedHeader != null) {
+            return mExtendedHeader.writeToString();
+        }
+        return null;
+    }
+
+    /**
+     * Write message header and body to output stream
+     *
+     * @param out Output steam to write message header and body.
+     */
+    @Override
+    public void writeTo(OutputStream out) throws IOException, MessagingException {
+        final BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out), 1024);
+        // Force creation of local message-id
+        getMessageId();
+        getMimeHeaders().writeTo(out);
+        // mExtendedHeader will not be write out to external output stream,
+        // because it is intended to internal use.
+        writer.write("\r\n");
+        writer.flush();
+        if (mBody != null) {
+            mBody.writeTo(out);
+        }
+    }
+
+    @Override
+    public InputStream getInputStream() throws MessagingException {
+        return null;
+    }
+
+    class MimeMessageBuilder implements ContentHandler {
+        private final Stack<Object> stack = new Stack<Object>();
+
+        public MimeMessageBuilder() {
+        }
+
+        private void expect(Class<?> c) {
+            if (!c.isInstance(stack.peek())) {
+                throw new IllegalStateException("Internal stack error: " + "Expected '"
+                        + c.getName() + "' found '" + stack.peek().getClass().getName() + "'");
+            }
+        }
+
+        @Override
+        public void startMessage() {
+            if (stack.isEmpty()) {
+                stack.push(MimeMessage.this);
+            } else {
+                expect(Part.class);
+                try {
+                    final MimeMessage m = new MimeMessage();
+                    ((Part)stack.peek()).setBody(m);
+                    stack.push(m);
+                } catch (MessagingException me) {
+                    throw new Error(me);
+                }
+            }
+        }
+
+        @Override
+        public void endMessage() {
+            expect(MimeMessage.class);
+            stack.pop();
+        }
+
+        @Override
+        public void startHeader() {
+            expect(Part.class);
+        }
+
+        @Override
+        public void field(String fieldData) {
+            expect(Part.class);
+            try {
+                final String[] tokens = fieldData.split(":", 2);
+                ((Part)stack.peek()).addHeader(tokens[0], tokens[1].trim());
+            } catch (MessagingException me) {
+                throw new Error(me);
+            }
+        }
+
+        @Override
+        public void endHeader() {
+            expect(Part.class);
+        }
+
+        @Override
+        public void startMultipart(BodyDescriptor bd) {
+            expect(Part.class);
+
+            final Part e = (Part)stack.peek();
+            try {
+                final MimeMultipart multiPart = new MimeMultipart(e.getContentType());
+                e.setBody(multiPart);
+                stack.push(multiPart);
+            } catch (MessagingException me) {
+                throw new Error(me);
+            }
+        }
+
+        @Override
+        public void body(BodyDescriptor bd, InputStream in) throws IOException {
+            expect(Part.class);
+            final Body body = MimeUtility.decodeBody(in, bd.getTransferEncoding());
+            try {
+                ((Part)stack.peek()).setBody(body);
+            } catch (MessagingException me) {
+                throw new Error(me);
+            }
+        }
+
+        @Override
+        public void endMultipart() {
+            stack.pop();
+        }
+
+        @Override
+        public void startBodyPart() {
+            expect(MimeMultipart.class);
+
+            try {
+                final MimeBodyPart bodyPart = new MimeBodyPart();
+                ((MimeMultipart)stack.peek()).addBodyPart(bodyPart);
+                stack.push(bodyPart);
+            } catch (MessagingException me) {
+                throw new Error(me);
+            }
+        }
+
+        @Override
+        public void endBodyPart() {
+            expect(BodyPart.class);
+            stack.pop();
+        }
+
+        @Override
+        public void epilogue(InputStream is) throws IOException {
+            expect(MimeMultipart.class);
+            final StringBuilder sb = new StringBuilder();
+            int b;
+            while ((b = is.read()) != -1) {
+                sb.append((char)b);
+            }
+            // TODO: why is this commented out?
+            // ((Multipart) stack.peek()).setEpilogue(sb.toString());
+        }
+
+        @Override
+        public void preamble(InputStream is) throws IOException {
+            expect(MimeMultipart.class);
+            final StringBuilder sb = new StringBuilder();
+            int b;
+            while ((b = is.read()) != -1) {
+                sb.append((char)b);
+            }
+            try {
+                ((MimeMultipart)stack.peek()).setPreamble(sb.toString());
+            } catch (MessagingException me) {
+                throw new Error(me);
+            }
+        }
+
+        @Override
+        public void raw(InputStream is) throws IOException {
+            throw new UnsupportedOperationException("Not supported");
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/internet/MimeMultipart.java b/src/com/android/phone/common/mail/internet/MimeMultipart.java
new file mode 100644
index 0000000..3e118e4
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/MimeMultipart.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import com.android.phone.common.mail.BodyPart;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.Multipart;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+
+public class MimeMultipart extends Multipart {
+    protected String mPreamble;
+
+    protected String mContentType;
+
+    protected String mBoundary;
+
+    protected String mSubType;
+
+    public MimeMultipart() throws MessagingException {
+        mBoundary = generateBoundary();
+        setSubType("mixed");
+    }
+
+    public MimeMultipart(String contentType) throws MessagingException {
+        this.mContentType = contentType;
+        try {
+            mSubType = MimeUtility.getHeaderParameter(contentType, null).split("/")[1];
+            mBoundary = MimeUtility.getHeaderParameter(contentType, "boundary");
+            if (mBoundary == null) {
+                throw new MessagingException("MultiPart does not contain boundary: " + contentType);
+            }
+        } catch (Exception e) {
+            throw new MessagingException(
+                    "Invalid MultiPart Content-Type; must contain subtype and boundary. ("
+                            + contentType + ")", e);
+        }
+    }
+
+    public String generateBoundary() {
+        StringBuffer sb = new StringBuffer();
+        sb.append("----");
+        for (int i = 0; i < 30; i++) {
+            sb.append(Integer.toString((int)(Math.random() * 35), 36));
+        }
+        return sb.toString().toUpperCase();
+    }
+
+    public String getPreamble() throws MessagingException {
+        return mPreamble;
+    }
+
+    public void setPreamble(String preamble) throws MessagingException {
+        this.mPreamble = preamble;
+    }
+
+    @Override
+    public String getContentType() throws MessagingException {
+        return mContentType;
+    }
+
+    public void setSubType(String subType) throws MessagingException {
+        this.mSubType = subType;
+        mContentType = String.format("multipart/%s; boundary=\"%s\"", subType, mBoundary);
+    }
+
+    @Override
+    public void writeTo(OutputStream out) throws IOException, MessagingException {
+        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out), 1024);
+
+        if (mPreamble != null) {
+            writer.write(mPreamble + "\r\n");
+        }
+
+        for (int i = 0, count = mParts.size(); i < count; i++) {
+            BodyPart bodyPart = mParts.get(i);
+            writer.write("--" + mBoundary + "\r\n");
+            writer.flush();
+            bodyPart.writeTo(out);
+            writer.write("\r\n");
+        }
+
+        writer.write("--" + mBoundary + "--\r\n");
+        writer.flush();
+    }
+
+    @Override
+    public InputStream getInputStream() throws MessagingException {
+        return null;
+    }
+
+    public String getSubTypeForTest() {
+        return mSubType;
+    }
+}
diff --git a/src/com/android/phone/common/mail/internet/MimeUtility.java b/src/com/android/phone/common/mail/internet/MimeUtility.java
new file mode 100644
index 0000000..ba5036f
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/MimeUtility.java
@@ -0,0 +1,416 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import android.text.TextUtils;
+import android.util.Base64;
+import android.util.Base64DataException;
+import android.util.Base64InputStream;
+import android.util.Log;
+
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.BodyPart;
+import com.android.phone.common.mail.Message;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.Multipart;
+import com.android.phone.common.mail.Part;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.james.mime4j.codec.EncoderUtil;
+import org.apache.james.mime4j.decoder.DecoderUtil;
+import org.apache.james.mime4j.decoder.QuotedPrintableInputStream;
+import org.apache.james.mime4j.util.CharsetUtil;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class MimeUtility {
+    private static final String LOG_TAG = "Email";
+
+    public static final String MIME_TYPE_RFC822 = "message/rfc822";
+    private final static Pattern PATTERN_CR_OR_LF = Pattern.compile("\r|\n");
+
+    /**
+     * Replace sequences of CRLF+WSP with WSP.  Tries to preserve original string
+     * object whenever possible.
+     */
+    public static String unfold(String s) {
+        if (s == null) {
+            return null;
+        }
+        Matcher patternMatcher = PATTERN_CR_OR_LF.matcher(s);
+        if (patternMatcher.find()) {
+            patternMatcher.reset();
+            s = patternMatcher.replaceAll("");
+        }
+        return s;
+    }
+
+    public static String decode(String s) {
+        if (s == null) {
+            return null;
+        }
+        return DecoderUtil.decodeEncodedWords(s);
+    }
+
+    public static String unfoldAndDecode(String s) {
+        return decode(unfold(s));
+    }
+
+    // TODO implement proper foldAndEncode
+    // NOTE: When this really works, we *must* remove all calls to foldAndEncode2() to prevent
+    // duplication of encoding.
+    public static String foldAndEncode(String s) {
+        return s;
+    }
+
+    /**
+     * INTERIM version of foldAndEncode that will be used only by Subject: headers.
+     * This is safer than implementing foldAndEncode() (see above) and risking unknown damage
+     * to other headers.
+     *
+     * TODO: Copy this code to foldAndEncode(), get rid of this function, confirm all working OK.
+     *
+     * @param s original string to encode and fold
+     * @param usedCharacters number of characters already used up by header name
+
+     * @return the String ready to be transmitted
+     */
+    public static String foldAndEncode2(String s, int usedCharacters) {
+        // james.mime4j.codec.EncoderUtil.java
+        // encode:  encodeIfNecessary(text, usage, numUsedInHeaderName)
+        // Usage.TEXT_TOKENlooks like the right thing for subjects
+        // use WORD_ENTITY for address/names
+
+        String encoded = EncoderUtil.encodeIfNecessary(s, EncoderUtil.Usage.TEXT_TOKEN,
+                usedCharacters);
+
+        return fold(encoded, usedCharacters);
+    }
+
+    /**
+     * INTERIM:  From newer version of org.apache.james (but we don't want to import
+     * the entire MimeUtil class).
+     *
+     * Splits the specified string into a multiple-line representation with
+     * lines no longer than 76 characters (because the line might contain
+     * encoded words; see <a href='http://www.faqs.org/rfcs/rfc2047.html'>RFC
+     * 2047</a> section 2). If the string contains non-whitespace sequences
+     * longer than 76 characters a line break is inserted at the whitespace
+     * character following the sequence resulting in a line longer than 76
+     * characters.
+     *
+     * @param s
+     *            string to split.
+     * @param usedCharacters
+     *            number of characters already used up. Usually the number of
+     *            characters for header field name plus colon and one space.
+     * @return a multiple-line representation of the given string.
+     */
+    public static String fold(String s, int usedCharacters) {
+        final int maxCharacters = 76;
+
+        final int length = s.length();
+        if (usedCharacters + length <= maxCharacters)
+            return s;
+
+        StringBuilder sb = new StringBuilder();
+
+        int lastLineBreak = -usedCharacters;
+        int wspIdx = indexOfWsp(s, 0);
+        while (true) {
+            if (wspIdx == length) {
+                sb.append(s.substring(Math.max(0, lastLineBreak)));
+                return sb.toString();
+            }
+
+            int nextWspIdx = indexOfWsp(s, wspIdx + 1);
+
+            if (nextWspIdx - lastLineBreak > maxCharacters) {
+                sb.append(s.substring(Math.max(0, lastLineBreak), wspIdx));
+                sb.append("\r\n");
+                lastLineBreak = wspIdx;
+            }
+
+            wspIdx = nextWspIdx;
+        }
+    }
+
+    /**
+     * INTERIM:  From newer version of org.apache.james (but we don't want to import
+     * the entire MimeUtil class).
+     *
+     * Search for whitespace.
+     */
+    private static int indexOfWsp(String s, int fromIndex) {
+        final int len = s.length();
+        for (int index = fromIndex; index < len; index++) {
+            char c = s.charAt(index);
+            if (c == ' ' || c == '\t')
+                return index;
+        }
+        return len;
+    }
+
+    /**
+     * Returns the named parameter of a header field. If name is null the first
+     * parameter is returned, or if there are no additional parameters in the
+     * field the entire field is returned. Otherwise the named parameter is
+     * searched for in a case insensitive fashion and returned. If the parameter
+     * cannot be found the method returns null.
+     *
+     * TODO: quite inefficient with the inner trimming & splitting.
+     * TODO: Also has a latent bug: uses "startsWith" to match the name, which can false-positive.
+     * TODO: The doc says that for a null name you get the first param, but you get the header.
+     *    Should probably just fix the doc, but if other code assumes that behavior, fix the code.
+     * TODO: Need to decode %-escaped strings, as in: filename="ab%22d".
+     *       ('+' -> ' ' conversion too? check RFC)
+     *
+     * @param header
+     * @param name
+     * @return the entire header (if name=null), the found parameter, or null
+     */
+    public static String getHeaderParameter(String header, String name) {
+        if (header == null) {
+            return null;
+        }
+        String[] parts = unfold(header).split(";");
+        if (name == null) {
+            return parts[0].trim();
+        }
+        String lowerCaseName = name.toLowerCase();
+        for (String part : parts) {
+            if (part.trim().toLowerCase().startsWith(lowerCaseName)) {
+                String[] parameterParts = part.split("=", 2);
+                if (parameterParts.length < 2) {
+                    return null;
+                }
+                String parameter = parameterParts[1].trim();
+                if (parameter.startsWith("\"") && parameter.endsWith("\"")) {
+                    return parameter.substring(1, parameter.length() - 1);
+                } else {
+                    return parameter;
+                }
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Reads the Part's body and returns a String based on any charset conversion that needed
+     * to be done.
+     * @param part The part containing a body
+     * @return a String containing the converted text in the body, or null if there was no text
+     * or an error during conversion.
+     */
+    public static String getTextFromPart(Part part) {
+        try {
+            if (part != null && part.getBody() != null) {
+                InputStream in = part.getBody().getInputStream();
+                String mimeType = part.getMimeType();
+                if (mimeType != null && MimeUtility.mimeTypeMatches(mimeType, "text/*")) {
+                    /*
+                     * Now we read the part into a buffer for further processing. Because
+                     * the stream is now wrapped we'll remove any transfer encoding at this point.
+                     */
+                    ByteArrayOutputStream out = new ByteArrayOutputStream();
+                    IOUtils.copy(in, out);
+                    in.close();
+                    in = null;      // we want all of our memory back, and close might not release
+
+                    /*
+                     * We've got a text part, so let's see if it needs to be processed further.
+                     */
+                    String charset = getHeaderParameter(part.getContentType(), "charset");
+                    if (charset != null) {
+                        /*
+                         * See if there is conversion from the MIME charset to the Java one.
+                         */
+                        charset = CharsetUtil.toJavaCharset(charset);
+                    }
+                    /*
+                     * No encoding, so use us-ascii, which is the standard.
+                     */
+                    if (charset == null) {
+                        charset = "ASCII";
+                    }
+                    /*
+                     * Convert and return as new String
+                     */
+                    String result = out.toString(charset);
+                    out.close();
+                    return result;
+                }
+            }
+
+        }
+        catch (OutOfMemoryError oom) {
+            /*
+             * If we are not able to process the body there's nothing we can do about it. Return
+             * null and let the upper layers handle the missing content.
+             */
+            Log.e(LOG_TAG, "Unable to getTextFromPart " + oom.toString());
+        }
+        catch (Exception e) {
+            /*
+             * If we are not able to process the body there's nothing we can do about it. Return
+             * null and let the upper layers handle the missing content.
+             */
+            Log.e(LOG_TAG, "Unable to getTextFromPart " + e.toString());
+        }
+        return null;
+    }
+
+    /**
+     * Returns true if the given mimeType matches the matchAgainst specification.  The comparison
+     * ignores case and the matchAgainst string may include "*" for a wildcard (e.g. "image/*").
+     *
+     * @param mimeType A MIME type to check.
+     * @param matchAgainst A MIME type to check against. May include wildcards.
+     * @return true if the mimeType matches
+     */
+    public static boolean mimeTypeMatches(String mimeType, String matchAgainst) {
+        Pattern p = Pattern.compile(matchAgainst.replaceAll("\\*", "\\.\\*"),
+                Pattern.CASE_INSENSITIVE);
+        return p.matcher(mimeType).matches();
+    }
+
+    /**
+     * Returns true if the given mimeType matches any of the matchAgainst specifications.  The
+     * comparison ignores case and the matchAgainst strings may include "*" for a wildcard
+     * (e.g. "image/*").
+     *
+     * @param mimeType A MIME type to check.
+     * @param matchAgainst An array of MIME types to check against. May include wildcards.
+     * @return true if the mimeType matches any of the matchAgainst strings
+     */
+    public static boolean mimeTypeMatches(String mimeType, String[] matchAgainst) {
+        for (String matchType : matchAgainst) {
+            if (mimeTypeMatches(mimeType, matchType)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Given an input stream and a transfer encoding, return a wrapped input stream for that
+     * encoding (or the original if none is required)
+     * @param in the input stream
+     * @param contentTransferEncoding the content transfer encoding
+     * @return a properly wrapped stream
+     */
+    public static InputStream getInputStreamForContentTransferEncoding(InputStream in,
+            String contentTransferEncoding) {
+        if (contentTransferEncoding != null) {
+            contentTransferEncoding =
+                MimeUtility.getHeaderParameter(contentTransferEncoding, null);
+            if ("quoted-printable".equalsIgnoreCase(contentTransferEncoding)) {
+                in = new QuotedPrintableInputStream(in);
+            }
+            else if ("base64".equalsIgnoreCase(contentTransferEncoding)) {
+                in = new Base64InputStream(in, Base64.DEFAULT);
+            }
+        }
+        return in;
+    }
+
+    /**
+     * Removes any content transfer encoding from the stream and returns a Body.
+     */
+    public static Body decodeBody(InputStream in, String contentTransferEncoding)
+            throws IOException {
+        /*
+         * We'll remove any transfer encoding by wrapping the stream.
+         */
+        in = getInputStreamForContentTransferEncoding(in, contentTransferEncoding);
+        BinaryTempFileBody tempBody = new BinaryTempFileBody();
+        OutputStream out = tempBody.getOutputStream();
+        try {
+            IOUtils.copy(in, out);
+        } catch (Base64DataException bde) {
+            // TODO Need to fix this somehow
+            //String warning = "\n\n" + Email.getMessageDecodeErrorString();
+            //out.write(warning.getBytes());
+        } finally {
+            out.close();
+        }
+        return tempBody;
+    }
+
+    /**
+     * Recursively scan a Part (usually a Message) and sort out which of its children will be
+     * "viewable" and which will be attachments.
+     *
+     * @param part The part to be broken down
+     * @param viewables This arraylist will be populated with all parts that appear to be
+     * the "message" (e.g. text/plain & text/html)
+     * @param attachments This arraylist will be populated with all parts that appear to be
+     * attachments (including inlines)
+     * @throws MessagingException
+     */
+    public static void collectParts(Part part, ArrayList<Part> viewables,
+            ArrayList<Part> attachments) throws MessagingException {
+        String disposition = part.getDisposition();
+        String dispositionType = MimeUtility.getHeaderParameter(disposition, null);
+        // If a disposition is not specified, default to "inline"
+        boolean inline =
+                TextUtils.isEmpty(dispositionType) || "inline".equalsIgnoreCase(dispositionType);
+        // The lower-case mime type
+        String mimeType = part.getMimeType().toLowerCase();
+
+        if (part.getBody() instanceof Multipart) {
+            // If the part is Multipart but not alternative it's either mixed or
+            // something we don't know about, which means we treat it as mixed
+            // per the spec. We just process its pieces recursively.
+            MimeMultipart mp = (MimeMultipart)part.getBody();
+            boolean foundHtml = false;
+            if (mp.getSubTypeForTest().equals("alternative")) {
+                for (int i = 0; i < mp.getCount(); i++) {
+                    if (mp.getBodyPart(i).isMimeType("text/html")) {
+                        foundHtml = true;
+                        break;
+                    }
+                }
+            }
+            for (int i = 0; i < mp.getCount(); i++) {
+                // See if we have text and html
+                BodyPart bp = mp.getBodyPart(i);
+                // If there's html, don't bother loading text
+                if (foundHtml && bp.isMimeType("text/plain")) {
+                    continue;
+                }
+                collectParts(bp, viewables, attachments);
+            }
+        } else if (part.getBody() instanceof Message) {
+            // If the part is an embedded message we just continue to process
+            // it, pulling any viewables or attachments into the running list.
+            Message message = (Message)part.getBody();
+            collectParts(message, viewables, attachments);
+        } else if (inline && (mimeType.startsWith("text") || (mimeType.startsWith("image")))) {
+            // We'll treat text and images as viewables
+            viewables.add(part);
+        } else {
+            // Everything else is an attachment.
+            attachments.add(part);
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/internet/TextBody.java b/src/com/android/phone/common/mail/internet/TextBody.java
new file mode 100644
index 0000000..77bbd65
--- /dev/null
+++ b/src/com/android/phone/common/mail/internet/TextBody.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2015 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.common.mail.internet;
+
+import android.util.Base64;
+
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.MessagingException;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.UnsupportedEncodingException;
+
+public class TextBody implements Body {
+    String mBody;
+
+    public TextBody(String body) {
+        this.mBody = body;
+    }
+
+    @Override
+    public void writeTo(OutputStream out) throws IOException, MessagingException {
+        byte[] bytes = mBody.getBytes("UTF-8");
+        out.write(Base64.encode(bytes, Base64.CRLF));
+    }
+
+    /**
+     * Get the text of the body in it's unencoded format.
+     * @return
+     */
+    public String getText() {
+        return mBody;
+    }
+
+    /**
+     * Returns an InputStream that reads this body's text in UTF-8 format.
+     */
+    @Override
+    public InputStream getInputStream() throws MessagingException {
+        try {
+            byte[] b = mBody.getBytes("UTF-8");
+            return new ByteArrayInputStream(b);
+        }
+        catch (UnsupportedEncodingException usee) {
+            return null;
+        }
+    }
+}
diff --git a/src/com/android/phone/common/mail/store/ImapConnection.java b/src/com/android/phone/common/mail/store/ImapConnection.java
new file mode 100644
index 0000000..ace7029
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/ImapConnection.java
@@ -0,0 +1,246 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store;
+
+import android.text.TextUtils;
+
+import com.android.phone.common.mail.AuthenticationFailedException;
+import com.android.phone.common.mail.CertificateValidationException;
+import com.android.phone.common.mail.MailTransport;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.store.imap.ImapConstants;
+import com.android.phone.common.mail.store.imap.ImapResponse;
+import com.android.phone.common.mail.store.imap.ImapResponseParser;
+import com.android.phone.common.mail.store.imap.ImapUtility;
+import com.android.phone.common.mail.utils.LogUtils;
+import com.android.phone.common.mail.store.ImapStore.ImapException;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import javax.net.ssl.SSLException;
+
+/**
+ * A cacheable class that stores the details for a single IMAP connection.
+ */
+public class ImapConnection {
+    private final String TAG = "ImapConnection";
+
+    private String mLoginPhrase;
+    private ImapStore mImapStore;
+    private MailTransport mTransport;
+    private ImapResponseParser mParser;
+
+    static final String IMAP_REDACTED_LOG = "[IMAP command redacted]";
+
+    /**
+     * Next tag to use.  All connections associated to the same ImapStore instance share the same
+     * counter to make tests simpler.
+     * (Some of the tests involve multiple connections but only have a single counter to track the
+     * tag.)
+     */
+    private final AtomicInteger mNextCommandTag = new AtomicInteger(0);
+
+    ImapConnection(ImapStore store) {
+        setStore(store);
+    }
+
+    void setStore(ImapStore store) {
+        // TODO: maybe we should throw an exception if the connection is not closed here,
+        // if it's not currently closed, then we won't reopen it, so if the credentials have
+        // changed, the connection will not be reestablished.
+        mImapStore = store;
+        mLoginPhrase = null;
+    }
+
+    /**
+     * Generates and returns the phrase to be used for authentication. This will be a LOGIN with
+     * username and password.
+     *
+     * @return the login command string to sent to the IMAP server
+     */
+    String getLoginPhrase() {
+        if (mLoginPhrase == null) {
+            if (mImapStore.getUsername() != null && mImapStore.getPassword() != null) {
+                // build the LOGIN string once (instead of over-and-over again.)
+                // apply the quoting here around the built-up password
+                mLoginPhrase = ImapConstants.LOGIN + " " + mImapStore.getUsername() + " "
+                        + ImapUtility.imapQuoted(mImapStore.getPassword());
+            }
+        }
+        return mLoginPhrase;
+    }
+
+    void open() throws IOException, MessagingException {
+        if (mTransport != null && mTransport.isOpen()) {
+            return;
+        }
+
+        try {
+            // copy configuration into a clean transport, if necessary
+            if (mTransport == null) {
+                mTransport = mImapStore.cloneTransport();
+            }
+
+            mTransport.open();
+
+            createParser();
+
+            // LOGIN
+            doLogin();
+        } catch (SSLException e) {
+            LogUtils.d(TAG, "SSLException ", e);
+            throw new CertificateValidationException(e.getMessage(), e);
+        } catch (IOException ioe) {
+            LogUtils.d(TAG, "IOException", ioe);
+            throw ioe;
+        } finally {
+            destroyResponses();
+        }
+    }
+
+    /**
+     * Closes the connection and releases all resources. This connection can not be used again
+     * until {@link #setStore(ImapStore)} is called.
+     */
+    void close() {
+        if (mTransport != null) {
+            mTransport.close();
+            mTransport = null;
+        }
+        destroyResponses();
+        mParser = null;
+        mImapStore = null;
+    }
+
+    /**
+     * Logs into the IMAP server
+     */
+    private void doLogin() throws IOException, MessagingException, AuthenticationFailedException {
+        try {
+            executeSimpleCommand(getLoginPhrase(), true);
+        } catch (ImapException ie) {
+            LogUtils.d(TAG, "ImapException", ie);
+            final String status = ie.getStatus();
+            final String code = ie.getResponseCode();
+            final String alertText = ie.getAlertText();
+
+            // if the response code indicates expired or bad credentials, throw a special exception
+            if (ImapConstants.AUTHENTICATIONFAILED.equals(code) ||
+                    ImapConstants.EXPIRED.equals(code) ||
+                    (ImapConstants.NO.equals(status) && TextUtils.isEmpty(code))) {
+                throw new AuthenticationFailedException(alertText, ie);
+            }
+
+            throw new MessagingException(alertText, ie);
+        }
+    }
+
+    /**
+     * Create an {@link ImapResponseParser} from {@code mTransport.getInputStream()} and
+     * set it to {@link #mParser}.
+     *
+     * If we already have an {@link ImapResponseParser}, we
+     * {@link #destroyResponses()} and throw it away.
+     */
+    private void createParser() {
+        destroyResponses();
+        mParser = new ImapResponseParser(mTransport.getInputStream());
+    }
+
+
+    void destroyResponses() {
+        if (mParser != null) {
+            mParser.destroyResponses();
+        }
+    }
+
+    ImapResponse readResponse() throws IOException, MessagingException {
+        return mParser.readResponse();
+    }
+
+    List<ImapResponse> executeSimpleCommand(String command)
+            throws IOException, MessagingException{
+        return executeSimpleCommand(command, false);
+    }
+
+    /**
+     * Send a single command to the server.  The command will be preceded by an IMAP command
+     * tag and followed by \r\n (caller need not supply them).
+     * Execute a simple command at the server, a simple command being one that is sent in a single
+     * line of text
+     *
+     * @param command the command to send to the server
+     * @param sensitive whether the command should be redacted in logs (used for login)
+     * @return a list of ImapResponses
+     * @throws IOException
+     * @throws MessagingException
+     */
+    List<ImapResponse> executeSimpleCommand(String command, boolean sensitive)
+            throws IOException, MessagingException {
+        // TODO: It may be nice to catch IOExceptions and close the connection here.
+        // Currently, we expect callers to do that, but if they fail to we'll be in a broken state.
+        sendCommand(command, sensitive);
+        return getCommandResponses();
+    }
+
+    String sendCommand(String command, boolean sensitive) throws IOException, MessagingException {
+        open();
+
+        if (mTransport == null) {
+            throw new IOException("Null transport");
+        }
+        String tag = Integer.toString(mNextCommandTag.incrementAndGet());
+        String commandToSend = tag + " " + command;
+        mTransport.writeLine(commandToSend, (sensitive ? IMAP_REDACTED_LOG : command));
+
+        return tag;
+    }
+
+    /**
+     * Read and return all of the responses from the most recent command sent to the server
+     *
+     * @return a list of ImapResponses
+     * @throws IOException
+     * @throws MessagingException
+     */
+    List<ImapResponse> getCommandResponses() throws IOException, MessagingException {
+        final List<ImapResponse> responses = new ArrayList<ImapResponse>();
+        ImapResponse response;
+        do {
+            response = mParser.readResponse();
+            responses.add(response);
+        } while (!response.isTagged());
+
+        if (!response.isOk()) {
+            final String toString = response.toString();
+            final String status = response.getStatusOrEmpty().getString();
+            final String alert = response.getAlertTextOrEmpty().getString();
+            final String responseCode = response.getResponseCodeOrEmpty().getString();
+            destroyResponses();
+
+            // if the response code indicates an error occurred within the server, indicate that
+            if (ImapConstants.UNAVAILABLE.equals(responseCode)) {
+                throw new MessagingException(MessagingException.SERVER_ERROR, alert);
+            }
+
+            throw new ImapException(toString, status, alert, responseCode);
+        }
+        return responses;
+    }
+}
diff --git a/src/com/android/phone/common/mail/store/ImapFolder.java b/src/com/android/phone/common/mail/store/ImapFolder.java
new file mode 100644
index 0000000..faeb93f
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/ImapFolder.java
@@ -0,0 +1,767 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Base64DataException;
+
+import com.android.phone.common.mail.store.ImapStore.ImapException;
+import com.android.phone.common.mail.store.ImapStore.ImapMessage;
+import com.android.phone.common.mail.store.imap.ImapConstants;
+import com.android.phone.common.mail.store.imap.ImapElement;
+import com.android.phone.common.mail.store.imap.ImapList;
+import com.android.phone.common.mail.store.imap.ImapResponse;
+import com.android.phone.common.mail.store.imap.ImapString;
+import com.android.phone.common.mail.store.imap.ImapUtility;
+import com.android.phone.common.mail.AuthenticationFailedException;
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.FetchProfile;
+import com.android.phone.common.mail.Flag;
+import com.android.phone.common.mail.Message;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.Part;
+import com.android.phone.common.mail.internet.BinaryTempFileBody;
+import com.android.phone.common.mail.internet.MimeBodyPart;
+import com.android.phone.common.mail.internet.MimeHeader;
+import com.android.phone.common.mail.internet.MimeMultipart;
+import com.android.phone.common.mail.internet.MimeUtility;
+import com.android.phone.common.mail.utility.CountingOutputStream;
+import com.android.phone.common.mail.utility.EOLConvertingOutputStream;
+import com.android.phone.common.mail.utils.Utility;
+import com.android.phone.common.mail.utils.LogUtils;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.phone.common.R;
+
+import org.apache.commons.io.IOUtils;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.TimeZone;
+
+public class ImapFolder {
+    private static final String TAG = "ImapFolder";
+    private final static String[] PERMANENT_FLAGS =
+        { Flag.DELETED, Flag.SEEN, Flag.FLAGGED, Flag.ANSWERED };
+    private static final int COPY_BUFFER_SIZE = 16*1024;
+
+    private final ImapStore mStore;
+    private final String mName;
+    private int mMessageCount = -1;
+    private ImapConnection mConnection;
+    private String mMode;
+    private boolean mExists;
+    /** A set of hashes that can be used to track dirtiness */
+    Object mHash[];
+
+    public static final String MODE_READ_ONLY = "mode_read_only";
+    public static final String MODE_READ_WRITE = "mode_read_write";
+
+    public ImapFolder(ImapStore store, String name) {
+        mStore = store;
+        mName = name;
+    }
+
+    /**
+     * Callback for each message retrieval.
+     */
+    public interface MessageRetrievalListener {
+        public void messageRetrieved(Message message);
+    }
+
+    private void destroyResponses() {
+        if (mConnection != null) {
+            mConnection.destroyResponses();
+        }
+    }
+
+    public void open(String mode) throws MessagingException {
+        try {
+            if (isOpen()) {
+                if (mMode == mode) {
+                    // Make sure the connection is valid.
+                    // If it's not we'll close it down and continue on to get a new one.
+                    try {
+                        mConnection.executeSimpleCommand(ImapConstants.NOOP);
+                        return;
+
+                    } catch (IOException ioe) {
+                        ioExceptionHandler(mConnection, ioe);
+                    } finally {
+                        destroyResponses();
+                    }
+                } else {
+                    // Return the connection to the pool, if exists.
+                    close(false);
+                }
+            }
+            synchronized (this) {
+                mConnection = mStore.getConnection();
+            }
+            // * FLAGS (\Answered \Flagged \Deleted \Seen \Draft NonJunk
+            // $MDNSent)
+            // * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft
+            // NonJunk $MDNSent \*)] Flags permitted.
+            // * 23 EXISTS
+            // * 0 RECENT
+            // * OK [UIDVALIDITY 1125022061] UIDs valid
+            // * OK [UIDNEXT 57576] Predicted next UID
+            // 2 OK [READ-WRITE] Select completed.
+            try {
+                doSelect();
+            } catch (IOException ioe) {
+                throw ioExceptionHandler(mConnection, ioe);
+            } finally {
+                destroyResponses();
+            }
+        } catch (AuthenticationFailedException e) {
+            // Don't cache this connection, so we're forced to try connecting/login again
+            mConnection = null;
+            close(false);
+            throw e;
+        } catch (MessagingException e) {
+            mExists = false;
+            close(false);
+            throw e;
+        }
+    }
+
+    public boolean isOpen() {
+        return mExists && mConnection != null;
+    }
+
+    public String getMode() {
+        return mMode;
+    }
+
+    public void close(boolean expunge) {
+        if (expunge) {
+            try {
+                expunge();
+            } catch (MessagingException e) {
+                LogUtils.e(TAG, e, "Messaging Exception");
+            }
+        }
+        mMessageCount = -1;
+        synchronized (this) {
+            mStore.closeConnection();
+            mConnection = null;
+        }
+    }
+
+    public int getMessageCount() {
+        return mMessageCount;
+    }
+
+    String[] getSearchUids(List<ImapResponse> responses) {
+        // S: * SEARCH 2 3 6
+        final ArrayList<String> uids = new ArrayList<String>();
+        for (ImapResponse response : responses) {
+            if (!response.isDataResponse(0, ImapConstants.SEARCH)) {
+                continue;
+            }
+            // Found SEARCH response data
+            for (int i = 1; i < response.size(); i++) {
+                ImapString s = response.getStringOrEmpty(i);
+                if (s.isString()) {
+                    uids.add(s.getString());
+                }
+            }
+        }
+        return uids.toArray(Utility.EMPTY_STRINGS);
+    }
+
+    @VisibleForTesting
+    String[] searchForUids(String searchCriteria) throws MessagingException {
+        checkOpen();
+        try {
+            try {
+                final String command = ImapConstants.UID_SEARCH + " " + searchCriteria;
+                final String[] result = getSearchUids(mConnection.executeSimpleCommand(command));
+                LogUtils.d(TAG, "searchForUids '" + searchCriteria + "' results: " +
+                        result.length);
+                return result;
+            } catch (ImapException me) {
+                LogUtils.d(TAG, "ImapException in search: " + searchCriteria, me);
+                return Utility.EMPTY_STRINGS; // Not found
+            } catch (IOException ioe) {
+                LogUtils.d(TAG, "IOException in search: " + searchCriteria, ioe);
+                throw ioExceptionHandler(mConnection, ioe);
+            }
+        } finally {
+            destroyResponses();
+        }
+    }
+
+
+    public Message getMessage(String uid) throws MessagingException {
+        checkOpen();
+
+        final String[] uids = searchForUids(ImapConstants.UID + " " + uid);
+        for (int i = 0; i < uids.length; i++) {
+            if (uids[i].equals(uid)) {
+                return new ImapMessage(uid, this);
+            }
+        }
+        return null;
+    }
+
+    @VisibleForTesting
+    protected static boolean isAsciiString(String str) {
+        int len = str.length();
+        for (int i = 0; i < len; i++) {
+            char c = str.charAt(i);
+            if (c >= 128) return false;
+        }
+        return true;
+    }
+
+    public Message[] getMessages(String[] uids) throws MessagingException {
+        if (uids == null) {
+            uids = searchForUids("1:* NOT DELETED");
+        }
+        return getMessagesInternal(uids);
+    }
+
+    public Message[] getMessagesInternal(String[] uids) {
+        final ArrayList<Message> messages = new ArrayList<Message>(uids.length);
+        for (int i = 0; i < uids.length; i++) {
+            final String uid = uids[i];
+            final ImapMessage message = new ImapMessage(uid, this);
+            messages.add(message);
+        }
+        return messages.toArray(Message.EMPTY_ARRAY);
+    }
+
+    public void fetch(Message[] messages, FetchProfile fp,
+            MessageRetrievalListener listener) throws MessagingException {
+        try {
+            fetchInternal(messages, fp, listener);
+        } catch (RuntimeException e) { // Probably a parser error.
+            LogUtils.w(TAG, "Exception detected: " + e.getMessage());
+            throw e;
+        }
+    }
+
+    public void fetchInternal(Message[] messages, FetchProfile fp,
+            MessageRetrievalListener listener) throws MessagingException {
+        if (messages.length == 0) {
+            return;
+        }
+        checkOpen();
+        HashMap<String, Message> messageMap = new HashMap<String, Message>();
+        for (Message m : messages) {
+            messageMap.put(m.getUid(), m);
+        }
+
+        /*
+         * Figure out what command we are going to run:
+         * FLAGS     - UID FETCH (FLAGS)
+         * ENVELOPE  - UID FETCH (INTERNALDATE UID RFC822.SIZE FLAGS BODY.PEEK[
+         *                            HEADER.FIELDS (date subject from content-type to cc)])
+         * STRUCTURE - UID FETCH (BODYSTRUCTURE)
+         * BODY_SANE - UID FETCH (BODY.PEEK[]<0.N>) where N = max bytes returned
+         * BODY      - UID FETCH (BODY.PEEK[])
+         * Part      - UID FETCH (BODY.PEEK[ID]) where ID = mime part ID
+         */
+
+        final LinkedHashSet<String> fetchFields = new LinkedHashSet<String>();
+
+        fetchFields.add(ImapConstants.UID);
+        if (fp.contains(FetchProfile.Item.FLAGS)) {
+            fetchFields.add(ImapConstants.FLAGS);
+        }
+        if (fp.contains(FetchProfile.Item.ENVELOPE)) {
+            fetchFields.add(ImapConstants.INTERNALDATE);
+            fetchFields.add(ImapConstants.RFC822_SIZE);
+            fetchFields.add(ImapConstants.FETCH_FIELD_HEADERS);
+        }
+        if (fp.contains(FetchProfile.Item.STRUCTURE)) {
+            fetchFields.add(ImapConstants.BODYSTRUCTURE);
+        }
+
+        if (fp.contains(FetchProfile.Item.BODY_SANE)) {
+            fetchFields.add(ImapConstants.FETCH_FIELD_BODY_PEEK_SANE);
+        }
+        if (fp.contains(FetchProfile.Item.BODY)) {
+            fetchFields.add(ImapConstants.FETCH_FIELD_BODY_PEEK);
+        }
+
+        // TODO Why are we only fetching the first part given?
+        final Part fetchPart = fp.getFirstPart();
+        if (fetchPart != null) {
+            final String[] partIds =
+                    fetchPart.getHeader(MimeHeader.HEADER_ANDROID_ATTACHMENT_STORE_DATA);
+            // TODO Why can a single part have more than one Id? And why should we only fetch
+            // the first id if there are more than one?
+            if (partIds != null) {
+                fetchFields.add(ImapConstants.FETCH_FIELD_BODY_PEEK_BARE
+                        + "[" + partIds[0] + "]");
+            }
+        }
+
+        try {
+            mConnection.sendCommand(String.format(Locale.US,
+                    ImapConstants.UID_FETCH + " %s (%s)", ImapStore.joinMessageUids(messages),
+                    Utility.combine(fetchFields.toArray(new String[fetchFields.size()]), ' ')
+                    ), false);
+            ImapResponse response;
+            do {
+                response = null;
+                try {
+                    response = mConnection.readResponse();
+
+                    if (!response.isDataResponse(1, ImapConstants.FETCH)) {
+                        continue; // Ignore
+                    }
+                    final ImapList fetchList = response.getListOrEmpty(2);
+                    final String uid = fetchList.getKeyedStringOrEmpty(ImapConstants.UID)
+                            .getString();
+                    if (TextUtils.isEmpty(uid)) continue;
+
+                    ImapMessage message = (ImapMessage) messageMap.get(uid);
+                    if (message == null) continue;
+
+                    if (fp.contains(FetchProfile.Item.FLAGS)) {
+                        final ImapList flags =
+                            fetchList.getKeyedListOrEmpty(ImapConstants.FLAGS);
+                        for (int i = 0, count = flags.size(); i < count; i++) {
+                            final ImapString flag = flags.getStringOrEmpty(i);
+                            if (flag.is(ImapConstants.FLAG_DELETED)) {
+                                message.setFlagInternal(Flag.DELETED, true);
+                            } else if (flag.is(ImapConstants.FLAG_ANSWERED)) {
+                                message.setFlagInternal(Flag.ANSWERED, true);
+                            } else if (flag.is(ImapConstants.FLAG_SEEN)) {
+                                message.setFlagInternal(Flag.SEEN, true);
+                            } else if (flag.is(ImapConstants.FLAG_FLAGGED)) {
+                                message.setFlagInternal(Flag.FLAGGED, true);
+                            }
+                        }
+                    }
+                    if (fp.contains(FetchProfile.Item.ENVELOPE)) {
+                        final Date internalDate = fetchList.getKeyedStringOrEmpty(
+                                ImapConstants.INTERNALDATE).getDateOrNull();
+                        final int size = fetchList.getKeyedStringOrEmpty(
+                                ImapConstants.RFC822_SIZE).getNumberOrZero();
+                        final String header = fetchList.getKeyedStringOrEmpty(
+                                ImapConstants.BODY_BRACKET_HEADER, true).getString();
+
+                        message.setInternalDate(internalDate);
+                        message.setSize(size);
+                        message.parse(Utility.streamFromAsciiString(header));
+                    }
+                    if (fp.contains(FetchProfile.Item.STRUCTURE)) {
+                        ImapList bs = fetchList.getKeyedListOrEmpty(
+                                ImapConstants.BODYSTRUCTURE);
+                        if (!bs.isEmpty()) {
+                            try {
+                                parseBodyStructure(bs, message, ImapConstants.TEXT);
+                            } catch (MessagingException e) {
+                                LogUtils.v(TAG, e, "Error handling message");
+                                message.setBody(null);
+                            }
+                        }
+                    }
+                    if (fp.contains(FetchProfile.Item.BODY)
+                            || fp.contains(FetchProfile.Item.BODY_SANE)) {
+                        // Body is keyed by "BODY[]...".
+                        // Previously used "BODY[..." but this can be confused with "BODY[HEADER..."
+                        // TODO Should we accept "RFC822" as well??
+                        ImapString body = fetchList.getKeyedStringOrEmpty("BODY[]", true);
+                        InputStream bodyStream = body.getAsStream();
+                        message.parse(bodyStream);
+                    }
+                    if (fetchPart != null) {
+                        InputStream bodyStream =
+                                fetchList.getKeyedStringOrEmpty("BODY[", true).getAsStream();
+                        String encodings[] = fetchPart.getHeader(
+                                MimeHeader.HEADER_CONTENT_TRANSFER_ENCODING);
+
+                        String contentTransferEncoding = null;
+                        if (encodings != null && encodings.length > 0) {
+                            contentTransferEncoding = encodings[0];
+                        } else {
+                            // According to http://tools.ietf.org/html/rfc2045#section-6.1
+                            // "7bit" is the default.
+                            contentTransferEncoding = "7bit";
+                        }
+
+                        try {
+                            // TODO Don't create 2 temp files.
+                            // decodeBody creates BinaryTempFileBody, but we could avoid this
+                            // if we implement ImapStringBody.
+                            // (We'll need to share a temp file.  Protect it with a ref-count.)
+                            fetchPart.setBody(decodeBody(mStore.getContext(), bodyStream,
+                                    contentTransferEncoding, fetchPart.getSize(), listener));
+                        } catch(Exception e) {
+                            // TODO: Figure out what kinds of exceptions might actually be thrown
+                            // from here. This blanket catch-all is because we're not sure what to
+                            // do if we don't have a contentTransferEncoding, and we don't have
+                            // time to figure out what exceptions might be thrown.
+                            LogUtils.e(TAG, "Error fetching body %s", e);
+                        }
+                    }
+
+                    if (listener != null) {
+                        listener.messageRetrieved(message);
+                    }
+                } finally {
+                    destroyResponses();
+                }
+            } while (!response.isTagged());
+        } catch (IOException ioe) {
+            throw ioExceptionHandler(mConnection, ioe);
+        }
+    }
+
+    /**
+     * Removes any content transfer encoding from the stream and returns a Body.
+     * This code is taken/condensed from MimeUtility.decodeBody
+     */
+    private static Body decodeBody(Context context,InputStream in, String contentTransferEncoding,
+            int size, MessageRetrievalListener listener) throws IOException {
+        // Get a properly wrapped input stream
+        in = MimeUtility.getInputStreamForContentTransferEncoding(in, contentTransferEncoding);
+        BinaryTempFileBody tempBody = new BinaryTempFileBody();
+        OutputStream out = tempBody.getOutputStream();
+        try {
+            byte[] buffer = new byte[COPY_BUFFER_SIZE];
+            int n = 0;
+            int count = 0;
+            while (-1 != (n = in.read(buffer))) {
+                out.write(buffer, 0, n);
+                count += n;
+            }
+        } catch (Base64DataException bde) {
+            String warning = "\n\n" + context.getString(R.string.message_decode_error);
+            out.write(warning.getBytes());
+        } finally {
+            out.close();
+        }
+        return tempBody;
+    }
+
+    public String[] getPermanentFlags() {
+        return PERMANENT_FLAGS;
+    }
+
+    /**
+     * Handle any untagged responses that the caller doesn't care to handle themselves.
+     * @param responses
+     */
+    private void handleUntaggedResponses(List<ImapResponse> responses) {
+        for (ImapResponse response : responses) {
+            handleUntaggedResponse(response);
+        }
+    }
+
+    /**
+     * Handle an untagged response that the caller doesn't care to handle themselves.
+     * @param response
+     */
+    private void handleUntaggedResponse(ImapResponse response) {
+        if (response.isDataResponse(1, ImapConstants.EXISTS)) {
+            mMessageCount = response.getStringOrEmpty(0).getNumberOrZero();
+        }
+    }
+
+    private static void parseBodyStructure(ImapList bs, Part part, String id)
+            throws MessagingException {
+        if (bs.getElementOrNone(0).isList()) {
+            /*
+             * This is a multipart/*
+             */
+            MimeMultipart mp = new MimeMultipart();
+            for (int i = 0, count = bs.size(); i < count; i++) {
+                ImapElement e = bs.getElementOrNone(i);
+                if (e.isList()) {
+                    /*
+                     * For each part in the message we're going to add a new BodyPart and parse
+                     * into it.
+                     */
+                    MimeBodyPart bp = new MimeBodyPart();
+                    if (id.equals(ImapConstants.TEXT)) {
+                        parseBodyStructure(bs.getListOrEmpty(i), bp, Integer.toString(i + 1));
+
+                    } else {
+                        parseBodyStructure(bs.getListOrEmpty(i), bp, id + "." + (i + 1));
+                    }
+                    mp.addBodyPart(bp);
+
+                } else {
+                    if (e.isString()) {
+                        mp.setSubType(bs.getStringOrEmpty(i).getString().toLowerCase(Locale.US));
+                    }
+                    break; // Ignore the rest of the list.
+                }
+            }
+            part.setBody(mp);
+        } else {
+            /*
+             * This is a body. We need to add as much information as we can find out about
+             * it to the Part.
+             */
+
+            /*
+             body type
+             body subtype
+             body parameter parenthesized list
+             body id
+             body description
+             body encoding
+             body size
+             */
+
+            final ImapString type = bs.getStringOrEmpty(0);
+            final ImapString subType = bs.getStringOrEmpty(1);
+            final String mimeType =
+                    (type.getString() + "/" + subType.getString()).toLowerCase(Locale.US);
+
+            final ImapList bodyParams = bs.getListOrEmpty(2);
+            final ImapString cid = bs.getStringOrEmpty(3);
+            final ImapString encoding = bs.getStringOrEmpty(5);
+            final int size = bs.getStringOrEmpty(6).getNumberOrZero();
+
+            if (MimeUtility.mimeTypeMatches(mimeType, MimeUtility.MIME_TYPE_RFC822)) {
+                // A body type of type MESSAGE and subtype RFC822
+                // contains, immediately after the basic fields, the
+                // envelope structure, body structure, and size in
+                // text lines of the encapsulated message.
+                // [MESSAGE, RFC822, [NAME, filename.eml], NIL, NIL, 7BIT, 5974, NIL,
+                //     [INLINE, [FILENAME*0, Fwd: Xxx..., FILENAME*1, filename.eml]], NIL]
+                /*
+                 * This will be caught by fetch and handled appropriately.
+                 */
+                throw new MessagingException("BODYSTRUCTURE " + MimeUtility.MIME_TYPE_RFC822
+                        + " not yet supported.");
+            }
+
+            /*
+             * Set the content type with as much information as we know right now.
+             */
+            final StringBuilder contentType = new StringBuilder(mimeType);
+
+            /*
+             * If there are body params we might be able to get some more information out
+             * of them.
+             */
+            for (int i = 1, count = bodyParams.size(); i < count; i += 2) {
+
+                // TODO We need to convert " into %22, but
+                // because MimeUtility.getHeaderParameter doesn't recognize it,
+                // we can't fix it for now.
+                contentType.append(String.format(";\n %s=\"%s\"",
+                        bodyParams.getStringOrEmpty(i - 1).getString(),
+                        bodyParams.getStringOrEmpty(i).getString()));
+            }
+
+            part.setHeader(MimeHeader.HEADER_CONTENT_TYPE, contentType.toString());
+
+            // Extension items
+            final ImapList bodyDisposition;
+
+            if (type.is(ImapConstants.TEXT) && bs.getElementOrNone(9).isList()) {
+                // If media-type is TEXT, 9th element might be: [body-fld-lines] := number
+                // So, if it's not a list, use 10th element.
+                // (Couldn't find evidence in the RFC if it's ALWAYS 10th element.)
+                bodyDisposition = bs.getListOrEmpty(9);
+            } else {
+                bodyDisposition = bs.getListOrEmpty(8);
+            }
+
+            final StringBuilder contentDisposition = new StringBuilder();
+
+            if (bodyDisposition.size() > 0) {
+                final String bodyDisposition0Str =
+                        bodyDisposition.getStringOrEmpty(0).getString().toLowerCase(Locale.US);
+                if (!TextUtils.isEmpty(bodyDisposition0Str)) {
+                    contentDisposition.append(bodyDisposition0Str);
+                }
+
+                final ImapList bodyDispositionParams = bodyDisposition.getListOrEmpty(1);
+                if (!bodyDispositionParams.isEmpty()) {
+                    /*
+                     * If there is body disposition information we can pull some more
+                     * information about the attachment out.
+                     */
+                    for (int i = 1, count = bodyDispositionParams.size(); i < count; i += 2) {
+
+                        // TODO We need to convert " into %22.  See above.
+                        contentDisposition.append(String.format(Locale.US, ";\n %s=\"%s\"",
+                                bodyDispositionParams.getStringOrEmpty(i - 1)
+                                        .getString().toLowerCase(Locale.US),
+                                bodyDispositionParams.getStringOrEmpty(i).getString()));
+                    }
+                }
+            }
+
+            if ((size > 0)
+                    && (MimeUtility.getHeaderParameter(contentDisposition.toString(), "size")
+                            == null)) {
+                contentDisposition.append(String.format(Locale.US, ";\n size=%d", size));
+            }
+
+            if (contentDisposition.length() > 0) {
+                /*
+                 * Set the content disposition containing at least the size. Attachment
+                 * handling code will use this down the road.
+                 */
+                part.setHeader(MimeHeader.HEADER_CONTENT_DISPOSITION,
+                        contentDisposition.toString());
+            }
+
+            /*
+             * Set the Content-Transfer-Encoding header. Attachment code will use this
+             * to parse the body.
+             */
+            if (!encoding.isEmpty()) {
+                part.setHeader(MimeHeader.HEADER_CONTENT_TRANSFER_ENCODING,
+                        encoding.getString());
+            }
+
+            /*
+             * Set the Content-ID header.
+             */
+            if (!cid.isEmpty()) {
+                part.setHeader(MimeHeader.HEADER_CONTENT_ID, cid.getString());
+            }
+
+            if (size > 0) {
+                if (part instanceof ImapMessage) {
+                    ((ImapMessage) part).setSize(size);
+                } else if (part instanceof MimeBodyPart) {
+                    ((MimeBodyPart) part).setSize(size);
+                } else {
+                    throw new MessagingException("Unknown part type " + part.toString());
+                }
+            }
+            part.setHeader(MimeHeader.HEADER_ANDROID_ATTACHMENT_STORE_DATA, id);
+        }
+
+    }
+
+    public Message[] expunge() throws MessagingException {
+        checkOpen();
+        try {
+            handleUntaggedResponses(mConnection.executeSimpleCommand(ImapConstants.EXPUNGE));
+        } catch (IOException ioe) {
+            throw ioExceptionHandler(mConnection, ioe);
+        } finally {
+            destroyResponses();
+        }
+        return null;
+    }
+
+    public void setFlags(Message[] messages, String[] flags, boolean value)
+            throws MessagingException {
+        checkOpen();
+
+        String allFlags = "";
+        if (flags.length > 0) {
+            StringBuilder flagList = new StringBuilder();
+            for (int i = 0, count = flags.length; i < count; i++) {
+                String flag = flags[i];
+                if (flag == Flag.SEEN) {
+                    flagList.append(" " + ImapConstants.FLAG_SEEN);
+                } else if (flag == Flag.DELETED) {
+                    flagList.append(" " + ImapConstants.FLAG_DELETED);
+                } else if (flag == Flag.FLAGGED) {
+                    flagList.append(" " + ImapConstants.FLAG_FLAGGED);
+                } else if (flag == Flag.ANSWERED) {
+                    flagList.append(" " + ImapConstants.FLAG_ANSWERED);
+                }
+            }
+            allFlags = flagList.substring(1);
+        }
+        try {
+            mConnection.executeSimpleCommand(String.format(Locale.US,
+                    ImapConstants.UID_STORE + " %s %s" + ImapConstants.FLAGS_SILENT + " (%s)",
+                    ImapStore.joinMessageUids(messages),
+                    value ? "+" : "-",
+                    allFlags));
+
+        } catch (IOException ioe) {
+            throw ioExceptionHandler(mConnection, ioe);
+        } finally {
+            destroyResponses();
+        }
+    }
+
+    /**
+     * Selects the folder for use. Before performing any operations on this folder, it
+     * must be selected.
+     */
+    private void doSelect() throws IOException, MessagingException {
+        final List<ImapResponse> responses = mConnection.executeSimpleCommand(
+                String.format(Locale.US, ImapConstants.SELECT + " \"%s\"", mName));
+
+        // Assume the folder is opened read-write; unless we are notified otherwise
+        mMode = MODE_READ_WRITE;
+        int messageCount = -1;
+        for (ImapResponse response : responses) {
+            if (response.isDataResponse(1, ImapConstants.EXISTS)) {
+                messageCount = response.getStringOrEmpty(0).getNumberOrZero();
+            } else if (response.isOk()) {
+                final ImapString responseCode = response.getResponseCodeOrEmpty();
+                if (responseCode.is(ImapConstants.READ_ONLY)) {
+                    mMode = MODE_READ_ONLY;
+                } else if (responseCode.is(ImapConstants.READ_WRITE)) {
+                    mMode = MODE_READ_WRITE;
+                }
+            } else if (response.isTagged()) { // Not OK
+                throw new MessagingException("Can't open mailbox: "
+                        + response.getStatusResponseTextOrEmpty());
+            }
+        }
+        if (messageCount == -1) {
+            throw new MessagingException("Did not find message count during select");
+        }
+        mMessageCount = messageCount;
+        mExists = true;
+    }
+
+    private void checkOpen() throws MessagingException {
+        if (!isOpen()) {
+            throw new MessagingException("Folder " + mName + " is not open.");
+        }
+    }
+
+    private MessagingException ioExceptionHandler(ImapConnection connection, IOException ioe) {
+        LogUtils.d(TAG, "IO Exception detected: ", ioe);
+        connection.close();
+        if (connection == mConnection) {
+            mConnection = null; // To prevent close() from returning the connection to the pool.
+            close(false);
+        }
+        return new MessagingException(MessagingException.IOERROR, "IO Error", ioe);
+    }
+
+    public Message createMessage(String uid) {
+        return new ImapMessage(uid, this);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/ImapStore.java b/src/com/android/phone/common/mail/store/ImapStore.java
new file mode 100644
index 0000000..1c91e76
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/ImapStore.java
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store;
+
+import android.content.Context;
+
+import com.android.phone.common.mail.internet.MimeMessage;
+import com.android.phone.common.mail.MailTransport;
+import com.android.phone.common.mail.Message;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.store.ImapFolder;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+public class ImapStore {
+    /**
+     * A global suggestion to Store implementors on how much of the body
+     * should be returned on FetchProfile.Item.BODY_SANE requests. We'll use 125k now.
+     */
+    public static final int FETCH_BODY_SANE_SUGGESTED_SIZE = (125 * 1024);
+    private Context mContext;
+    private String mUsername;
+    private String mPassword;
+    private MailTransport mTransport;
+    private ImapConnection mConnection;
+
+    public static final int FLAG_NONE         = 0x00;    // No flags
+    public static final int FLAG_SSL          = 0x01;    // Use SSL
+    public static final int FLAG_TLS          = 0x02;    // Use TLS
+    public static final int FLAG_AUTHENTICATE = 0x04;    // Use name/password for authentication
+    public static final int FLAG_TRUST_ALL    = 0x08;    // Trust all certificates
+    public static final int FLAG_OAUTH        = 0x10;    // Use OAuth for authentication
+
+    /**
+     * Contains all the information necessary to log into an imap server
+     */
+    public ImapStore(Context context, String username, String password, int port,
+            String serverName, int flags) {
+        mContext = context;
+        mUsername = username;
+        mPassword = password;
+        mTransport = new MailTransport(context, serverName, port, flags);
+    }
+
+    public Context getContext() {
+        return mContext;
+    }
+
+    public String getUsername() {
+        return mUsername;
+    }
+
+    public String getPassword() {
+        return mPassword;
+    }
+
+    /** Returns a clone of the transport associated with this store. */
+    MailTransport cloneTransport() {
+        return mTransport.clone();
+    }
+
+    /**
+     * Returns UIDs of Messages joined with "," as the separator.
+     */
+    static String joinMessageUids(Message[] messages) {
+        StringBuilder sb = new StringBuilder();
+        boolean notFirst = false;
+        for (Message m : messages) {
+            if (notFirst) {
+                sb.append(',');
+            }
+            sb.append(m.getUid());
+            notFirst = true;
+        }
+        return sb.toString();
+    }
+
+    static class ImapMessage extends MimeMessage {
+        private ImapFolder mFolder;
+
+        ImapMessage(String uid, ImapFolder folder) {
+            mUid = uid;
+            mFolder = folder;
+        }
+
+        public void setSize(int size) {
+            mSize = size;
+        }
+
+        @Override
+        public void parse(InputStream in) throws IOException, MessagingException {
+            super.parse(in);
+        }
+
+        public void setFlagInternal(String flag, boolean set) throws MessagingException {
+            super.setFlag(flag, set);
+        }
+
+        @Override
+        public void setFlag(String flag, boolean set) throws MessagingException {
+            super.setFlag(flag, set);
+            mFolder.setFlags(new Message[] { this }, new String[] { flag }, set);
+        }
+    }
+
+    static class ImapException extends MessagingException {
+        private static final long serialVersionUID = 1L;
+
+        private final String mStatus;
+        private final String mAlertText;
+        private final String mResponseCode;
+
+        public ImapException(String message, String status, String alertText,
+                String responseCode) {
+            super(message);
+            mStatus = status;
+            mAlertText = alertText;
+            mResponseCode = responseCode;
+        }
+
+        public String getStatus() {
+            return mStatus;
+        }
+
+        public String getAlertText() {
+            return mAlertText;
+        }
+
+        public String getResponseCode() {
+            return mResponseCode;
+        }
+    }
+
+    public void closeConnection() {
+        if (mConnection != null) {
+            mConnection.close();
+            mConnection = null;
+        }
+    }
+
+    public ImapConnection getConnection() {
+        if (mConnection == null) {
+            mConnection = new ImapConnection(this);
+        }
+        return mConnection;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapConstants.java b/src/com/android/phone/common/mail/store/imap/ImapConstants.java
new file mode 100644
index 0000000..cde1616
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapConstants.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+import com.android.phone.common.mail.store.ImapStore;
+
+import java.util.Locale;
+
+public final class ImapConstants {
+    private ImapConstants() {}
+
+    public static final String FETCH_FIELD_BODY_PEEK_BARE = "BODY.PEEK";
+    public static final String FETCH_FIELD_BODY_PEEK = FETCH_FIELD_BODY_PEEK_BARE + "[]";
+    public static final String FETCH_FIELD_BODY_PEEK_SANE = String.format(
+            Locale.US, "BODY.PEEK[]<0.%d>", ImapStore.FETCH_BODY_SANE_SUGGESTED_SIZE);
+    public static final String FETCH_FIELD_HEADERS =
+            "BODY.PEEK[HEADER.FIELDS (date subject from content-type to cc message-id)]";
+
+    public static final String ALERT = "ALERT";
+    public static final String APPEND = "APPEND";
+    public static final String AUTHENTICATE = "AUTHENTICATE";
+    public static final String BAD = "BAD";
+    public static final String BADCHARSET = "BADCHARSET";
+    public static final String BODY = "BODY";
+    public static final String BODY_BRACKET_HEADER = "BODY[HEADER";
+    public static final String BODYSTRUCTURE = "BODYSTRUCTURE";
+    public static final String BYE = "BYE";
+    public static final String CAPABILITY = "CAPABILITY";
+    public static final String CHECK = "CHECK";
+    public static final String CLOSE = "CLOSE";
+    public static final String COPY = "COPY";
+    public static final String COPYUID = "COPYUID";
+    public static final String CREATE = "CREATE";
+    public static final String DELETE = "DELETE";
+    public static final String EXAMINE = "EXAMINE";
+    public static final String EXISTS = "EXISTS";
+    public static final String EXPUNGE = "EXPUNGE";
+    public static final String FETCH = "FETCH";
+    public static final String FLAG_ANSWERED = "\\ANSWERED";
+    public static final String FLAG_DELETED = "\\DELETED";
+    public static final String FLAG_FLAGGED = "\\FLAGGED";
+    public static final String FLAG_NO_SELECT = "\\NOSELECT";
+    public static final String FLAG_SEEN = "\\SEEN";
+    public static final String FLAGS = "FLAGS";
+    public static final String FLAGS_SILENT = "FLAGS.SILENT";
+    public static final String ID = "ID";
+    public static final String INBOX = "INBOX";
+    public static final String INTERNALDATE = "INTERNALDATE";
+    public static final String LIST = "LIST";
+    public static final String LOGIN = "LOGIN";
+    public static final String LOGOUT = "LOGOUT";
+    public static final String LSUB = "LSUB";
+    public static final String NAMESPACE = "NAMESPACE";
+    public static final String NO = "NO";
+    public static final String NOOP = "NOOP";
+    public static final String OK = "OK";
+    public static final String PARSE = "PARSE";
+    public static final String PERMANENTFLAGS = "PERMANENTFLAGS";
+    public static final String PREAUTH = "PREAUTH";
+    public static final String READ_ONLY = "READ-ONLY";
+    public static final String READ_WRITE = "READ-WRITE";
+    public static final String RENAME = "RENAME";
+    public static final String RFC822_SIZE = "RFC822.SIZE";
+    public static final String SEARCH = "SEARCH";
+    public static final String SELECT = "SELECT";
+    public static final String STARTTLS = "STARTTLS";
+    public static final String STATUS = "STATUS";
+    public static final String STORE = "STORE";
+    public static final String SUBSCRIBE = "SUBSCRIBE";
+    public static final String TEXT = "TEXT";
+    public static final String TRYCREATE = "TRYCREATE";
+    public static final String UID = "UID";
+    public static final String UID_COPY = "UID COPY";
+    public static final String UID_FETCH = "UID FETCH";
+    public static final String UID_SEARCH = "UID SEARCH";
+    public static final String UID_STORE = "UID STORE";
+    public static final String UIDNEXT = "UIDNEXT";
+    public static final String UIDPLUS = "UIDPLUS";
+    public static final String UIDVALIDITY = "UIDVALIDITY";
+    public static final String UNSEEN = "UNSEEN";
+    public static final String UNSUBSCRIBE = "UNSUBSCRIBE";
+    public static final String XOAUTH2 = "XOAUTH2";
+    public static final String APPENDUID = "APPENDUID";
+    public static final String NIL = "NIL";
+
+    /** response codes within IMAP responses */
+    public static final String EXPIRED = "EXPIRED";
+    public static final String AUTHENTICATIONFAILED = "AUTHENTICATIONFAILED";
+    public static final String UNAVAILABLE = "UNAVAILABLE";
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapElement.java b/src/com/android/phone/common/mail/store/imap/ImapElement.java
new file mode 100644
index 0000000..2d1824e
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapElement.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+/**
+ * Class representing "element"s in IMAP responses.
+ *
+ * <p>Class hierarchy:
+ * <pre>
+ * ImapElement
+ *   |
+ *   |-- ImapElement.NONE (for 'index out of range')
+ *   |
+ *   |-- ImapList (isList() == true)
+ *   |   |
+ *   |   |-- ImapList.EMPTY
+ *   |   |
+ *   |   --- ImapResponse
+ *   |
+ *   --- ImapString (isString() == true)
+ *       |
+ *       |-- ImapString.EMPTY
+ *       |
+ *       |-- ImapSimpleString
+ *       |
+ *       |-- ImapMemoryLiteral
+ *       |
+ *       --- ImapTempFileLiteral
+ * </pre>
+ */
+public abstract class ImapElement {
+    /**
+     * An element that is returned by {@link ImapList#getElementOrNone} to indicate an index
+     * is out of range.
+     */
+    public static final ImapElement NONE = new ImapElement() {
+        @Override public void destroy() {
+            // Don't call super.destroy().
+            // It's a shared object.  We don't want the mDestroyed to be set on this.
+        }
+
+        @Override public boolean isList() {
+            return false;
+        }
+
+        @Override public boolean isString() {
+            return false;
+        }
+
+        @Override public String toString() {
+            return "[NO ELEMENT]";
+        }
+
+        @Override
+        public boolean equalsForTest(ImapElement that) {
+            return super.equalsForTest(that);
+        }
+    };
+
+    private boolean mDestroyed = false;
+
+    public abstract boolean isList();
+
+    public abstract boolean isString();
+
+    protected boolean isDestroyed() {
+        return mDestroyed;
+    }
+
+    /**
+     * Clean up the resources used by the instance.
+     * It's for removing a temp file used by {@link ImapTempFileLiteral}.
+     */
+    public void destroy() {
+        mDestroyed = true;
+    }
+
+    /**
+     * Throws {@link RuntimeException} if it's already destroyed.
+     */
+    protected final void checkNotDestroyed() {
+        if (mDestroyed) {
+            throw new RuntimeException("Already destroyed");
+        }
+    }
+
+    /**
+     * Return a string that represents this object; it's purely for the debug purpose.  Don't
+     * mistake it for {@link ImapString#getString}.
+     *
+     * Abstract to force subclasses to implement it.
+     */
+    @Override
+    public abstract String toString();
+
+    /**
+     * The equals implementation that is intended to be used only for unit testing.
+     * (Because it may be heavy and has a special sense of "equal" for testing.)
+     */
+    public boolean equalsForTest(ImapElement that) {
+        if (that == null) {
+            return false;
+        }
+        return this.getClass() == that.getClass(); // Has to be the same class.
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapList.java b/src/com/android/phone/common/mail/store/imap/ImapList.java
new file mode 100644
index 0000000..93adc4f
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapList.java
@@ -0,0 +1,235 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+import java.util.ArrayList;
+
+/**
+ * Class represents an IMAP list.
+ */
+public class ImapList extends ImapElement {
+    /**
+     * {@link ImapList} representing an empty list.
+     */
+    public static final ImapList EMPTY = new ImapList() {
+        @Override public void destroy() {
+            // Don't call super.destroy().
+            // It's a shared object.  We don't want the mDestroyed to be set on this.
+        }
+
+        @Override void add(ImapElement e) {
+            throw new RuntimeException();
+        }
+    };
+
+    private ArrayList<ImapElement> mList = new ArrayList<ImapElement>();
+
+    /* package */ void add(ImapElement e) {
+        if (e == null) {
+            throw new RuntimeException("Can't add null");
+        }
+        mList.add(e);
+    }
+
+    @Override
+    public final boolean isString() {
+        return false;
+    }
+
+    @Override
+    public final boolean isList() {
+        return true;
+    }
+
+    public final int size() {
+        return mList.size();
+    }
+
+    public final boolean isEmpty() {
+        return size() == 0;
+    }
+
+    /**
+     * Return true if the element at {@code index} exists, is string, and equals to {@code s}.
+     * (case insensitive)
+     */
+    public final boolean is(int index, String s) {
+        return is(index, s, false);
+    }
+
+    /**
+     * Same as {@link #is(int, String)}, but does the prefix match if {@code prefixMatch}.
+     */
+    public final boolean is(int index, String s, boolean prefixMatch) {
+        if (!prefixMatch) {
+            return getStringOrEmpty(index).is(s);
+        } else {
+            return getStringOrEmpty(index).startsWith(s);
+        }
+    }
+
+    /**
+     * Return the element at {@code index}.
+     * If {@code index} is out of range, returns {@link ImapElement#NONE}.
+     */
+    public final ImapElement getElementOrNone(int index) {
+        return (index >= mList.size()) ? ImapElement.NONE : mList.get(index);
+    }
+
+    /**
+     * Return the element at {@code index} if it's a list.
+     * If {@code index} is out of range or not a list, returns {@link ImapList#EMPTY}.
+     */
+    public final ImapList getListOrEmpty(int index) {
+        ImapElement el = getElementOrNone(index);
+        return el.isList() ? (ImapList) el : EMPTY;
+    }
+
+    /**
+     * Return the element at {@code index} if it's a string.
+     * If {@code index} is out of range or not a string, returns {@link ImapString#EMPTY}.
+     */
+    public final ImapString getStringOrEmpty(int index) {
+        ImapElement el = getElementOrNone(index);
+        return el.isString() ? (ImapString) el : ImapString.EMPTY;
+    }
+
+    /**
+     * Return an element keyed by {@code key}.  Return null if not found.  {@code key} has to be
+     * at an even index.
+     */
+    /* package */ final ImapElement getKeyedElementOrNull(String key, boolean prefixMatch) {
+        for (int i = 1; i < size(); i += 2) {
+            if (is(i-1, key, prefixMatch)) {
+                return mList.get(i);
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Return an {@link ImapList} keyed by {@code key}.
+     * Return {@link ImapList#EMPTY} if not found.
+     */
+    public final ImapList getKeyedListOrEmpty(String key) {
+        return getKeyedListOrEmpty(key, false);
+    }
+
+    /**
+     * Return an {@link ImapList} keyed by {@code key}.
+     * Return {@link ImapList#EMPTY} if not found.
+     */
+    public final ImapList getKeyedListOrEmpty(String key, boolean prefixMatch) {
+        ImapElement e = getKeyedElementOrNull(key, prefixMatch);
+        return (e != null) ? ((ImapList) e) : ImapList.EMPTY;
+    }
+
+    /**
+     * Return an {@link ImapString} keyed by {@code key}.
+     * Return {@link ImapString#EMPTY} if not found.
+     */
+    public final ImapString getKeyedStringOrEmpty(String key) {
+        return getKeyedStringOrEmpty(key, false);
+    }
+
+    /**
+     * Return an {@link ImapString} keyed by {@code key}.
+     * Return {@link ImapString#EMPTY} if not found.
+     */
+    public final ImapString getKeyedStringOrEmpty(String key, boolean prefixMatch) {
+        ImapElement e = getKeyedElementOrNull(key, prefixMatch);
+        return (e != null) ? ((ImapString) e) : ImapString.EMPTY;
+    }
+
+    /**
+     * Return true if it contains {@code s}.
+     */
+    public final boolean contains(String s) {
+        for (int i = 0; i < size(); i++) {
+            if (getStringOrEmpty(i).is(s)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public void destroy() {
+        if (mList != null) {
+            for (ImapElement e : mList) {
+                e.destroy();
+            }
+            mList = null;
+        }
+        super.destroy();
+    }
+
+    @Override
+    public String toString() {
+        return mList.toString();
+    }
+
+    /**
+     * Return the text representations of the contents concatenated with ",".
+     */
+    public final String flatten() {
+        return flatten(new StringBuilder()).toString();
+    }
+
+    /**
+     * Returns text representations (i.e. getString()) of contents joined together with
+     * "," as the separator.
+     *
+     * Only used for building the capability string passed to vendor policies.
+     *
+     * We can't use toString(), because it's for debugging (meaning the format may change any time),
+     * and it won't expand literals.
+     */
+    private final StringBuilder flatten(StringBuilder sb) {
+        sb.append('[');
+        for (int i = 0; i < mList.size(); i++) {
+            if (i > 0) {
+                sb.append(',');
+            }
+            final ImapElement e = getElementOrNone(i);
+            if (e.isList()) {
+                getListOrEmpty(i).flatten(sb);
+            } else if (e.isString()) {
+                sb.append(getStringOrEmpty(i).getString());
+            }
+        }
+        sb.append(']');
+        return sb;
+    }
+
+    @Override
+    public boolean equalsForTest(ImapElement that) {
+        if (!super.equalsForTest(that)) {
+            return false;
+        }
+        ImapList thatList = (ImapList) that;
+        if (size() != thatList.size()) {
+            return false;
+        }
+        for (int i = 0; i < size(); i++) {
+            if (!mList.get(i).equalsForTest(thatList.getElementOrNone(i))) {
+                return false;
+            }
+        }
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapMemoryLiteral.java b/src/com/android/phone/common/mail/store/imap/ImapMemoryLiteral.java
new file mode 100644
index 0000000..aac66c2
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapMemoryLiteral.java
@@ -0,0 +1,77 @@
+/*
+ * 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.common.mail.store.imap;
+
+import android.util.Log;
+
+import com.android.phone.common.mail.FixedLengthInputStream;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * Subclass of {@link ImapString} used for literals backed by an in-memory byte array.
+ */
+public class ImapMemoryLiteral extends ImapString {
+    private final String TAG = "ImapMemoryLiteral";
+    private byte[] mData;
+
+    /* package */ ImapMemoryLiteral(FixedLengthInputStream in) throws IOException {
+        // We could use ByteArrayOutputStream and IOUtils.copy, but it'd perform an unnecessary
+        // copy....
+        mData = new byte[in.getLength()];
+        int pos = 0;
+        while (pos < mData.length) {
+            int read = in.read(mData, pos, mData.length - pos);
+            if (read < 0) {
+                break;
+            }
+            pos += read;
+        }
+        if (pos != mData.length) {
+            Log.w(TAG, "");
+        }
+    }
+
+    @Override
+    public void destroy() {
+        mData = null;
+        super.destroy();
+    }
+
+    @Override
+    public String getString() {
+        try {
+            return new String(mData, "US-ASCII");
+        } catch (UnsupportedEncodingException e) {
+            Log.e(TAG, "Unsupported encoding: ", e);
+        }
+        return null;
+    }
+
+    @Override
+    public InputStream getAsStream() {
+        return new ByteArrayInputStream(mData);
+    }
+
+    @Override
+    public String toString() {
+        return String.format("{%d byte literal(memory)}", mData.length);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapResponse.java b/src/com/android/phone/common/mail/store/imap/ImapResponse.java
new file mode 100644
index 0000000..4891966
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapResponse.java
@@ -0,0 +1,158 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+/**
+ * Class represents an IMAP response.
+ */
+public class ImapResponse extends ImapList {
+    private final String mTag;
+    private final boolean mIsContinuationRequest;
+
+    /* package */ ImapResponse(String tag, boolean isContinuationRequest) {
+        mTag = tag;
+        mIsContinuationRequest = isContinuationRequest;
+    }
+
+    /* package */ static boolean isStatusResponse(String symbol) {
+        return     ImapConstants.OK.equalsIgnoreCase(symbol)
+                || ImapConstants.NO.equalsIgnoreCase(symbol)
+                || ImapConstants.BAD.equalsIgnoreCase(symbol)
+                || ImapConstants.PREAUTH.equalsIgnoreCase(symbol)
+                || ImapConstants.BYE.equalsIgnoreCase(symbol);
+    }
+
+    /**
+     * @return whether it's a tagged response.
+     */
+    public boolean isTagged() {
+        return mTag != null;
+    }
+
+    /**
+     * @return whether it's a continuation request.
+     */
+    public boolean isContinuationRequest() {
+        return mIsContinuationRequest;
+    }
+
+    public boolean isStatusResponse() {
+        return isStatusResponse(getStringOrEmpty(0).getString());
+    }
+
+    /**
+     * @return whether it's an OK response.
+     */
+    public boolean isOk() {
+        return is(0, ImapConstants.OK);
+    }
+
+    /**
+     * @return whether it's an BAD response.
+     */
+    public boolean isBad() {
+        return is(0, ImapConstants.BAD);
+    }
+
+    /**
+     * @return whether it's an NO response.
+     */
+    public boolean isNo() {
+        return is(0, ImapConstants.NO);
+    }
+
+    /**
+     * @return whether it's an {@code responseType} data response.  (i.e. not tagged).
+     * @param index where {@code responseType} should appear.  e.g. 1 for "FETCH"
+     * @param responseType e.g. "FETCH"
+     */
+    public final boolean isDataResponse(int index, String responseType) {
+        return !isTagged() && getStringOrEmpty(index).is(responseType);
+    }
+
+    /**
+     * @return Response code (RFC 3501 7.1) if it's a status response.
+     *
+     * e.g. "ALERT" for "* OK [ALERT] System shutdown in 10 minutes"
+     */
+    public ImapString getResponseCodeOrEmpty() {
+        if (!isStatusResponse()) {
+            return ImapString.EMPTY; // Not a status response.
+        }
+        return getListOrEmpty(1).getStringOrEmpty(0);
+    }
+
+    /**
+     * @return Alert message it it has ALERT response code.
+     *
+     * e.g. "System shutdown in 10 minutes" for "* OK [ALERT] System shutdown in 10 minutes"
+     */
+    public ImapString getAlertTextOrEmpty() {
+        if (!getResponseCodeOrEmpty().is(ImapConstants.ALERT)) {
+            return ImapString.EMPTY; // Not an ALERT
+        }
+        // The 3rd element contains all the rest of line.
+        return getStringOrEmpty(2);
+    }
+
+    /**
+     * @return Response text in a status response.
+     */
+    public ImapString getStatusResponseTextOrEmpty() {
+        if (!isStatusResponse()) {
+            return ImapString.EMPTY;
+        }
+        return getStringOrEmpty(getElementOrNone(1).isList() ? 2 : 1);
+    }
+
+    public ImapString getStatusOrEmpty() {
+        if (!isStatusResponse()) {
+            return ImapString.EMPTY;
+        }
+        return getStringOrEmpty(0);
+    }
+
+    @Override
+    public String toString() {
+        String tag = mTag;
+        if (isContinuationRequest()) {
+            tag = "+";
+        }
+        return "#" + tag + "# " + super.toString();
+    }
+
+    @Override
+    public boolean equalsForTest(ImapElement that) {
+        if (!super.equalsForTest(that)) {
+            return false;
+        }
+        final ImapResponse thatResponse = (ImapResponse) that;
+        if (mTag == null) {
+            if (thatResponse.mTag != null) {
+                return false;
+            }
+        } else {
+            if (!mTag.equals(thatResponse.mTag)) {
+                return false;
+            }
+        }
+        if (mIsContinuationRequest != thatResponse.mIsContinuationRequest) {
+            return false;
+        }
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapResponseParser.java b/src/com/android/phone/common/mail/store/imap/ImapResponseParser.java
new file mode 100644
index 0000000..d0413df
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapResponseParser.java
@@ -0,0 +1,434 @@
+/*
+ * 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.common.mail.store.imap;
+
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.phone.common.mail.FixedLengthInputStream;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.PeekableInputStream;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+
+/**
+ * IMAP response parser.
+ */
+public class ImapResponseParser {
+    private static final String TAG = "ImapResponseParser";
+
+    /**
+     * Literal larger than this will be stored in temp file.
+     */
+    public static final int LITERAL_KEEP_IN_MEMORY_THRESHOLD = 2 * 1024 * 1024;
+
+    /** Input stream */
+    private final PeekableInputStream mIn;
+
+    private final int mLiteralKeepInMemoryThreshold;
+
+    /** StringBuilder used by readUntil() */
+    private final StringBuilder mBufferReadUntil = new StringBuilder();
+
+    /** StringBuilder used by parseBareString() */
+    private final StringBuilder mParseBareString = new StringBuilder();
+
+    /**
+     * We store all {@link ImapResponse} in it.  {@link #destroyResponses()} must be called from
+     * time to time to destroy them and clear it.
+     */
+    private final ArrayList<ImapResponse> mResponsesToDestroy = new ArrayList<ImapResponse>();
+
+    /**
+     * Exception thrown when we receive BYE.  It derives from IOException, so it'll be treated
+     * in the same way EOF does.
+     */
+    public static class ByeException extends IOException {
+        public static final String MESSAGE = "Received BYE";
+        public ByeException() {
+            super(MESSAGE);
+        }
+    }
+
+    /**
+     * Public constructor for normal use.
+     */
+    public ImapResponseParser(InputStream in) {
+        this(in, LITERAL_KEEP_IN_MEMORY_THRESHOLD);
+    }
+
+    /**
+     * Constructor for testing to override the literal size threshold.
+     */
+    /* package for test */ ImapResponseParser(InputStream in, int literalKeepInMemoryThreshold) {
+        mIn = new PeekableInputStream(in);
+        mLiteralKeepInMemoryThreshold = literalKeepInMemoryThreshold;
+    }
+
+    private static IOException newEOSException() {
+        final String message = "End of stream reached";
+        if (Log.isLoggable(TAG, Log.DEBUG)) {
+            Log.d(TAG, message);
+        }
+        return new IOException(message);
+    }
+
+    /**
+     * Peek next one byte.
+     *
+     * Throws IOException() if reaches EOF.  As long as logical response lines end with \r\n,
+     * we shouldn't see EOF during parsing.
+     */
+    private int peek() throws IOException {
+        final int next = mIn.peek();
+        if (next == -1) {
+            throw newEOSException();
+        }
+        return next;
+    }
+
+    /**
+     * Read and return one byte from {@link #mIn}, and put it in {@link #mDiscourseLogger}.
+     *
+     * Throws IOException() if reaches EOF.  As long as logical response lines end with \r\n,
+     * we shouldn't see EOF during parsing.
+     */
+    private int readByte() throws IOException {
+        int next = mIn.read();
+        if (next == -1) {
+            throw newEOSException();
+        }
+        return next;
+    }
+
+    /**
+     * Destroy all the {@link ImapResponse}s stored in the internal storage and clear it.
+     *
+     * @see #readResponse()
+     */
+    public void destroyResponses() {
+        for (ImapResponse r : mResponsesToDestroy) {
+            r.destroy();
+        }
+        mResponsesToDestroy.clear();
+    }
+
+    /**
+     * Reads the next response available on the stream and returns an
+     * {@link ImapResponse} object that represents it.
+     *
+     * <p>When this method successfully returns an {@link ImapResponse}, the {@link ImapResponse}
+     * is stored in the internal storage.  When the {@link ImapResponse} is no longer used
+     * {@link #destroyResponses} should be called to destroy all the responses in the array.
+     *
+     * @return the parsed {@link ImapResponse} object.
+     * @exception ByeException when detects BYE.
+     */
+    public ImapResponse readResponse() throws IOException, MessagingException {
+        ImapResponse response = null;
+        try {
+            response = parseResponse();
+            if (Log.isLoggable(TAG, Log.DEBUG)) {
+                Log.d(TAG, "<<< " + response.toString());
+            }
+        } catch (RuntimeException e) {
+            // Parser crash -- log network activities.
+            onParseError(e);
+            throw e;
+        } catch (IOException e) {
+            // Network error, or received an unexpected char.
+            onParseError(e);
+            throw e;
+        }
+
+        // Handle this outside of try-catch.  We don't have to dump protocol log when getting BYE.
+        if (response.is(0, ImapConstants.BYE)) {
+            Log.w(TAG, ByeException.MESSAGE);
+            response.destroy();
+            throw new ByeException();
+        }
+        mResponsesToDestroy.add(response);
+        return response;
+    }
+
+    private void onParseError(Exception e) {
+        // Read a few more bytes, so that the log will contain some more context, even if the parser
+        // crashes in the middle of a response.
+        // This also makes sure the byte in question will be logged, no matter where it crashes.
+        // e.g. when parseAtom() peeks and finds at an unexpected char, it throws an exception
+        // before actually reading it.
+        // However, we don't want to read too much, because then it may get into an email message.
+        try {
+            for (int i = 0; i < 4; i++) {
+                int b = readByte();
+                if (b == -1 || b == '\n') {
+                    break;
+                }
+            }
+        } catch (IOException ignore) {
+        }
+        Log.w(TAG, "Exception detected: " + e.getMessage());
+    }
+
+    /**
+     * Read next byte from stream and throw it away.  If the byte is different from {@code expected}
+     * throw {@link MessagingException}.
+     */
+    /* package for test */ void expect(char expected) throws IOException {
+        final int next = readByte();
+        if (expected != next) {
+            throw new IOException(String.format("Expected %04x (%c) but got %04x (%c)",
+                    (int) expected, expected, next, (char) next));
+        }
+    }
+
+    /**
+     * Read bytes until we find {@code end}, and return all as string.
+     * The {@code end} will be read (rather than peeked) and won't be included in the result.
+     */
+    /* package for test */ String readUntil(char end) throws IOException {
+        mBufferReadUntil.setLength(0);
+        for (;;) {
+            final int ch = readByte();
+            if (ch != end) {
+                mBufferReadUntil.append((char) ch);
+            } else {
+                return mBufferReadUntil.toString();
+            }
+        }
+    }
+
+    /**
+     * Read all bytes until \r\n.
+     */
+    /* package */ String readUntilEol() throws IOException {
+        String ret = readUntil('\r');
+        expect('\n'); // TODO Should this really be error?
+        return ret;
+    }
+
+    /**
+     * Parse and return the response line.
+     */
+    private ImapResponse parseResponse() throws IOException, MessagingException {
+        // We need to destroy the response if we get an exception.
+        // So, we first store the response that's being built in responseToDestroy, until it's
+        // completely built, at which point we copy it into responseToReturn and null out
+        // responseToDestroyt.
+        // If responseToDestroy is not null in finally, we destroy it because that means
+        // we got an exception somewhere.
+        ImapResponse responseToDestroy = null;
+        final ImapResponse responseToReturn;
+
+        try {
+            final int ch = peek();
+            if (ch == '+') { // Continuation request
+                readByte(); // skip +
+                expect(' ');
+                responseToDestroy = new ImapResponse(null, true);
+
+                // If it's continuation request, we don't really care what's in it.
+                responseToDestroy.add(new ImapSimpleString(readUntilEol()));
+
+                // Response has successfully been built.  Let's return it.
+                responseToReturn = responseToDestroy;
+                responseToDestroy = null;
+            } else {
+                // Status response or response data
+                final String tag;
+                if (ch == '*') {
+                    tag = null;
+                    readByte(); // skip *
+                    expect(' ');
+                } else {
+                    tag = readUntil(' ');
+                }
+                responseToDestroy = new ImapResponse(tag, false);
+
+                final ImapString firstString = parseBareString();
+                responseToDestroy.add(firstString);
+
+                // parseBareString won't eat a space after the string, so we need to skip it,
+                // if exists.
+                // If the next char is not ' ', it should be EOL.
+                if (peek() == ' ') {
+                    readByte(); // skip ' '
+
+                    if (responseToDestroy.isStatusResponse()) { // It's a status response
+
+                        // Is there a response code?
+                        final int next = peek();
+                        if (next == '[') {
+                            responseToDestroy.add(parseList('[', ']'));
+                            if (peek() == ' ') { // Skip following space
+                                readByte();
+                            }
+                        }
+
+                        String rest = readUntilEol();
+                        if (!TextUtils.isEmpty(rest)) {
+                            // The rest is free-form text.
+                            responseToDestroy.add(new ImapSimpleString(rest));
+                        }
+                    } else { // It's a response data.
+                        parseElements(responseToDestroy, '\0');
+                    }
+                } else {
+                    expect('\r');
+                    expect('\n');
+                }
+
+                // Response has successfully been built.  Let's return it.
+                responseToReturn = responseToDestroy;
+                responseToDestroy = null;
+            }
+        } finally {
+            if (responseToDestroy != null) {
+                // We get an exception.
+                responseToDestroy.destroy();
+            }
+        }
+
+        return responseToReturn;
+    }
+
+    private ImapElement parseElement() throws IOException, MessagingException {
+        final int next = peek();
+        switch (next) {
+            case '(':
+                return parseList('(', ')');
+            case '[':
+                return parseList('[', ']');
+            case '"':
+                readByte(); // Skip "
+                return new ImapSimpleString(readUntil('"'));
+            case '{':
+                return parseLiteral();
+            case '\r':  // CR
+                readByte(); // Consume \r
+                expect('\n'); // Should be followed by LF.
+                return null;
+            case '\n': // LF // There shouldn't be a bare LF, but just in case.
+                readByte(); // Consume \n
+                return null;
+            default:
+                return parseBareString();
+        }
+    }
+
+    /**
+     * Parses an atom.
+     *
+     * Special case: If an atom contains '[', everything until the next ']' will be considered
+     * a part of the atom.
+     * (e.g. "BODY[HEADER.FIELDS ("DATE" ...)]" will become a single ImapString)
+     *
+     * If the value is "NIL", returns an empty string.
+     */
+    private ImapString parseBareString() throws IOException, MessagingException {
+        mParseBareString.setLength(0);
+        for (;;) {
+            final int ch = peek();
+
+            // TODO Can we clean this up?  (This condition is from the old parser.)
+            if (ch == '(' || ch == ')' || ch == '{' || ch == ' ' ||
+                    // ']' is not part of atom (it's in resp-specials)
+                    ch == ']' ||
+                    // docs claim that flags are \ atom but atom isn't supposed to
+                    // contain
+                    // * and some flags contain *
+                    // ch == '%' || ch == '*' ||
+                    ch == '%' ||
+                    // TODO probably should not allow \ and should recognize
+                    // it as a flag instead
+                    // ch == '"' || ch == '\' ||
+                    ch == '"' || (0x00 <= ch && ch <= 0x1f) || ch == 0x7f) {
+                if (mParseBareString.length() == 0) {
+                    throw new MessagingException("Expected string, none found.");
+                }
+                String s = mParseBareString.toString();
+
+                // NIL will be always converted into the empty string.
+                if (ImapConstants.NIL.equalsIgnoreCase(s)) {
+                    return ImapString.EMPTY;
+                }
+                return new ImapSimpleString(s);
+            } else if (ch == '[') {
+                // Eat all until next ']'
+                mParseBareString.append((char) readByte());
+                mParseBareString.append(readUntil(']'));
+                mParseBareString.append(']'); // readUntil won't include the end char.
+            } else {
+                mParseBareString.append((char) readByte());
+            }
+        }
+    }
+
+    private void parseElements(ImapList list, char end)
+            throws IOException, MessagingException {
+        for (;;) {
+            for (;;) {
+                final int next = peek();
+                if (next == end) {
+                    return;
+                }
+                if (next != ' ') {
+                    break;
+                }
+                // Skip space
+                readByte();
+            }
+            final ImapElement el = parseElement();
+            if (el == null) { // EOL
+                return;
+            }
+            list.add(el);
+        }
+    }
+
+    private ImapList parseList(char opening, char closing)
+            throws IOException, MessagingException {
+        expect(opening);
+        final ImapList list = new ImapList();
+        parseElements(list, closing);
+        expect(closing);
+        return list;
+    }
+
+    private ImapString parseLiteral() throws IOException, MessagingException {
+        expect('{');
+        final int size;
+        try {
+            size = Integer.parseInt(readUntil('}'));
+        } catch (NumberFormatException nfe) {
+            throw new MessagingException("Invalid length in literal");
+        }
+        if (size < 0) {
+            throw new MessagingException("Invalid negative length in literal");
+        }
+        expect('\r');
+        expect('\n');
+        FixedLengthInputStream in = new FixedLengthInputStream(mIn, size);
+        if (size > mLiteralKeepInMemoryThreshold) {
+            return new ImapTempFileLiteral(in);
+        } else {
+            return new ImapMemoryLiteral(in);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapSimpleString.java b/src/com/android/phone/common/mail/store/imap/ImapSimpleString.java
new file mode 100644
index 0000000..3d5263b
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapSimpleString.java
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+import android.util.Log;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * Subclass of {@link ImapString} used for non literals.
+ */
+public class ImapSimpleString extends ImapString {
+    private final String TAG = "ImapSimpleString";
+    private String mString;
+
+    /* package */  ImapSimpleString(String string) {
+        mString = (string != null) ? string : "";
+    }
+
+    @Override
+    public void destroy() {
+        mString = null;
+        super.destroy();
+    }
+
+    @Override
+    public String getString() {
+        return mString;
+    }
+
+    @Override
+    public InputStream getAsStream() {
+        try {
+            return new ByteArrayInputStream(mString.getBytes("US-ASCII"));
+        } catch (UnsupportedEncodingException e) {
+            Log.e(TAG, "Unsupported encoding: ", e);
+        }
+        return null;
+    }
+
+    @Override
+    public String toString() {
+        // Purposefully not return just mString, in order to prevent using it instead of getString.
+        return "\"" + mString + "\"";
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapString.java b/src/com/android/phone/common/mail/store/imap/ImapString.java
new file mode 100644
index 0000000..f38a993
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapString.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+import android.util.Log;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+/**
+ * Class represents an IMAP "element" that is not a list.
+ *
+ * An atom, quoted string, literal, are all represented by this.  Values like OK, STATUS are too.
+ * Also, this class class may contain more arbitrary value like "BODY[HEADER.FIELDS ("DATE")]".
+ * See {@link ImapResponseParser}.
+ */
+public abstract class ImapString extends ImapElement {
+    private static final byte[] EMPTY_BYTES = new byte[0];
+
+    public static final ImapString EMPTY = new ImapString() {
+        @Override public void destroy() {
+            // Don't call super.destroy().
+            // It's a shared object.  We don't want the mDestroyed to be set on this.
+        }
+
+        @Override public String getString() {
+            return "";
+        }
+
+        @Override public InputStream getAsStream() {
+            return new ByteArrayInputStream(EMPTY_BYTES);
+        }
+
+        @Override public String toString() {
+            return "";
+        }
+    };
+
+    // This is used only for parsing IMAP's FETCH ENVELOPE command, in which
+    // en_US-like date format is used like "01-Jan-2009 11:20:39 -0800", so this should be
+    // handled by Locale.US
+    private final static SimpleDateFormat DATE_TIME_FORMAT =
+            new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss Z", Locale.US);
+
+    private boolean mIsInteger;
+    private int mParsedInteger;
+    private Date mParsedDate;
+
+    @Override
+    public final boolean isList() {
+        return false;
+    }
+
+    @Override
+    public final boolean isString() {
+        return true;
+    }
+
+    /**
+     * @return true if and only if the length of the string is larger than 0.
+     *
+     * Note: IMAP NIL is considered an empty string. See {@link ImapResponseParser
+     * #parseBareString}.
+     * On the other hand, a quoted/literal string with value NIL (i.e. "NIL" and {3}\r\nNIL) is
+     * treated literally.
+     */
+    public final boolean isEmpty() {
+        return getString().length() == 0;
+    }
+
+    public abstract String getString();
+
+    public abstract InputStream getAsStream();
+
+    /**
+     * @return whether it can be parsed as a number.
+     */
+    public final boolean isNumber() {
+        if (mIsInteger) {
+            return true;
+        }
+        try {
+            mParsedInteger = Integer.parseInt(getString());
+            mIsInteger = true;
+            return true;
+        } catch (NumberFormatException e) {
+            return false;
+        }
+    }
+
+    /**
+     * @return value parsed as a number.
+     */
+    public final int getNumberOrZero() {
+        if (!isNumber()) {
+            return 0;
+        }
+        return mParsedInteger;
+    }
+
+    /**
+     * @return whether it can be parsed as a date using {@link #DATE_TIME_FORMAT}.
+     */
+    public final boolean isDate() {
+        if (mParsedDate != null) {
+            return true;
+        }
+        if (isEmpty()) {
+            return false;
+        }
+        try {
+            mParsedDate = DATE_TIME_FORMAT.parse(getString());
+            return true;
+        } catch (ParseException e) {
+            Log.w("ImapString", getString() + " can't be parsed as a date.");
+            return false;
+        }
+    }
+
+    /**
+     * @return value it can be parsed as a {@link Date}, or null otherwise.
+     */
+    public final Date getDateOrNull() {
+        if (!isDate()) {
+            return null;
+        }
+        return mParsedDate;
+    }
+
+    /**
+     * @return whether the value case-insensitively equals to {@code s}.
+     */
+    public final boolean is(String s) {
+        if (s == null) {
+            return false;
+        }
+        return getString().equalsIgnoreCase(s);
+    }
+
+
+    /**
+     * @return whether the value case-insensitively starts with {@code s}.
+     */
+    public final boolean startsWith(String prefix) {
+        if (prefix == null) {
+            return false;
+        }
+        final String me = this.getString();
+        if (me.length() < prefix.length()) {
+            return false;
+        }
+        return me.substring(0, prefix.length()).equalsIgnoreCase(prefix);
+    }
+
+    // To force subclasses to implement it.
+    @Override
+    public abstract String toString();
+
+    @Override
+    public final boolean equalsForTest(ImapElement that) {
+        if (!super.equalsForTest(that)) {
+            return false;
+        }
+        ImapString thatString = (ImapString) that;
+        return getString().equals(thatString.getString());
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapTempFileLiteral.java b/src/com/android/phone/common/mail/store/imap/ImapTempFileLiteral.java
new file mode 100644
index 0000000..67d5026
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapTempFileLiteral.java
@@ -0,0 +1,123 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+import com.android.phone.common.mail.FixedLengthInputStream;
+import com.android.phone.common.mail.TempDirectory;
+import com.android.phone.common.mail.utils.Utility;
+import com.android.phone.common.mail.utils.LogUtils;
+
+import org.apache.commons.io.IOUtils;
+
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * Subclass of {@link ImapString} used for literals backed by a temp file.
+ */
+public class ImapTempFileLiteral extends ImapString {
+    private final String TAG = "ImapTempFileLiteral";
+
+    /* package for test */ final File mFile;
+
+    /** Size is purely for toString() */
+    private final int mSize;
+
+    /* package */  ImapTempFileLiteral(FixedLengthInputStream stream) throws IOException {
+        mSize = stream.getLength();
+        mFile = File.createTempFile("imap", ".tmp", TempDirectory.getTempDirectory());
+
+        // Unfortunately, we can't really use deleteOnExit(), because temp filenames are random
+        // so it'd simply cause a memory leak.
+        // deleteOnExit() simply adds filenames to a static list and the list will never shrink.
+        // mFile.deleteOnExit();
+        OutputStream out = new FileOutputStream(mFile);
+        IOUtils.copy(stream, out);
+        out.close();
+    }
+
+    /**
+     * Make sure we delete the temp file.
+     *
+     * We should always be calling {@link ImapResponse#destroy()}, but it's here as a last resort.
+     */
+    @Override
+    protected void finalize() throws Throwable {
+        try {
+            destroy();
+        } finally {
+            super.finalize();
+        }
+    }
+
+    @Override
+    public InputStream getAsStream() {
+        checkNotDestroyed();
+        try {
+            return new FileInputStream(mFile);
+        } catch (FileNotFoundException e) {
+            // It's probably possible if we're low on storage and the system clears the cache dir.
+            LogUtils.w(TAG, "ImapTempFileLiteral: Temp file not found");
+
+            // Return 0 byte stream as a dummy...
+            return new ByteArrayInputStream(new byte[0]);
+        }
+    }
+
+    @Override
+    public String getString() {
+        checkNotDestroyed();
+        try {
+            byte[] bytes = IOUtils.toByteArray(getAsStream());
+            // Prevent crash from OOM; we've seen this, but only rarely and not reproducibly
+            if (bytes.length > ImapResponseParser.LITERAL_KEEP_IN_MEMORY_THRESHOLD) {
+                throw new IOException();
+            }
+            return Utility.fromAscii(bytes);
+        } catch (IOException e) {
+            LogUtils.w(TAG, "ImapTempFileLiteral: Error while reading temp file", e);
+            return "";
+        }
+    }
+
+    @Override
+    public void destroy() {
+        try {
+            if (!isDestroyed() && mFile.exists()) {
+                mFile.delete();
+            }
+        } catch (RuntimeException re) {
+            // Just log and ignore.
+            LogUtils.w(TAG, "Failed to remove temp file: " + re.getMessage());
+        }
+        super.destroy();
+    }
+
+    @Override
+    public String toString() {
+        return String.format("{%d byte literal(file)}", mSize);
+    }
+
+    public boolean tempFileExistsForTest() {
+        return mFile.exists();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/store/imap/ImapUtility.java b/src/com/android/phone/common/mail/store/imap/ImapUtility.java
new file mode 100644
index 0000000..8551d44
--- /dev/null
+++ b/src/com/android/phone/common/mail/store/imap/ImapUtility.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2015 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.common.mail.store.imap;
+
+import com.android.phone.common.mail.utils.LogUtils;
+
+import java.util.ArrayList;
+
+/**
+ * Utility methods for use with IMAP.
+ */
+public class ImapUtility {
+    public static final String TAG = "ImapUtility";
+    /**
+     * Apply quoting rules per IMAP RFC,
+     * quoted          = DQUOTE *QUOTED-CHAR DQUOTE
+     * QUOTED-CHAR     = <any TEXT-CHAR except quoted-specials> / "\" quoted-specials
+     * quoted-specials = DQUOTE / "\"
+     *
+     * This is used primarily for IMAP login, but might be useful elsewhere.
+     *
+     * NOTE:  Not very efficient - you may wish to preflight this, or perhaps it should check
+     * for trouble chars before calling the replace functions.
+     *
+     * @param s The string to be quoted.
+     * @return A copy of the string, having undergone quoting as described above
+     */
+    public static String imapQuoted(String s) {
+
+        // First, quote any backslashes by replacing \ with \\
+        // regex Pattern:  \\    (Java string const = \\\\)
+        // Substitute:     \\\\  (Java string const = \\\\\\\\)
+        String result = s.replaceAll("\\\\", "\\\\\\\\");
+
+        // Then, quote any double-quotes by replacing " with \"
+        // regex Pattern:  "    (Java string const = \")
+        // Substitute:     \\"  (Java string const = \\\\\")
+        result = result.replaceAll("\"", "\\\\\"");
+
+        // return string with quotes around it
+        return "\"" + result + "\"";
+    }
+
+    /**
+     * Gets all of the values in a sequence set per RFC 3501. Any ranges are expanded into a
+     * list of individual numbers. If the set is invalid, an empty array is returned.
+     * <pre>
+     * sequence-number = nz-number / "*"
+     * sequence-range  = sequence-number ":" sequence-number
+     * sequence-set    = (sequence-number / sequence-range) *("," sequence-set)
+     * </pre>
+     */
+    public static String[] getImapSequenceValues(String set) {
+        ArrayList<String> list = new ArrayList<String>();
+        if (set != null) {
+            String[] setItems = set.split(",");
+            for (String item : setItems) {
+                if (item.indexOf(':') == -1) {
+                    // simple item
+                    try {
+                        Integer.parseInt(item); // Don't need the value; just ensure it's valid
+                        list.add(item);
+                    } catch (NumberFormatException e) {
+                        LogUtils.d(TAG, "Invalid UID value", e);
+                    }
+                } else {
+                    // range
+                    for (String rangeItem : getImapRangeValues(item)) {
+                        list.add(rangeItem);
+                    }
+                }
+            }
+        }
+        String[] stringList = new String[list.size()];
+        return list.toArray(stringList);
+    }
+
+    /**
+     * Expand the given number range into a list of individual numbers. If the range is not valid,
+     * an empty array is returned.
+     * <pre>
+     * sequence-number = nz-number / "*"
+     * sequence-range  = sequence-number ":" sequence-number
+     * sequence-set    = (sequence-number / sequence-range) *("," sequence-set)
+     * </pre>
+     */
+    public static String[] getImapRangeValues(String range) {
+        ArrayList<String> list = new ArrayList<String>();
+        try {
+            if (range != null) {
+                int colonPos = range.indexOf(':');
+                if (colonPos > 0) {
+                    int first  = Integer.parseInt(range.substring(0, colonPos));
+                    int second = Integer.parseInt(range.substring(colonPos + 1));
+                    if (first < second) {
+                        for (int i = first; i <= second; i++) {
+                            list.add(Integer.toString(i));
+                        }
+                    } else {
+                        for (int i = first; i >= second; i--) {
+                            list.add(Integer.toString(i));
+                        }
+                    }
+                }
+            }
+        } catch (NumberFormatException e) {
+            LogUtils.d(TAG, "Invalid range value", e);
+        }
+        String[] stringList = new String[list.size()];
+        return list.toArray(stringList);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/utility/CountingOutputStream.java b/src/com/android/phone/common/mail/utility/CountingOutputStream.java
new file mode 100644
index 0000000..f631c3e
--- /dev/null
+++ b/src/com/android/phone/common/mail/utility/CountingOutputStream.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 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.common.mail.utility;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ * A simple pass-thru OutputStream that also counts how many bytes are written to it and
+ * makes that count available to callers.
+ */
+public class CountingOutputStream extends OutputStream {
+    private long mCount;
+    private final OutputStream mOutputStream;
+
+    public CountingOutputStream(OutputStream outputStream) {
+        mOutputStream = outputStream;
+    }
+
+    public long getCount() {
+        return mCount;
+    }
+
+    @Override
+    public void write(byte[] buffer, int offset, int count) throws IOException {
+        mOutputStream.write(buffer, offset, count);
+        mCount += count;
+    }
+
+    @Override
+    public void write(int oneByte) throws IOException {
+        mOutputStream.write(oneByte);
+        mCount++;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/utility/EOLConvertingOutputStream.java b/src/com/android/phone/common/mail/utility/EOLConvertingOutputStream.java
new file mode 100644
index 0000000..1d55152
--- /dev/null
+++ b/src/com/android/phone/common/mail/utility/EOLConvertingOutputStream.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015 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.common.mail.utility;
+
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+public class EOLConvertingOutputStream extends FilterOutputStream {
+    int lastChar;
+
+    public EOLConvertingOutputStream(OutputStream out) {
+        super(out);
+    }
+
+    @Override
+    public void write(int oneByte) throws IOException {
+        if (oneByte == '\n') {
+            if (lastChar != '\r') {
+                super.write('\r');
+            }
+        }
+        super.write(oneByte);
+        lastChar = oneByte;
+    }
+
+    @Override
+    public void flush() throws IOException {
+        if (lastChar == '\r') {
+            super.write('\n');
+            lastChar = '\n';
+        }
+        super.flush();
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/utils/LogUtils.java b/src/com/android/phone/common/mail/utils/LogUtils.java
new file mode 100644
index 0000000..711af9b
--- /dev/null
+++ b/src/com/android/phone/common/mail/utils/LogUtils.java
@@ -0,0 +1,416 @@
+/**
+ * Copyright (c) 2015 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.common.mail.utils;
+
+import android.net.Uri;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.List;
+import java.util.regex.Pattern;
+
+public class LogUtils {
+    public static final String TAG = "Email Log";
+
+    // "GMT" + "+" or "-" + 4 digits
+    private static final Pattern DATE_CLEANUP_PATTERN_WRONG_TIMEZONE =
+            Pattern.compile("GMT([-+]\\d{4})$");
+
+    private static final String ACCOUNT_PREFIX = "account:";
+
+    /**
+     * Priority constant for the println method; use LogUtils.v.
+     */
+    public static final int VERBOSE = Log.VERBOSE;
+
+    /**
+     * Priority constant for the println method; use LogUtils.d.
+     */
+    public static final int DEBUG = Log.DEBUG;
+
+    /**
+     * Priority constant for the println method; use LogUtils.i.
+     */
+    public static final int INFO = Log.INFO;
+
+    /**
+     * Priority constant for the println method; use LogUtils.w.
+     */
+    public static final int WARN = Log.WARN;
+
+    /**
+     * Priority constant for the println method; use LogUtils.e.
+     */
+    public static final int ERROR = Log.ERROR;
+
+    /**
+     * Used to enable/disable logging that we don't want included in
+     * production releases.  This should be set to DEBUG for production releases, and VERBOSE for
+     * internal builds.
+     */
+    // STOPSHIP: ship with DEBUG set
+    private static final int MAX_ENABLED_LOG_LEVEL = VERBOSE;
+
+    private static Boolean sDebugLoggingEnabledForTests = null;
+
+    /**
+     * Enable debug logging for unit tests.
+     */
+    @VisibleForTesting
+    public static void setDebugLoggingEnabledForTests(boolean enabled) {
+        setDebugLoggingEnabledForTestsInternal(enabled);
+    }
+
+    protected static void setDebugLoggingEnabledForTestsInternal(boolean enabled) {
+        sDebugLoggingEnabledForTests = Boolean.valueOf(enabled);
+    }
+
+    /**
+     * Returns true if the build configuration prevents debug logging.
+     */
+    @VisibleForTesting
+    public static boolean buildPreventsDebugLogging() {
+        return MAX_ENABLED_LOG_LEVEL > VERBOSE;
+    }
+
+    /**
+     * Returns a boolean indicating whether debug logging is enabled.
+     */
+    protected static boolean isDebugLoggingEnabled(String tag) {
+        if (buildPreventsDebugLogging()) {
+            return false;
+        }
+        if (sDebugLoggingEnabledForTests != null) {
+            return sDebugLoggingEnabledForTests.booleanValue();
+        }
+        return Log.isLoggable(tag, Log.DEBUG) || Log.isLoggable(TAG, Log.DEBUG);
+    }
+
+    /**
+     * Returns a String for the specified content provider uri.  This will do
+     * sanitation of the uri to remove PII if debug logging is not enabled.
+     */
+    public static String contentUriToString(final Uri uri) {
+        return contentUriToString(TAG, uri);
+    }
+
+    /**
+     * Returns a String for the specified content provider uri.  This will do
+     * sanitation of the uri to remove PII if debug logging is not enabled.
+     */
+    public static String contentUriToString(String tag, Uri uri) {
+        if (isDebugLoggingEnabled(tag)) {
+            // Debug logging has been enabled, so log the uri as is
+            return uri.toString();
+        } else {
+            // Debug logging is not enabled, we want to remove the email address from the uri.
+            List<String> pathSegments = uri.getPathSegments();
+
+            Uri.Builder builder = new Uri.Builder()
+                    .scheme(uri.getScheme())
+                    .authority(uri.getAuthority())
+                    .query(uri.getQuery())
+                    .fragment(uri.getFragment());
+
+            // This assumes that the first path segment is the account
+            final String account = pathSegments.get(0);
+
+            builder = builder.appendPath(sanitizeAccountName(account));
+            for (int i = 1; i < pathSegments.size(); i++) {
+                builder.appendPath(pathSegments.get(i));
+            }
+            return builder.toString();
+        }
+    }
+
+    /**
+     * Sanitizes an account name.  If debug logging is not enabled, a sanitized name
+     * is returned.
+     */
+    public static String sanitizeAccountName(String accountName) {
+        if (TextUtils.isEmpty(accountName)) {
+            return "";
+        }
+
+        return ACCOUNT_PREFIX + sanitizeName(TAG, accountName);
+    }
+
+    public static String sanitizeName(final String tag, final String name) {
+        if (TextUtils.isEmpty(name)) {
+            return "";
+        }
+
+        if (isDebugLoggingEnabled(tag)) {
+            return name;
+        }
+
+        return String.valueOf(name.hashCode());
+    }
+
+    /**
+     * Checks to see whether or not a log for the specified tag is loggable at the specified level.
+     */
+    public static boolean isLoggable(String tag, int level) {
+        if (MAX_ENABLED_LOG_LEVEL > level) {
+            return false;
+        }
+        return Log.isLoggable(tag, level) || Log.isLoggable(TAG, level);
+    }
+
+    /**
+     * Send a {@link #VERBOSE} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int v(String tag, String format, Object... args) {
+        if (isLoggable(tag, VERBOSE)) {
+            return Log.v(tag, String.format(format, args));
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #VERBOSE} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param tr An exception to log
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int v(String tag, Throwable tr, String format, Object... args) {
+        if (isLoggable(tag, VERBOSE)) {
+            return Log.v(tag, String.format(format, args), tr);
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #DEBUG} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int d(String tag, String format, Object... args) {
+        if (isLoggable(tag, DEBUG)) {
+            return Log.d(tag, String.format(format, args));
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #DEBUG} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param tr An exception to log
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int d(String tag, Throwable tr, String format, Object... args) {
+        if (isLoggable(tag, DEBUG)) {
+            return Log.d(tag, String.format(format, args), tr);
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #INFO} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int i(String tag, String format, Object... args) {
+        if (isLoggable(tag, INFO)) {
+            return Log.i(tag, String.format(format, args));
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #INFO} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param tr An exception to log
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int i(String tag, Throwable tr, String format, Object... args) {
+        if (isLoggable(tag, INFO)) {
+            return Log.i(tag, String.format(format, args), tr);
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #WARN} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int w(String tag, String format, Object... args) {
+        if (isLoggable(tag, WARN)) {
+            return Log.w(tag, String.format(format, args));
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #WARN} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param tr An exception to log
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int w(String tag, Throwable tr, String format, Object... args) {
+        if (isLoggable(tag, WARN)) {
+            return Log.w(tag, String.format(format, args), tr);
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #ERROR} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int e(String tag, String format, Object... args) {
+        if (isLoggable(tag, ERROR)) {
+            return Log.e(tag, String.format(format, args));
+        }
+        return 0;
+    }
+
+    /**
+     * Send a {@link #ERROR} log message.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param tr An exception to log
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int e(String tag, Throwable tr, String format, Object... args) {
+        if (isLoggable(tag, ERROR)) {
+            return Log.e(tag, String.format(format, args), tr);
+        }
+        return 0;
+    }
+
+    /**
+     * What a Terrible Failure: Report a condition that should never happen.
+     * The error will always be logged at level ASSERT with the call stack.
+     * Depending on system configuration, a report may be added to the
+     * {@link android.os.DropBoxManager} and/or the process may be terminated
+     * immediately with an error dialog.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int wtf(String tag, String format, Object... args) {
+        return Log.wtf(tag, String.format(format, args), new Error());
+    }
+
+    /**
+     * What a Terrible Failure: Report a condition that should never happen.
+     * The error will always be logged at level ASSERT with the call stack.
+     * Depending on system configuration, a report may be added to the
+     * {@link android.os.DropBoxManager} and/or the process may be terminated
+     * immediately with an error dialog.
+     * @param tag Used to identify the source of a log message.  It usually identifies
+     *        the class or activity where the log call occurs.
+     * @param tr An exception to log
+     * @param format the format string (see {@link java.util.Formatter#format})
+     * @param args
+     *            the list of arguments passed to the formatter. If there are
+     *            more arguments than required by {@code format},
+     *            additional arguments are ignored.
+     */
+    public static int wtf(String tag, Throwable tr, String format, Object... args) {
+        return Log.wtf(tag, String.format(format, args), tr);
+    }
+
+
+    /**
+     * Try to make a date MIME(RFC 2822/5322)-compliant.
+     *
+     * It fixes:
+     * - "Thu, 10 Dec 09 15:08:08 GMT-0700" to "Thu, 10 Dec 09 15:08:08 -0700"
+     *   (4 digit zone value can't be preceded by "GMT")
+     *   We got a report saying eBay sends a date in this format
+     */
+    public static String cleanUpMimeDate(String date) {
+        if (TextUtils.isEmpty(date)) {
+            return date;
+        }
+        date = DATE_CLEANUP_PATTERN_WRONG_TIMEZONE.matcher(date).replaceFirst("$1");
+        return date;
+    }
+
+
+    public static String byteToHex(int b) {
+        return byteToHex(new StringBuilder(), b).toString();
+    }
+
+    public static StringBuilder byteToHex(StringBuilder sb, int b) {
+        b &= 0xFF;
+        sb.append("0123456789ABCDEF".charAt(b >> 4));
+        sb.append("0123456789ABCDEF".charAt(b & 0xF));
+        return sb;
+    }
+
+}
\ No newline at end of file
diff --git a/src/com/android/phone/common/mail/utils/Utility.java b/src/com/android/phone/common/mail/utils/Utility.java
new file mode 100644
index 0000000..d71b25e
--- /dev/null
+++ b/src/com/android/phone/common/mail/utils/Utility.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) 2015 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.common.mail.utils;
+
+import java.io.ByteArrayInputStream;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+
+/**
+ * Simple utility methods used in email functions.
+ */
+public class Utility {
+    public static final Charset ASCII = Charset.forName("US-ASCII");
+
+    public static final String[] EMPTY_STRINGS = new String[0];
+
+    /**
+     * Returns a concatenated string containing the output of every Object's
+     * toString() method, each separated by the given separator character.
+     */
+    public static String combine(Object[] parts, char separator) {
+        if (parts == null) {
+            return null;
+        }
+        StringBuilder sb = new StringBuilder();
+        for (int i = 0; i < parts.length; i++) {
+            sb.append(parts[i].toString());
+            if (i < parts.length - 1) {
+                sb.append(separator);
+            }
+        }
+        return sb.toString();
+    }
+
+    /** Converts a String to ASCII bytes */
+    public static byte[] toAscii(String s) {
+        return encode(ASCII, s);
+    }
+
+    /** Builds a String from ASCII bytes */
+    public static String fromAscii(byte[] b) {
+        return decode(ASCII, b);
+    }
+
+    private static byte[] encode(Charset charset, String s) {
+        if (s == null) {
+            return null;
+        }
+        final ByteBuffer buffer = charset.encode(CharBuffer.wrap(s));
+        final byte[] bytes = new byte[buffer.limit()];
+        buffer.get(bytes);
+        return bytes;
+    }
+
+    private static String decode(Charset charset, byte[] b) {
+        if (b == null) {
+            return null;
+        }
+        final CharBuffer cb = charset.decode(ByteBuffer.wrap(b));
+        return new String(cb.array(), 0, cb.length());
+    }
+
+    public static ByteArrayInputStream streamFromAsciiString(String ascii) {
+        return new ByteArrayInputStream(toAscii(ascii));
+    }
+}
diff --git a/src/com/android/phone/settings/AccessibilitySettingsActivity.java b/src/com/android/phone/settings/AccessibilitySettingsActivity.java
new file mode 100644
index 0000000..769ef61
--- /dev/null
+++ b/src/com/android/phone/settings/AccessibilitySettingsActivity.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2015 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.settings;
+
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+import android.view.MenuItem;
+
+import com.android.phone.R;
+
+public class AccessibilitySettingsActivity extends PreferenceActivity {
+
+   @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        getActionBar().setTitle(R.string.accessibility_settings_activity_title);
+        getFragmentManager().beginTransaction().replace(
+                android.R.id.content, new AccessibilitySettingsFragment()).commit();
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == android.R.id.home) {
+            onBackPressed();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+}
diff --git a/src/com/android/phone/settings/AccessibilitySettingsFragment.java b/src/com/android/phone/settings/AccessibilitySettingsFragment.java
new file mode 100644
index 0000000..fdb0cd5
--- /dev/null
+++ b/src/com/android/phone/settings/AccessibilitySettingsFragment.java
@@ -0,0 +1,141 @@
+/*
+ * Copyright (C) 2015 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.settings;
+
+import android.content.Context;
+import android.media.AudioManager;
+import android.os.Bundle;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceScreen;
+import android.provider.Settings;
+import android.telecom.TelecomManager;
+import android.telephony.PhoneStateListener;
+import android.telephony.TelephonyManager;
+import android.util.Log;
+
+import com.android.ims.ImsManager;
+import com.android.phone.PhoneGlobals;
+import com.android.phone.R;
+import com.android.phone.settings.TtyModeListPreference;
+
+public class AccessibilitySettingsFragment extends PreferenceFragment {
+    private static final String LOG_TAG = AccessibilitySettingsFragment.class.getSimpleName();
+    private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
+
+    private static final String BUTTON_TTY_KEY = "button_tty_mode_key";
+    private static final String BUTTON_HAC_KEY = "button_hac_key";
+
+    private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
+        /**
+         * Disable the TTY setting when in/out of a call (and if carrier doesn't
+         * support VoLTE with TTY).
+         * @see android.telephony.PhoneStateListener#onCallStateChanged(int,
+         * java.lang.String)
+         */
+        @Override
+        public void onCallStateChanged(int state, String incomingNumber) {
+            if (DBG) Log.d(LOG_TAG, "PhoneStateListener.onCallStateChanged: state=" + state);
+            Preference pref = getPreferenceScreen().findPreference(BUTTON_TTY_KEY);
+            if (pref != null) {
+                pref.setEnabled(state == TelephonyManager.CALL_STATE_IDLE);
+            }
+        }
+    };
+
+    private Context mContext;
+    private AudioManager mAudioManager;
+
+    private TtyModeListPreference mButtonTty;
+    private CheckBoxPreference mButtonHac;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mContext = getActivity().getApplicationContext();
+        mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
+
+        addPreferencesFromResource(R.xml.accessibility_settings);
+
+        mButtonTty = (TtyModeListPreference) findPreference(
+                getResources().getString(R.string.tty_mode_key));
+        mButtonHac = (CheckBoxPreference) findPreference(BUTTON_HAC_KEY);
+
+        if (PhoneGlobals.getInstance().phoneMgr.isTtyModeSupported()) {
+            mButtonTty.init();
+        } else {
+            getPreferenceScreen().removePreference(mButtonTty);
+            mButtonTty = null;
+        }
+
+        if (PhoneGlobals.getInstance().phoneMgr.isHearingAidCompatibilitySupported()) {
+            int hac = Settings.System.getInt(mContext.getContentResolver(),
+                    Settings.System.HEARING_AID, SettingsConstants.HAC_DISABLED);
+            mButtonHac.setChecked(hac == SettingsConstants.HAC_ENABLED);
+        } else {
+            getPreferenceScreen().removePreference(mButtonHac);
+            mButtonHac = null;
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+
+        if (ImsManager.isVolteEnabledByPlatform(mContext) &&
+                !mContext.getResources().getBoolean(
+                        com.android.internal.R.bool.config_carrier_volte_tty_supported)) {
+            TelephonyManager tm =
+                    (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
+        }
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        if (ImsManager.isVolteEnabledByPlatform(mContext) &&
+                !mContext.getResources().getBoolean(
+                        com.android.internal.R.bool.config_carrier_volte_tty_supported)) {
+            TelephonyManager tm =
+                    (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+            tm.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        if (preference == mButtonTty) {
+            return true;
+        } else if (preference == mButtonHac) {
+            int hac = mButtonHac.isChecked()
+                    ? SettingsConstants.HAC_ENABLED : SettingsConstants.HAC_DISABLED;
+            // Update HAC value in Settings database.
+            Settings.System.putInt(mContext.getContentResolver(), Settings.System.HEARING_AID, hac);
+
+            // Update HAC Value in AudioManager.
+            mAudioManager.setParameter(SettingsConstants.HAC_KEY,
+                    hac == SettingsConstants.HAC_ENABLED
+                            ? SettingsConstants.HAC_VAL_ON : SettingsConstants.HAC_VAL_OFF);
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/phone/settings/SettingsConstants.java b/src/com/android/phone/settings/SettingsConstants.java
new file mode 100644
index 0000000..c17e6df
--- /dev/null
+++ b/src/com/android/phone/settings/SettingsConstants.java
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2015 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.settings;
+
+/**
+ * Constants related to settings which are shared by two or more classes.
+ */
+public class SettingsConstants {
+    // Dtmf tone type setting value for CDMA phone
+    public static final int DTMF_TONE_TYPE_NORMAL = 0;
+    public static final int DTMF_TONE_TYPE_LONG   = 1;
+
+    // Hearing Aid Compatability settings values.
+    public static final String HAC_KEY = "HACSetting";
+    public static final int HAC_DISABLED = 0;
+    public static final int HAC_ENABLED = 1;
+    public static final String HAC_VAL_ON = "ON";
+    public static final String HAC_VAL_OFF = "OFF";
+}
diff --git a/src/com/android/phone/settings/VoicemailDialogUtil.java b/src/com/android/phone/settings/VoicemailDialogUtil.java
index f1e7fa7..32cb37a 100644
--- a/src/com/android/phone/settings/VoicemailDialogUtil.java
+++ b/src/com/android/phone/settings/VoicemailDialogUtil.java
@@ -21,7 +21,6 @@
 import android.app.ProgressDialog;
 import android.view.WindowManager;
 
-import com.android.phone.CallFeaturesSetting;
 import com.android.phone.R;
 
 public class VoicemailDialogUtil {
@@ -37,7 +36,7 @@
     public static final int VM_REVERTING_DIALOG = 603;
     public static final int TTY_SET_RESPONSE_ERROR = 800;
 
-    public static Dialog getDialog(CallFeaturesSetting parent, int id) {
+    public static Dialog getDialog(VoicemailSettingsActivity parent, int id) {
         if ((id == VM_RESPONSE_ERROR_DIALOG) || (id == VM_NOCHANGE_ERROR_DIALOG) ||
             (id == FWD_SET_RESPONSE_ERROR_DIALOG) || (id == FWD_GET_RESPONSE_ERROR_DIALOG) ||
                 (id == VM_CONFIRM_DIALOG) || (id == TTY_SET_RESPONSE_ERROR)) {
diff --git a/src/com/android/phone/settings/VoicemailProviderListPreference.java b/src/com/android/phone/settings/VoicemailProviderListPreference.java
index 44a1c7c..d9f1a55 100644
--- a/src/com/android/phone/settings/VoicemailProviderListPreference.java
+++ b/src/com/android/phone/settings/VoicemailProviderListPreference.java
@@ -30,7 +30,6 @@
 import android.util.Log;
 
 import com.android.internal.telephony.Phone;
-import com.android.phone.CallFeaturesSetting;
 import com.android.phone.PhoneGlobals;
 import com.android.phone.R;
 
@@ -95,12 +94,14 @@
         if (DBG) log("initVoicemailProviders()");
 
         String providerToIgnore = null;
-        if (activityIntent.getAction().equals(CallFeaturesSetting.ACTION_ADD_VOICEMAIL)
-                && activityIntent.hasExtra(CallFeaturesSetting.IGNORE_PROVIDER_EXTRA)) {
+        String action = activityIntent.getAction();
+        if (!TextUtils.isEmpty(action)
+                && action.equals(VoicemailSettingsActivity.ACTION_ADD_VOICEMAIL)
+                && activityIntent.hasExtra(VoicemailSettingsActivity.IGNORE_PROVIDER_EXTRA)) {
             // Remove this provider from the list.
             if (DBG) log("Found ACTION_ADD_VOICEMAIL.");
             providerToIgnore =
-                    activityIntent.getStringExtra(CallFeaturesSetting.IGNORE_PROVIDER_EXTRA);
+                    activityIntent.getStringExtra(VoicemailSettingsActivity.IGNORE_PROVIDER_EXTRA);
             VoicemailProviderSettingsUtil.delete(mPhone.getContext(), providerToIgnore);
         }
 
@@ -119,7 +120,7 @@
 
         // Add other voicemail providers.
         PackageManager pm = mPhone.getContext().getPackageManager();
-        Intent intent = new Intent(CallFeaturesSetting.ACTION_CONFIGURE_VOICEMAIL);
+        Intent intent = new Intent(VoicemailSettingsActivity.ACTION_CONFIGURE_VOICEMAIL);
         List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, 0);
         for (int i = 0; i < resolveInfos.size(); i++) {
             final ResolveInfo ri= resolveInfos.get(i);
@@ -137,7 +138,7 @@
             }
             String nameForDisplay = (label != null) ? label.toString() : "";
             Intent providerIntent = new Intent();
-            providerIntent.setAction(CallFeaturesSetting.ACTION_CONFIGURE_VOICEMAIL);
+            providerIntent.setAction(VoicemailSettingsActivity.ACTION_CONFIGURE_VOICEMAIL);
             providerIntent.setClassName(currentActivityInfo.packageName, currentActivityInfo.name);
             VoicemailProvider vmProvider = new VoicemailProvider(nameForDisplay, providerIntent);
 
diff --git a/src/com/android/phone/settings/VoicemailSettingsActivity.java b/src/com/android/phone/settings/VoicemailSettingsActivity.java
index a94c27a..27349fe 100644
--- a/src/com/android/phone/settings/VoicemailSettingsActivity.java
+++ b/src/com/android/phone/settings/VoicemailSettingsActivity.java
@@ -16,21 +16,268 @@
 
 package com.android.phone.settings;
 
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.database.Cursor;
+import android.os.AsyncResult;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
 import android.preference.PreferenceActivity;
+import android.preference.PreferenceScreen;
+import android.provider.ContactsContract.CommonDataKinds;
+import android.text.TextUtils;
+import android.util.Log;
 import android.view.MenuItem;
+import android.widget.ListAdapter;
 
+import com.android.internal.telephony.CallForwardInfo;
+import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneConstants;
 import com.android.phone.R;
+import com.android.phone.EditPhoneNumberPreference;
+import com.android.phone.PhoneGlobals;
+import com.android.phone.SubscriptionInfoHelper;
 
-public class VoicemailSettingsActivity extends PreferenceActivity {
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+
+public class VoicemailSettingsActivity extends PreferenceActivity
+        implements DialogInterface.OnClickListener,
+                Preference.OnPreferenceChangeListener,
+                EditPhoneNumberPreference.OnDialogClosedListener,
+                EditPhoneNumberPreference.GetDefaultNumberListener {
+    private static final String LOG_TAG = VoicemailSettingsActivity.class.getSimpleName();
+    private static final boolean DBG = (PhoneGlobals.DBG_LEVEL >= 2);
+
+    /**
+     * Intent action to bring up Voicemail Provider settings
+     * DO NOT RENAME. There are existing apps which use this intent value.
+     */
+    public static final String ACTION_ADD_VOICEMAIL =
+            "com.android.phone.CallFeaturesSetting.ADD_VOICEMAIL";
+
+    /**
+     * Intent action to bring up the {@code VoicemailSettingsActivity}.
+     * DO NOT RENAME. There are existing apps which use this intent value.
+     */
+    public static final String ACTION_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
+    public static final String FWD_NUMBER_EXTRA = "com.android.phone.ForwardingNumber";
+    // Extra put in the return from VM provider config containing call forwarding number to set
+    public static final String FWD_NUMBER_TIME_EXTRA = "com.android.phone.ForwardingNumberTime";
+    // If the VM provider returns non null value in this extra we will force the user to
+    // choose another VM provider
+    public static final String SIGNOUT_EXTRA = "com.android.phone.Signout";
+
+    /**
+     * 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";
+
+    /**
+     * String Extra put into ACTION_ADD_VOICEMAIL to indicate that the voicemail setup screen should
+     * be opened.
+     */
+    public static final String SETUP_VOICEMAIL_EXTRA = "com.android.phone.SetupVoicemail";
+
+    // TODO: Define these preference keys in XML.
+    private static final String BUTTON_VOICEMAIL_KEY = "button_voicemail_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";
+
+    /** Event for Async voicemail change call */
+    private static final int EVENT_VOICEMAIL_CHANGED        = 500;
+    private static final int EVENT_FORWARDING_CHANGED       = 501;
+    private static final int EVENT_FORWARDING_GET_COMPLETED = 502;
+
+    /** Handle to voicemail pref */
+    private static final int VOICEMAIL_PREF_ID = 1;
+    private static final int VOICEMAIL_PROVIDER_CFG_ID = 2;
+
+    /**
+     * Results of reading forwarding settings
+     */
+    private CallForwardInfo[] mForwardingReadResults = null;
+
+    /**
+     * Result of forwarding number change.
+     * Keys are reasons (eg. unconditional forwarding).
+     */
+    private Map<Integer, AsyncResult> mForwardingChangeResults = null;
+
+    /**
+     * Expected CF read result types.
+     * This set keeps track of the CF types for which we've issued change
+     * commands so we can tell when we've received all of the responses.
+     */
+    private Collection<Integer> mExpectedChangeResultReasons = null;
+
+    /**
+     * Result of vm number change
+     */
+    private AsyncResult mVoicemailChangeResult = null;
+
+    /**
+     * Previous VM provider setting so we can return to it in case of failure.
+     */
+    private String mPreviousVMProviderKey = null;
+
+    /**
+     * Id of the dialog being currently shown.
+     */
+    private int mCurrentDialogId = 0;
+
+    /**
+     * Flag indicating that we are invoking settings for the voicemail provider programmatically
+     * due to vm provider change.
+     */
+    private boolean mVMProviderSettingsForced = false;
+
+    /**
+     * Flag indicating that we are making changes to vm or fwd numbers
+     * due to vm provider change.
+     */
+    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.
+     */
+    private boolean mVMChangeCompletedSuccessfully = false;
+
+    /**
+     * True if we had full or partial failure setting forwarding numbers and so need to roll them
+     * back.
+     */
+    private boolean mFwdChangesRequireRollback = false;
+
+    /**
+     * Id of error msg to display to user once we are done reverting the VM provider to the previous
+     * one.
+     */
+    private int mVMOrFwdSetError = 0;
+
+    /** string to hold old voicemail number as it is being updated. */
+    private String mOldVmNumber;
+
+    // New call forwarding settings and vm number we will be setting
+    // Need to save these since before we get to saving we need to asynchronously
+    // query the existing forwarding settings.
+    private CallForwardInfo[] mNewFwdSettings;
+    private String mNewVMNumber;
+
+    /**
+     * Used to indicate that the voicemail preference should be shown.
+     */
+    private boolean mShowVoicemailPreference = false;
+
+    private boolean mForeground;
+    private Phone mPhone;
+    private SubscriptionInfoHelper mSubscriptionInfoHelper;
+
+    private EditPhoneNumberPreference mSubMenuVoicemailSettings;
+    private VoicemailProviderListPreference mVoicemailProviders;
+    private PreferenceScreen mVoicemailSettings;
+    private VoicemailRingtonePreference mVoicemailNotificationRingtone;
+    private CheckBoxPreference mVoicemailNotificationVibrate;
+
+
+    //*********************************************************************************************
+    // Preference Activity Methods
+    //*********************************************************************************************
 
     @Override
     protected void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
-        getActionBar().setTitle(R.string.voicemail);
-        getFragmentManager().beginTransaction().replace(
-                android.R.id.content, new VoicemailSettingsFragment()).commit();
+        // Show the voicemail preference in onResume if the calling intent specifies the
+        // ACTION_ADD_VOICEMAIL action.
+        mShowVoicemailPreference = (icicle == null) &&
+                TextUtils.equals(getIntent().getAction(), ACTION_ADD_VOICEMAIL);
+
+        mSubscriptionInfoHelper = new SubscriptionInfoHelper(this, getIntent());
+        mSubscriptionInfoHelper.setActionBarTitle(
+                getActionBar(), getResources(), R.string.voicemail_settings_with_label);
+        mPhone = mSubscriptionInfoHelper.getPhone();
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        mForeground = true;
+
+        PreferenceScreen preferenceScreen = getPreferenceScreen();
+        if (preferenceScreen != null) {
+            preferenceScreen.removeAll();
+        }
+
+        addPreferencesFromResource(R.xml.voicemail_settings);
+
+        PreferenceScreen prefSet = getPreferenceScreen();
+        mSubMenuVoicemailSettings = (EditPhoneNumberPreference) findPreference(BUTTON_VOICEMAIL_KEY);
+        mSubMenuVoicemailSettings.setParentActivity(this, VOICEMAIL_PREF_ID, this);
+        mSubMenuVoicemailSettings.setDialogOnClosedListener(this);
+        mSubMenuVoicemailSettings.setDialogTitle(R.string.voicemail_settings_number_label);
+
+        mVoicemailProviders = (VoicemailProviderListPreference) findPreference(
+                BUTTON_VOICEMAIL_PROVIDER_KEY);
+        mVoicemailProviders.init(mPhone, getIntent());
+        mVoicemailProviders.setOnPreferenceChangeListener(this);
+        mPreviousVMProviderKey = mVoicemailProviders.getValue();
+
+        mVoicemailSettings = (PreferenceScreen) findPreference(BUTTON_VOICEMAIL_SETTING_KEY);
+
+        mVoicemailNotificationRingtone = (VoicemailRingtonePreference) findPreference(
+                getResources().getString(R.string.voicemail_notification_ringtone_key));
+        mVoicemailNotificationRingtone.init(mPhone);
+
+        mVoicemailNotificationVibrate = (CheckBoxPreference) findPreference(
+                getResources().getString(R.string.voicemail_notification_vibrate_key));
+        mVoicemailNotificationVibrate.setOnPreferenceChangeListener(this);
+
+        updateVMPreferenceWidgets(mVoicemailProviders.getValue());
+
+        // check the intent that started this activity and pop up the voicemail
+        // dialog if we've been asked to.
+        // If we have at least one non default VM provider registered then bring up
+        // the selection for the VM provider, otherwise bring up a VM number dialog.
+        // We only bring up the dialog the first time we are called (not after orientation change)
+        if (mShowVoicemailPreference) {
+            if (DBG) log("ACTION_ADD_VOICEMAIL Intent is thrown");
+            if (mVoicemailProviders.hasMoreThanOneVoicemailProvider()) {
+                if (DBG) log("Voicemail data has more than one provider.");
+                simulatePreferenceClick(mVoicemailProviders);
+            } else {
+                onPreferenceChange(mVoicemailProviders, VoicemailProviderListPreference.DEFAULT_KEY);
+                mVoicemailProviders.setValue(VoicemailProviderListPreference.DEFAULT_KEY);
+            }
+            mShowVoicemailPreference = false;
+        }
+
+        updateVoiceNumberField();
+        mVMProviderSettingsForced = false;
+
+        mVoicemailNotificationVibrate.setChecked(
+                VoicemailNotificationSettingsUtil.isVibrationEnabled(mPhone));
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mForeground = false;
     }
 
     @Override
@@ -41,4 +288,812 @@
         }
         return super.onOptionsItemSelected(item);
     }
+
+    @Override
+    public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+        if (preference == mSubMenuVoicemailSettings) {
+            return true;
+        } else if (preference.getKey().equals(mVoicemailSettings.getKey())) {
+            // Check key instead of comparing reference because closing the voicemail notification
+            // ringtone dialog invokes onResume(), but leaves the old preference screen up,
+            // TODO: Revert to checking reference after migrating voicemail to its own activity.
+            if (DBG) log("onPreferenceTreeClick: Voicemail Settings Preference is clicked.");
+
+            final Dialog dialog = ((PreferenceScreen) preference).getDialog();
+            if (dialog != null) {
+                dialog.getActionBar().setDisplayHomeAsUpEnabled(false);
+            }
+
+            if (preference.getIntent() != null) {
+                if (DBG) log("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; use default behavior in xml.");
+
+                // onActivityResult() will not be called, so reset variables here.
+                mPreviousVMProviderKey = VoicemailProviderListPreference.DEFAULT_KEY;
+                mVMProviderSettingsForced = false;
+                return false;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Implemented to support onPreferenceChangeListener to look for preference changes.
+     *
+     * @param preference is the preference to be changed
+     * @param objValue should be the value of the selection, NOT its localized
+     * display value.
+     */
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object objValue) {
+        if (DBG) log("onPreferenceChange: \"" + preference + "\" changed to \"" + objValue + "\"");
+
+        if (preference == mVoicemailProviders) {
+            final String newProviderKey = (String) objValue;
+
+            // 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 is made to the VM provider setting.");
+                return true;
+            }
+            updateVMPreferenceWidgets(newProviderKey);
+
+            final VoicemailProviderSettings newProviderSettings =
+                    VoicemailProviderSettingsUtil.load(this, newProviderKey);
+
+            // If the user switches to a voice mail provider and we have numbers stored for it we
+            // will automatically change the phone's voice mail and forwarding number to the stored
+            // ones. Otherwise we will bring up provider's configuration UI.
+            if (newProviderSettings == null) {
+                // Force the user into a configuration of the chosen provider
+                Log.w(LOG_TAG, "Saved preferences not found - invoking config");
+                mVMProviderSettingsForced = true;
+                simulatePreferenceClick(mVoicemailSettings);
+            } else {
+                if (DBG) log("Saved preferences found - switching to them");
+                // Set this flag so if we get a failure we revert to previous provider
+                mChangingVMorFwdDueToProviderChange = true;
+                saveVoiceMailAndForwardingNumber(newProviderKey, newProviderSettings);
+            }
+        } else if (preference.getKey().equals(mVoicemailNotificationVibrate.getKey())) {
+            // Check key instead of comparing reference because closing the voicemail notification
+            // ringtone dialog invokes onResume(), but leaves the old preference screen up,
+            // TODO: Revert to checking reference after migrating voicemail to its own activity.
+            VoicemailNotificationSettingsUtil.setVibrationEnabled(
+                    mPhone, Boolean.TRUE.equals(objValue));
+        }
+
+        // Always let the preference setting proceed.
+        return true;
+    }
+
+    /**
+     * Implemented for EditPhoneNumberPreference.GetDefaultNumberListener.
+     * 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
+            // mSubMenuVoicemailSettings itself, so we should return null.
+            if (DBG) log("updating default for voicemail dialog");
+            updateVoiceNumberField();
+            return null;
+        }
+
+        String vmDisplay = mPhone.getVoiceMailNumber();
+        if (TextUtils.isEmpty(vmDisplay)) {
+            // if there is no voicemail number, we just return null to
+            // indicate no contribution.
+            return null;
+        }
+
+        // Return the voicemail number prepended with "VM: "
+        if (DBG) log("updating default for call forwarding dialogs");
+        return getString(R.string.voicemail_abbreviated) + " " + vmDisplay;
+    }
+
+    @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) {
+            boolean failure = false;
+
+            // No matter how the processing of result goes lets clear the flag
+            if (DBG) log("mVMProviderSettingsForced: " + mVMProviderSettingsForced);
+            final boolean isVMProviderSettingsForced = mVMProviderSettingsForced;
+            mVMProviderSettingsForced = false;
+
+            String vmNum = null;
+            if (resultCode != RESULT_OK) {
+                if (DBG) log("onActivityResult: vm provider cfg result not OK.");
+                failure = true;
+            } else {
+                if (data == null) {
+                    if (DBG) log("onActivityResult: vm provider cfg result has no data");
+                    failure = true;
+                } else {
+                    if (data.getBooleanExtra(SIGNOUT_EXTRA, false)) {
+                        if (DBG) log("Provider requested signout");
+                        if (isVMProviderSettingsForced) {
+                            if (DBG) log("Going back to previous provider on signout");
+                            switchToPreviousVoicemailProvider();
+                        } else {
+                            final String victim = mVoicemailProviders.getKey();
+                            if (DBG) log("Relaunching activity and ignoring " + victim);
+                            Intent i = new Intent(ACTION_ADD_VOICEMAIL);
+                            i.putExtra(IGNORE_PROVIDER_EXTRA, victim);
+                            i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+                            this.startActivity(i);
+                        }
+                        return;
+                    }
+                    vmNum = data.getStringExtra(VM_NUMBER_EXTRA);
+                    if (vmNum == null || vmNum.length() == 0) {
+                        if (DBG) log("onActivityResult: vm provider cfg result has no vmnum");
+                        failure = true;
+                    }
+                }
+            }
+            if (failure) {
+                if (DBG) log("Failure in return from voicemail provider.");
+                if (isVMProviderSettingsForced) {
+                    switchToPreviousVoicemailProvider();
+                }
+
+                return;
+            }
+            mChangingVMorFwdDueToProviderChange = isVMProviderSettingsForced;
+            final String fwdNum = data.getStringExtra(FWD_NUMBER_EXTRA);
+
+            // TODO: It would be nice to load the current network setting for this and
+            // send it to the provider when it's config is invoked so it can use this as default
+            final int fwdNumTime = data.getIntExtra(FWD_NUMBER_TIME_EXTRA, 20);
+
+            if (DBG) log("onActivityResult: cfg result has forwarding number " + fwdNum);
+            saveVoiceMailAndForwardingNumber(mVoicemailProviders.getKey(),
+                    new VoicemailProviderSettings(vmNum, fwdNum, fwdNumTime));
+            return;
+        }
+
+        if (requestCode == VOICEMAIL_PREF_ID) {
+            if (resultCode != RESULT_OK) {
+                if (DBG) log("onActivityResult: contact picker result not OK.");
+                return;
+            }
+
+            Cursor cursor = null;
+            try {
+                cursor = getContentResolver().query(data.getData(),
+                    new String[] { CommonDataKinds.Phone.NUMBER }, 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;
+            } finally {
+                if (cursor != null) {
+                    cursor.close();
+                }
+            }
+        }
+
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+
+    /**
+     * Simulates user clicking on a passed preference.
+     * Usually needed when the preference is a dialog preference and we want to invoke
+     * a dialog for this preference programmatically.
+     * TODO: figure out if there is a cleaner way to cause preference dlg to come up
+     */
+    private void simulatePreferenceClick(Preference preference) {
+        // Go through settings until we find our setting
+        // and then simulate a click on it to bring up the dialog
+        final ListAdapter adapter = getPreferenceScreen().getRootAdapter();
+        for (int idx = 0; idx < adapter.getCount(); idx++) {
+            if (adapter.getItem(idx) == preference) {
+                getPreferenceScreen().onItemClick(this.getListView(),
+                        null, idx, adapter.getItemId(idx));
+                break;
+            }
+        }
+    }
+
+
+    //*********************************************************************************************
+    // Activity Dialog Methods
+    //*********************************************************************************************
+
+    @Override
+    protected void onPrepareDialog(int id, Dialog dialog) {
+        super.onPrepareDialog(id, dialog);
+        mCurrentDialogId = id;
+    }
+
+    // dialog creation method, called by showDialog()
+    @Override
+    protected Dialog onCreateDialog(int dialogId) {
+        return VoicemailDialogUtil.getDialog(this, dialogId);
+    }
+
+    @Override
+    public void onDialogClosed(EditPhoneNumberPreference preference, int buttonClicked) {
+        if (DBG) log("onDialogClosed: Button clicked is " + buttonClicked);
+
+        if (buttonClicked == DialogInterface.BUTTON_NEGATIVE) {
+            return;
+        }
+
+        if (preference == mSubMenuVoicemailSettings) {
+            VoicemailProviderSettings newSettings = new VoicemailProviderSettings(
+                    mSubMenuVoicemailSettings.getPhoneNumber(),
+                    VoicemailProviderSettings.NO_FORWARDING);
+            saveVoiceMailAndForwardingNumber(mVoicemailProviders.getKey(), newSettings);
+        }
+    }
+
+    /**
+     * Wrapper around showDialog() that will silently do nothing if we're
+     * not in the foreground.
+     *
+     * This is useful here because most of the dialogs we display from
+     * this class are triggered by asynchronous events (like
+     * success/failure messages from the telephony layer) and it's
+     * possible for those events to come in even after the user has gone
+     * to a different screen.
+     */
+    // TODO: this is too brittle: it's still easy to accidentally add new
+    // code here that calls showDialog() directly (which will result in a
+    // WindowManager$BadTokenException if called after the activity has
+    // been stopped.)
+    //
+    // It would be cleaner to do the "if (mForeground)" check in one
+    // central place, maybe by using a single Handler for all asynchronous
+    // events (and have *that* discard events if we're not in the
+    // foreground.)
+    //
+    // Unfortunately it's not that simple, since we sometimes need to do
+    // actual work to handle these events whether or not we're in the
+    // foreground (see the Handler code in mSetOptionComplete for
+    // example.)
+    //
+    // TODO: It's a bit worrisome that we don't do anything in error cases when we're not in the
+    // foreground. Consider displaying a toast instead.
+    private void showDialogIfForeground(int id) {
+        if (mForeground) {
+            showDialog(id);
+        }
+    }
+
+    private void dismissDialogSafely(int id) {
+        try {
+            dismissDialog(id);
+        } catch (IllegalArgumentException e) {
+            // This is expected in the case where we were in the background
+            // at the time we would normally have shown the dialog, so we didn't
+            // show it.
+        }
+    }
+
+    // This is a method implemented for DialogInterface.OnClickListener.
+    // Used with the error dialog to close the app, voicemail dialog to just dismiss.
+    // Close button is mapped to BUTTON_POSITIVE for the errors that close the activity,
+    // while those that are mapped to BUTTON_NEUTRAL only move the preference focus.
+    public void onClick(DialogInterface dialog, int which) {
+        if (DBG) log("onClick: button clicked is " + which);
+
+        dialog.dismiss();
+        switch (which){
+            case DialogInterface.BUTTON_NEGATIVE:
+                if (mCurrentDialogId == VoicemailDialogUtil.FWD_GET_RESPONSE_ERROR_DIALOG) {
+                    // We failed to get current forwarding settings and the user
+                    // does not wish to continue.
+                    switchToPreviousVoicemailProvider();
+                }
+                break;
+            case DialogInterface.BUTTON_POSITIVE:
+                if (mCurrentDialogId == VoicemailDialogUtil.FWD_GET_RESPONSE_ERROR_DIALOG) {
+                    // We failed to get current forwarding settings but the user
+                    // wishes to continue changing settings to the new vm provider
+                    setVoicemailNumberWithCarrier();
+                } else {
+                    finish();
+                }
+                return;
+            default:
+                // just let the dialog close and go back to the input
+        }
+
+        // In all dialogs, all buttons except BUTTON_POSITIVE lead to the end of user interaction
+        // with settings UI. If we were called to explicitly configure voice mail then
+        // we finish the settings activity here to come back to whatever the user was doing.
+        if (getIntent().getAction().equals(ACTION_ADD_VOICEMAIL)) {
+            finish();
+        }
+    }
+
+
+    //*********************************************************************************************
+    // Voicemail Methods
+    //*********************************************************************************************
+
+    /**
+     * TODO: Refactor to make it easier to understand what's done in the different stages.
+     */
+    private void saveVoiceMailAndForwardingNumber(
+            String key, VoicemailProviderSettings newSettings) {
+        if (DBG) log("saveVoiceMailAndForwardingNumber: " + newSettings.toString());
+        mNewVMNumber = newSettings.getVoicemailNumber();
+        mNewVMNumber = (mNewVMNumber == null) ? "" : mNewVMNumber;
+        mNewFwdSettings = newSettings.getForwardingSettings();
+
+        // Call forwarding is not suppported on CDMA.
+        if (mPhone.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA) {
+            if (DBG) log("Ignoring forwarding setting since this is CDMA phone");
+            mNewFwdSettings = VoicemailProviderSettings.NO_FORWARDING;
+        }
+
+        // Throw a warning if the voicemail is the same and we did not change forwarding.
+        if (mNewVMNumber.equals(mOldVmNumber)
+                && mNewFwdSettings == VoicemailProviderSettings.NO_FORWARDING) {
+            showDialogIfForeground(VoicemailDialogUtil.VM_NOCHANGE_ERROR_DIALOG);
+            return;
+        }
+
+        VoicemailProviderSettingsUtil.save(this, key, newSettings);
+        mVMChangeCompletedSuccessfully = false;
+        mFwdChangesRequireRollback = false;
+        mVMOrFwdSetError = 0;
+
+        if (mNewFwdSettings == VoicemailProviderSettings.NO_FORWARDING
+                || key.equals(mPreviousVMProviderKey)) {
+            if (DBG) log("Set voicemail number. No changes to forwarding number.");
+            setVoicemailNumberWithCarrier();
+        } else {
+            if (DBG) log("Reading current forwarding settings.");
+            int numSettingsReasons = VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS.length;
+            mForwardingReadResults = new CallForwardInfo[numSettingsReasons];
+            for (int i = 0; i < mForwardingReadResults.length; i++) {
+                mPhone.getCallForwardingOption(
+                        VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS[i],
+                        mGetOptionComplete.obtainMessage(EVENT_FORWARDING_GET_COMPLETED, i, 0));
+            }
+            showDialogIfForeground(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
+        }
+
+        PhoneGlobals.getInstance().refreshMwiIndicator(mSubscriptionInfoHelper.getSubId());
+    }
+
+    private final Handler mGetOptionComplete = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            AsyncResult result = (AsyncResult) msg.obj;
+            switch (msg.what) {
+                case EVENT_FORWARDING_GET_COMPLETED:
+                    handleForwardingSettingsReadResult(result, msg.arg1);
+                    break;
+            }
+        }
+    };
+
+    private void handleForwardingSettingsReadResult(AsyncResult ar, int idx) {
+        if (DBG) Log.d(LOG_TAG, "handleForwardingSettingsReadResult: " + idx);
+
+        Throwable error = null;
+        if (ar.exception != null) {
+            error = ar.exception;
+            if (DBG) Log.d(LOG_TAG, "FwdRead: ar.exception=" + error.getMessage());
+        }
+        if (ar.userObj instanceof Throwable) {
+            error = (Throwable) ar.userObj;
+            if (DBG) Log.d(LOG_TAG, "FwdRead: userObj=" + error.getMessage());
+        }
+
+        // We may have already gotten an error and decided to ignore the other results.
+        if (mForwardingReadResults == null) {
+            if (DBG) Log.d(LOG_TAG, "Ignoring fwd reading result: " + idx);
+            return;
+        }
+
+        // In case of error ignore other results, show an error dialog
+        if (error != null) {
+            if (DBG) Log.d(LOG_TAG, "Error discovered for fwd read : " + idx);
+            mForwardingReadResults = null;
+            dismissDialogSafely(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
+            showDialogIfForeground(VoicemailDialogUtil.FWD_GET_RESPONSE_ERROR_DIALOG);
+            return;
+        }
+
+        // Get the forwarding info.
+        mForwardingReadResults[idx] = CallForwardInfoUtil.getCallForwardInfo(
+                (CallForwardInfo[]) ar.result,
+                VoicemailProviderSettings.FORWARDING_SETTINGS_REASONS[idx]);
+
+        // Check if we got all the results already
+        boolean done = true;
+        for (int i = 0; i < mForwardingReadResults.length; i++) {
+            if (mForwardingReadResults[i] == null) {
+                done = false;
+                break;
+            }
+        }
+
+        if (done) {
+            if (DBG) Log.d(LOG_TAG, "Done receiving fwd info");
+            dismissDialogSafely(VoicemailDialogUtil.VM_FWD_READING_DIALOG);
+
+            if (mPreviousVMProviderKey.equals(VoicemailProviderListPreference.DEFAULT_KEY)) {
+                VoicemailProviderSettingsUtil.save(mPhone.getContext(),
+                        VoicemailProviderListPreference.DEFAULT_KEY,
+                        new VoicemailProviderSettings(mOldVmNumber, mForwardingReadResults));
+            }
+            saveVoiceMailAndForwardingNumberStage2();
+        }
+    }
+
+    private void resetForwardingChangeState() {
+        mForwardingChangeResults = new HashMap<Integer, AsyncResult>();
+        mExpectedChangeResultReasons = new HashSet<Integer>();
+    }
+
+    // Called after we are done saving the previous forwarding settings if we needed.
+    private void saveVoiceMailAndForwardingNumberStage2() {
+        mForwardingChangeResults = null;
+        mVoicemailChangeResult = null;
+
+        resetForwardingChangeState();
+        for (int i = 0; i < mNewFwdSettings.length; i++) {
+            CallForwardInfo fi = mNewFwdSettings[i];
+            CallForwardInfo fiForReason =
+                    CallForwardInfoUtil.infoForReason(mForwardingReadResults, fi.reason);
+            final boolean doUpdate = CallForwardInfoUtil.isUpdateRequired(fiForReason, fi);
+
+            if (doUpdate) {
+                if (DBG) log("Setting fwd #: " + i + ": " + fi.toString());
+                mExpectedChangeResultReasons.add(i);
+
+                CallForwardInfoUtil.setCallForwardingOption(mPhone, fi,
+                        mSetOptionComplete.obtainMessage(
+                                EVENT_FORWARDING_CHANGED, fi.reason, 0));
+            }
+        }
+        showDialogIfForeground(VoicemailDialogUtil.VM_FWD_SAVING_DIALOG);
+    }
+
+
+    /**
+     * Callback to handle option update completions
+     */
+    private final Handler mSetOptionComplete = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            AsyncResult result = (AsyncResult) msg.obj;
+            boolean done = false;
+            switch (msg.what) {
+                case EVENT_VOICEMAIL_CHANGED:
+                    mVoicemailChangeResult = result;
+                    mVMChangeCompletedSuccessfully = isVmChangeSuccess();
+                    done = true;
+                    break;
+                case EVENT_FORWARDING_CHANGED:
+                    mForwardingChangeResults.put(msg.arg1, result);
+                    if (result.exception != null) {
+                        Log.w(LOG_TAG, "Error in setting fwd# " + msg.arg1 + ": " +
+                                result.exception.getMessage());
+                    }
+                    if (isForwardingCompleted()) {
+                        if (isFwdChangeSuccess()) {
+                            if (DBG) log("Overall fwd changes completed ok, starting vm change");
+                            setVoicemailNumberWithCarrier();
+                        } else {
+                            Log.w(LOG_TAG, "Overall fwd changes completed in failure. " +
+                                    "Check if we need to try rollback for some settings.");
+                            mFwdChangesRequireRollback = false;
+                            Iterator<Map.Entry<Integer,AsyncResult>> it =
+                                mForwardingChangeResults.entrySet().iterator();
+                            while (it.hasNext()) {
+                                Map.Entry<Integer,AsyncResult> entry = it.next();
+                                if (entry.getValue().exception == null) {
+                                    // If at least one succeeded we have to revert
+                                    Log.i(LOG_TAG, "Rollback will be required");
+                                    mFwdChangesRequireRollback = true;
+                                    break;
+                                }
+                            }
+                            if (!mFwdChangesRequireRollback) {
+                                Log.i(LOG_TAG, "No rollback needed.");
+                            }
+                            done = true;
+                        }
+                    }
+                    break;
+                default:
+                    // TODO: should never reach this, may want to throw exception
+            }
+
+            if (done) {
+                if (DBG) log("All VM provider related changes done");
+                if (mForwardingChangeResults != null) {
+                    dismissDialogSafely(VoicemailDialogUtil.VM_FWD_SAVING_DIALOG);
+                }
+                handleSetVmOrFwdMessage();
+            }
+        }
+    };
+
+    /**
+     * Callback to handle option revert completions
+     */
+    private final Handler mRevertOptionComplete = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            AsyncResult result = (AsyncResult) msg.obj;
+            switch (msg.what) {
+                case EVENT_VOICEMAIL_CHANGED:
+                    if (DBG) log("VM revert complete msg");
+                    mVoicemailChangeResult = result;
+                    break;
+
+                case EVENT_FORWARDING_CHANGED:
+                    if (DBG) log("FWD revert complete msg ");
+                    mForwardingChangeResults.put(msg.arg1, result);
+                    if (result.exception != null) {
+                        if (DBG) log("Error in reverting fwd# " + msg.arg1 + ": " +
+                                result.exception.getMessage());
+                    }
+                    break;
+
+                default:
+                    // TODO: should never reach this, may want to throw exception
+            }
+
+            final boolean done = (!mVMChangeCompletedSuccessfully || mVoicemailChangeResult != null)
+                    && (!mFwdChangesRequireRollback || isForwardingCompleted());
+            if (done) {
+                if (DBG) log("All VM reverts done");
+                dismissDialogSafely(VoicemailDialogUtil.VM_REVERTING_DIALOG);
+                onRevertDone();
+            }
+        }
+    };
+
+    private void setVoicemailNumberWithCarrier() {
+        if (DBG) log("save voicemail #: " + mNewVMNumber);
+
+        mVoicemailChangeResult = null;
+        mPhone.setVoiceMailNumber(
+                mPhone.getVoiceMailAlphaTag().toString(),
+                mNewVMNumber,
+                Message.obtain(mSetOptionComplete, EVENT_VOICEMAIL_CHANGED));
+    }
+
+    private void switchToPreviousVoicemailProvider() {
+        if (DBG) log("switchToPreviousVoicemailProvider " + mPreviousVMProviderKey);
+
+        if (mPreviousVMProviderKey == null) {
+            return;
+        }
+
+        if (mVMChangeCompletedSuccessfully || mFwdChangesRequireRollback) {
+            showDialogIfForeground(VoicemailDialogUtil.VM_REVERTING_DIALOG);
+            final VoicemailProviderSettings prevSettings =
+                    VoicemailProviderSettingsUtil.load(this, mPreviousVMProviderKey);
+            if (prevSettings == null) {
+                Log.e(LOG_TAG, "VoicemailProviderSettings for the key \""
+                        + mPreviousVMProviderKey + "\" is null but should be loaded.");
+            }
+
+            if (mVMChangeCompletedSuccessfully) {
+                mNewVMNumber = prevSettings.getVoicemailNumber();
+                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) {
+                Log.i(LOG_TAG, "Requested to rollback forwarding changes.");
+
+                final CallForwardInfo[] prevFwdSettings = prevSettings.getForwardingSettings();
+                if (prevFwdSettings != null) {
+                    Map<Integer, AsyncResult> results = mForwardingChangeResults;
+                    resetForwardingChangeState();
+                    for (int i = 0; i < prevFwdSettings.length; i++) {
+                        CallForwardInfo fi = prevFwdSettings[i];
+                        if (DBG) log("Reverting fwd #: " + i + ": " + fi.toString());
+                        // Only revert the settings for which the update succeeded.
+                        AsyncResult result = results.get(fi.reason);
+                        if (result != null && result.exception == null) {
+                            mExpectedChangeResultReasons.add(fi.reason);
+                            CallForwardInfoUtil.setCallForwardingOption(mPhone, fi,
+                                    mRevertOptionComplete.obtainMessage(
+                                            EVENT_FORWARDING_CHANGED, i, 0));
+                        }
+                    }
+                }
+            }
+        } else {
+            if (DBG) log("No need to revert");
+            onRevertDone();
+        }
+    }
+
+
+    //*********************************************************************************************
+    // Voicemail Handler Helpers
+    //*********************************************************************************************
+
+    /**
+     * Updates the look of the VM preference widgets based on current VM provider settings.
+     * Note that the provider name is loaded fxrorm the found activity via loadLabel in
+     * {@link VoicemailProviderListPreference#initVoiceMailProviders()} in order for it to be
+     * localizable.
+     */
+    private void updateVMPreferenceWidgets(String currentProviderSetting) {
+        final String key = currentProviderSetting;
+        final VoicemailProviderListPreference.VoicemailProvider provider =
+                mVoicemailProviders.getVoicemailProvider(key);
+
+        /* This is the case when we are coming up on a freshly wiped phone and there is no
+         persisted value for the list preference mVoicemailProviders.
+         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: key: " + key + " -> null.");
+
+            mVoicemailProviders.setSummary(getString(R.string.sum_voicemail_choose_provider));
+            mVoicemailSettings.setEnabled(false);
+            mVoicemailSettings.setIntent(null);
+            mVoicemailNotificationVibrate.setEnabled(false);
+        } else {
+            if (DBG) log("updateVMPreferenceWidget: key: " + key + " -> " + provider.toString());
+
+            final String providerName = provider.name;
+            mVoicemailProviders.setSummary(providerName);
+            mVoicemailSettings.setEnabled(true);
+            mVoicemailSettings.setIntent(provider.intent);
+            mVoicemailNotificationVibrate.setEnabled(true);
+        }
+    }
+
+    /**
+     * Update the voicemail number from what we've recorded on the sim.
+     */
+    private void updateVoiceNumberField() {
+        if (DBG) log("updateVoiceNumberField()");
+
+        mOldVmNumber = mPhone.getVoiceMailNumber();
+        if (TextUtils.isEmpty(mOldVmNumber)) {
+            mSubMenuVoicemailSettings.setPhoneNumber("");
+            mSubMenuVoicemailSettings.setSummary(getString(R.string.voicemail_number_not_set));
+        } else {
+            mSubMenuVoicemailSettings.setPhoneNumber(mOldVmNumber);
+            mSubMenuVoicemailSettings.setSummary(mOldVmNumber);
+        }
+    }
+
+    private void handleSetVmOrFwdMessage() {
+        if (DBG) log("handleSetVMMessage: set VM request complete");
+
+        if (!isFwdChangeSuccess()) {
+            handleVmOrFwdSetError(VoicemailDialogUtil.FWD_SET_RESPONSE_ERROR_DIALOG);
+        } else if (!isVmChangeSuccess()) {
+            handleVmOrFwdSetError(VoicemailDialogUtil.VM_RESPONSE_ERROR_DIALOG);
+        } else {
+            handleVmAndFwdSetSuccess(VoicemailDialogUtil.VM_CONFIRM_DIALOG);
+        }
+    }
+
+    /**
+     * Called when Voicemail Provider or its forwarding settings failed. Rolls back partly made
+     * changes to those settings and show "failure" dialog.
+     *
+     * @param dialogId ID of the dialog to show for the specific error case. Either
+     *     {@link #FWD_SET_RESPONSE_ERROR_DIALOG} or {@link #VM_RESPONSE_ERROR_DIALOG}
+     */
+    private void handleVmOrFwdSetError(int dialogId) {
+        if (mChangingVMorFwdDueToProviderChange) {
+            mVMOrFwdSetError = dialogId;
+            mChangingVMorFwdDueToProviderChange = false;
+            switchToPreviousVoicemailProvider();
+            return;
+        }
+        mChangingVMorFwdDueToProviderChange = false;
+        showDialogIfForeground(dialogId);
+        updateVoiceNumberField();
+    }
+
+    /**
+     * 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 dialogId) {
+        if (DBG) log("handleVmAndFwdSetSuccess: key is " + mVoicemailProviders.getKey());
+
+        mPreviousVMProviderKey = mVoicemailProviders.getKey();
+        mChangingVMorFwdDueToProviderChange = false;
+        showDialogIfForeground(dialogId);
+        updateVoiceNumberField();
+    }
+
+    private void onRevertDone() {
+        if (DBG) log("onRevertDone: Changing provider key back to " + mPreviousVMProviderKey);
+
+        updateVMPreferenceWidgets(mPreviousVMProviderKey);
+        updateVoiceNumberField();
+        if (mVMOrFwdSetError != 0) {
+            showDialogIfForeground(mVMOrFwdSetError);
+            mVMOrFwdSetError = 0;
+        }
+    }
+
+
+    //*********************************************************************************************
+    // Voicemail State Helpers
+    //*********************************************************************************************
+
+    /**
+     * Return true if there is a change result for every reason for which we expect a result.
+     */
+    private boolean isForwardingCompleted() {
+        if (mForwardingChangeResults == null) {
+            return true;
+        }
+
+        for (Integer reason : mExpectedChangeResultReasons) {
+            if (mForwardingChangeResults.get(reason) == null) {
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    private boolean isFwdChangeSuccess() {
+        if (mForwardingChangeResults == null) {
+            return true;
+        }
+
+        for (AsyncResult result : mForwardingChangeResults.values()) {
+            Throwable exception = result.exception;
+            if (exception != null) {
+                String msg = exception.getMessage();
+                msg = (msg != null) ? msg : "";
+                Log.w(LOG_TAG, "Failed to change forwarding setting. Reason: " + msg);
+                return false;
+            }
+        }
+        return true;
+    }
+
+    private boolean isVmChangeSuccess() {
+        if (mVoicemailChangeResult.exception != null) {
+            String msg = mVoicemailChangeResult.exception.getMessage();
+            msg = (msg != null) ? msg : "";
+            Log.w(LOG_TAG, "Failed to change voicemail. Reason: " + msg);
+            return false;
+        }
+        return true;
+    }
+
+    private static void log(String msg) {
+        Log.d(LOG_TAG, msg);
+    }
 }
diff --git a/src/com/android/phone/settings/VoicemailSettingsFragment.java b/src/com/android/phone/settings/VoicemailSettingsFragment.java
deleted file mode 100644
index fef3e8c..0000000
--- a/src/com/android/phone/settings/VoicemailSettingsFragment.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Copyright (C) 2014 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.settings;
-
-import android.os.Bundle;
-import android.preference.PreferenceFragment;
-
-import com.android.phone.R;
-
-public class VoicemailSettingsFragment extends PreferenceFragment {
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        addPreferencesFromResource(R.xml.voicemail_settings);
-    }
-}
diff --git a/src/com/android/phone/settings/fdn/GetPin2Screen.java b/src/com/android/phone/settings/fdn/GetPin2Screen.java
index 5959a51..2394a69 100644
--- a/src/com/android/phone/settings/fdn/GetPin2Screen.java
+++ b/src/com/android/phone/settings/fdn/GetPin2Screen.java
@@ -25,6 +25,7 @@
 import android.text.method.DigitsKeyListener;
 import android.util.Log;
 import android.view.KeyEvent;
+import android.view.MenuItem;
 import android.view.View;
 import android.view.inputmethod.EditorInfo;
 import android.widget.Button;
@@ -60,6 +61,15 @@
         mOkButton.setOnClickListener(mClicked);
     }
 
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == android.R.id.home) {
+            onBackPressed();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
     private String getPin2() {
         return mPin2Field.getText().toString();
     }
diff --git a/src/com/android/phone/vvm/omtp/OmtpVvmSyncAccountManager.java b/src/com/android/phone/vvm/omtp/OmtpVvmSyncAccountManager.java
index de39745..b891c70 100644
--- a/src/com/android/phone/vvm/omtp/OmtpVvmSyncAccountManager.java
+++ b/src/com/android/phone/vvm/omtp/OmtpVvmSyncAccountManager.java
@@ -19,8 +19,14 @@
 import android.accounts.AccountManager;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.provider.VoicemailContract;
+import android.telecom.PhoneAccountHandle;
+import android.telephony.SubscriptionManager;
 import android.util.Log;
 
+import com.android.phone.PhoneUtils;
+import com.android.phone.vvm.omtp.sms.StatusMessage;
+
 /**
  * A singleton class designed to assist in OMTP visual voicemail sync behavior.
  */
@@ -34,6 +40,8 @@
 
     private static OmtpVvmSyncAccountManager sInstance = new OmtpVvmSyncAccountManager();
 
+    private Context mContext;
+    private SubscriptionManager mSubscriptionManager;
     private AccountManager mAccountManager;
 
     /**
@@ -42,16 +50,18 @@
     private OmtpVvmSyncAccountManager() {}
 
     public static OmtpVvmSyncAccountManager getInstance(Context context) {
-        sInstance.setAccountManager(context);
+        sInstance.setup(context);
         return sInstance;
     }
 
     /**
-     * Set the account manager so it does not need to be retrieved every time.
-     * @param context The context to get the account manager for.
+     * Set the context and system services so they do not need to be retrieved every time.
+     * @param context The context to get the account manager and subscription manager for.
      */
-    private void setAccountManager(Context context) {
-        if (mAccountManager == null) {
+    private void setup(Context context) {
+        if (mContext == null) {
+            mContext = context;
+            mSubscriptionManager = SubscriptionManager.from(context);
             mAccountManager = AccountManager.get(context);
         }
     }
@@ -74,6 +84,26 @@
     }
 
     /**
+     * When a voicemail source is removed, we don't always know which one was removed. Check the
+     * list of registered sync accounts against the active subscriptions list and remove the
+     * inactive accounts.
+     */
+    public void removeInactiveAccounts() {
+        Account[] registeredAccounts = mAccountManager.getAccountsByType(ACCOUNT_TYPE);
+        for (int i = 0; i < registeredAccounts.length; i++) {
+            PhoneAccountHandle handle = PhoneUtils.makePstnPhoneAccountHandle(
+                    registeredAccounts[i].name);
+            if (!PhoneUtils.isPhoneAccountActive(mSubscriptionManager, handle)) {
+                mAccountManager.removeAccount(registeredAccounts[i], null, null, null);
+                VoicemailContract.Status.setStatus(mContext, handle,
+                        VoicemailContract.Status.CONFIGURATION_STATE_NOT_CONFIGURED,
+                        VoicemailContract.Status.DATA_CHANNEL_STATE_NO_CONNECTION,
+                        VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_NO_CONNECTION);
+            }
+        }
+    }
+
+    /**
      * Check if a certain account is registered.
      *
      * @param account The account to look for.
@@ -89,4 +119,20 @@
         }
         return false;
     }
+
+    /**
+     * Set the IMAP credentials as extra fields in the account.
+     *
+     * @param account The account to add credentials to.
+     * @param message The status message to extract the fields from.
+     */
+    public void setAccountCredentialsFromStatusMessage(Account account, StatusMessage message) {
+        mAccountManager.setUserData(account, OmtpConstants.IMAP_PORT, message.getImapPort());
+        mAccountManager.setUserData(account, OmtpConstants.SERVER_ADDRESS,
+                message.getServerAddress());
+        mAccountManager.setUserData(account, OmtpConstants.IMAP_USER_NAME,
+                message.getImapUserName());
+        mAccountManager.setUserData(account, OmtpConstants.IMAP_PASSWORD,
+                message.getImapPassword());
+    }
 }
diff --git a/src/com/android/phone/vvm/omtp/OmtpVvmSyncService.java b/src/com/android/phone/vvm/omtp/OmtpVvmSyncService.java
index 811e7e6..fc444ba 100644
--- a/src/com/android/phone/vvm/omtp/OmtpVvmSyncService.java
+++ b/src/com/android/phone/vvm/omtp/OmtpVvmSyncService.java
@@ -25,11 +25,25 @@
 import android.app.Service;
 import android.content.AbstractThreadedSyncAdapter;
 import android.content.ContentProviderClient;
+import android.content.ContentResolver;
+import android.content.ContentUris;
+import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SyncResult;
+import android.database.Cursor;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.provider.VoicemailContract;
+import android.provider.VoicemailContract.Voicemails;
+import android.telecom.Voicemail;
+
+import com.android.phone.vvm.omtp.imap.ImapHelper;
+import com.android.phone.vvm.omtp.sync.DirtyVoicemailQuery;
+
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * A service to run the VvmSyncAdapter.
@@ -55,14 +69,110 @@
     }
 
     public class OmtpVvmSyncAdapter extends AbstractThreadedSyncAdapter {
+        /**
+         * Sync triggers should pass this extra to clear the database and freshly populate from the
+         * server.
+         */
+        public static final String SYNC_EXTRAS_CLEAR_AND_RELOAD = "extra_clear_and_reload";
+
+        private Context mContext;
+        private ContentResolver mContentResolver;
+
         public OmtpVvmSyncAdapter(Context context, boolean autoInitialize) {
             super(context, autoInitialize);
+            mContext = context;
+            mContentResolver = context.getContentResolver();
         }
 
         @Override
         public void onPerformSync(Account account, Bundle extras, String authority,
                 ContentProviderClient provider, SyncResult syncResult) {
-            // TODO: Write code necessary for syncing.
+            ImapHelper imapHelper = new ImapHelper(mContext, account);
+
+            if (extras.getBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, false)) {
+                List<Voicemail> readVoicemails = new ArrayList<Voicemail>();
+                List<Voicemail> deletedVoicemails = new ArrayList<Voicemail>();
+
+                Cursor cursor = DirtyVoicemailQuery.getDirtyVoicemails(mContext);
+                if (cursor == null) {
+                    return;
+                }
+                try {
+                    while (cursor.moveToNext()) {
+                        final long id = cursor.getLong(DirtyVoicemailQuery._ID);
+                        final String sourceData = cursor.getString(DirtyVoicemailQuery.SOURCE_DATA);
+                        final boolean isRead = cursor.getInt(DirtyVoicemailQuery.IS_READ) == 1;
+                        final boolean deleted = cursor.getInt(DirtyVoicemailQuery.DELETED) == 1;
+                        Voicemail voicemail = Voicemail.createForUpdate(id, sourceData).build();
+                        if (deleted) {
+                            // Check deleted first because if the voicemail is deleted, there's no
+                            // need to mark as read.
+                            deletedVoicemails.add(voicemail);
+                        } else if (isRead) {
+                            readVoicemails.add(voicemail);
+                        }
+                    }
+                } finally {
+                    cursor.close();
+                }
+                if (imapHelper.markMessagesAsDeleted(deletedVoicemails)) {
+                    // We want to delete selectively instead of all the voicemails for this provider
+                    // in case the state changed since the IMAP query was completed.
+                    deleteFromDatabase(deletedVoicemails);
+                }
+
+                if (imapHelper.markMessagesAsRead(readVoicemails)) {
+                    markReadInDatabase(readVoicemails);
+                }
+            }
+
+            if (extras.getBoolean(SYNC_EXTRAS_CLEAR_AND_RELOAD, false)) {
+                // Fetch voicemails first before deleting local copy, the fetching may take awhile.
+                List<Voicemail> voicemails = imapHelper.fetchAllVoicemails();
+
+                // Deleting current local messages ensure that we start with a fresh copy
+                // and also don't need to deal with comparing between local and server.
+                VoicemailContract.Voicemails.deleteAll(mContext);
+
+                if (voicemails != null) {
+                    VoicemailContract.Voicemails.insert(mContext, voicemails);
+                }
+            }
+        }
+
+        /**
+         * Deletes a list of voicemails from the voicemail content provider.
+         *
+         * @param voicemails The list of voicemails to delete
+         * @return The number of voicemails deleted
+         */
+        public int deleteFromDatabase(List<Voicemail> voicemails) {
+            int count = voicemails.size();
+            for (int i = 0; i < count; i++) {
+                mContentResolver.delete(Voicemails.CONTENT_URI, Voicemails._ID + "=?",
+                        new String[] { Long.toString(voicemails.get(i).getId()) });
+            }
+            return count;
+        }
+
+        /**
+         * Sends an update command to the voicemail content provider for a list of voicemails.
+         * From the view of the provider, since the updater is the owner of the entry, a blank
+         * "update" means that the voicemail source is indicating that the server has up-to-date
+         * information on the voicemail. This flips the "dirty" bit to "0".
+         *
+         * @param voicemails The list of voicemails to update
+         * @return The number of voicemails updated
+         */
+        public int markReadInDatabase(List<Voicemail> voicemails) {
+            int count = voicemails.size();
+            for (int i = 0; i < count; i++) {
+                Uri uri = ContentUris.withAppendedId(
+                        VoicemailContract.Voicemails.buildSourceUri(mContext.getPackageName()),
+                        voicemails.get(i).getId());
+                mContentResolver.update(uri, new ContentValues(), null, null);
+            }
+            return count;
         }
     }
 }
diff --git a/src/com/android/phone/vvm/omtp/SimChangeReceiver.java b/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
new file mode 100644
index 0000000..e607d60
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/SimChangeReceiver.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.SmsManager;
+import android.telephony.SubscriptionManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.internal.telephony.IccCardConstants;
+import com.android.internal.telephony.PhoneConstants;
+import com.android.internal.telephony.TelephonyIntents;
+import com.android.phone.vvm.omtp.sms.OmtpMessageSender;
+
+/**
+ * This class listens to the {@link CarrierConfigManager#ACTION_CARRIER_CONFIG_CHANGED} and
+ * {@link TelephonyIntents#ACTION_SIM_STATE_CHANGED} to determine when a SIM is added, replaced,
+ * or removed.
+ *
+ * When a SIM is added, send an activate SMS. When a SIM is removed, remove the sync accounts and
+ * change the status in the voicemail_status table.
+ */
+public class SimChangeReceiver extends BroadcastReceiver {
+    private final String TAG = "SimChangeReceiver";
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        final String action = intent.getAction();
+        if (action == null) {
+            Log.w(TAG, "Null action for intent.");
+            return;
+        }
+
+        switch (action) {
+            case TelephonyIntents.ACTION_SIM_STATE_CHANGED:
+                if (IccCardConstants.INTENT_VALUE_ICC_ABSENT.equals(
+                        intent.getStringExtra(IccCardConstants.INTENT_KEY_ICC_STATE))) {
+                    Log.i(TAG, "Sim removed, removing inactive accounts");
+                    OmtpVvmSyncAccountManager.getInstance(context).removeInactiveAccounts();
+                }
+                break;
+            case CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED:
+                handleCarrierConfigChange(context, intent);
+                break;
+        }
+    }
+
+    private void handleCarrierConfigChange(Context context, Intent intent) {
+        int subId = intent.getIntExtra(PhoneConstants.SUBSCRIPTION_KEY,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            Log.w(TAG, "subscriptionId not provided in intent.");
+            return;
+        }
+
+        CarrierConfigManager carrierConfigManager = (CarrierConfigManager)
+                context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
+        if (carrierConfigManager == null) {
+            Log.w(TAG, "No carrier config service found.");
+            return;
+        }
+
+        Bundle carrierConfig = carrierConfigManager.getConfigForSubId(subId);
+        if (carrierConfig == null) {
+            Log.w(TAG, "Empty carrier config.");
+            return;
+        }
+        String vvmType = carrierConfig.getString(
+                CarrierConfigManager.STRING_VVM_TYPE, null);
+
+        if (!CarrierConfigManager.VVM_TYPE_OMTP.equals(vvmType)) {
+            // This is not an OMTP visual voicemail compatible carrier.
+            return;
+        }
+
+        int applicationPort = carrierConfig.getInt(
+                CarrierConfigManager.INT_VVM_PORT_NUMBER, 0);
+        String destinationNumber = carrierConfig.getString(
+                CarrierConfigManager.STRING_VVM_DESTINATION_NUMBER);
+        if (TextUtils.isEmpty(destinationNumber)) {
+            Log.w(TAG, "No destination number for this carrier.");
+            return;
+        }
+
+        Log.i(TAG, "Requesting VVM activation for subId: " + subId);
+        SmsManager smsManager = SmsManager.getSmsManagerForSubscriptionId(subId);
+        OmtpMessageSender messageSender = new OmtpMessageSender(smsManager,
+                (short) applicationPort, destinationNumber, null,
+                OmtpConstants.PROTOCOL_VERSION1_1, null);
+        messageSender.requestVvmActivation(null);
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/vvm/omtp/imap/ImapHelper.java b/src/com/android/phone/vvm/omtp/imap/ImapHelper.java
new file mode 100644
index 0000000..eae6cac
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/imap/ImapHelper.java
@@ -0,0 +1,376 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.imap;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.content.Context;
+import android.telecom.Voicemail;
+
+import android.util.Base64;
+
+import com.android.phone.common.mail.Address;
+import com.android.phone.common.mail.Body;
+import com.android.phone.common.mail.BodyPart;
+import com.android.phone.common.mail.FetchProfile;
+import com.android.phone.common.mail.Flag;
+import com.android.phone.common.mail.Message;
+import com.android.phone.common.mail.MessagingException;
+import com.android.phone.common.mail.Multipart;
+import com.android.phone.common.mail.TempDirectory;
+import com.android.phone.common.mail.internet.MimeMessage;
+import com.android.phone.common.mail.store.ImapFolder;
+import com.android.phone.common.mail.store.ImapStore;
+import com.android.phone.common.mail.store.imap.ImapConstants;
+import com.android.phone.common.mail.utils.LogUtils;
+import com.android.phone.vvm.omtp.OmtpConstants;
+import com.android.phone.vvm.omtp.sync.VoicemailFetchedCallback;
+
+import libcore.io.IoUtils;
+
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * A helper interface to abstract commands sent across IMAP interface for a given account.
+ */
+public class ImapHelper {
+    private final String TAG = "ImapHelper";
+
+    private ImapFolder mFolder;
+    private ImapStore mImapStore;
+    private Context mContext;
+
+    public ImapHelper(Context context, Account account) {
+        try {
+            mContext = context;
+            TempDirectory.setTempDirectory(context);
+
+            AccountManager accountManager = AccountManager.get(context);
+            String username = accountManager.getUserData(account, OmtpConstants.IMAP_USER_NAME);
+            String password = accountManager.getUserData(account, OmtpConstants.IMAP_PASSWORD);
+            String serverName = accountManager.getUserData(account, OmtpConstants.SERVER_ADDRESS);
+            int port = Integer.parseInt(
+                    accountManager.getUserData(account, OmtpConstants.IMAP_PORT));
+            // TODO: determine the security protocol (e.g. ssl, tls, none, etc.)
+            mImapStore = new ImapStore(
+                    context, username, password, port, serverName, ImapStore.FLAG_NONE);
+        } catch (NumberFormatException e) {
+            LogUtils.e(TAG, e, "Could not parse port number");
+        }
+    }
+
+    /** The caller thread will block until the method returns. */
+    public boolean markMessagesAsRead(List<Voicemail> voicemails) {
+        return setFlags(voicemails, Flag.SEEN);
+    }
+
+    /** The caller thread will block until the method returns. */
+    public boolean markMessagesAsDeleted(List<Voicemail> voicemails) {
+        return setFlags(voicemails, Flag.DELETED);
+    }
+
+    /**
+     * Set flags on the server for a given set of voicemails.
+     *
+     * @param voicemails The voicemails to set flags for.
+     * @param flags The flags to set on the voicemails.
+     * @return {@code true} if the operation completes successfully, {@code false} otherwise.
+     */
+    private boolean setFlags(List<Voicemail> voicemails, String... flags) {
+        if (voicemails.size() == 0) {
+            return false;
+        }
+        try {
+            mFolder = openImapFolder(ImapFolder.MODE_READ_WRITE);
+            if (mFolder != null) {
+                mFolder.setFlags(convertToImapMessages(voicemails), flags, true);
+                return true;
+            }
+            return false;
+        } catch (MessagingException e) {
+            LogUtils.e(TAG, e, "Messaging exception");
+            return false;
+        } finally {
+            closeImapFolder();
+        }
+    }
+
+    /**
+     * Fetch a list of voicemails from the server.
+     *
+     * @return A list of voicemail objects containing data about voicemails stored on the server.
+     */
+    public List<Voicemail> fetchAllVoicemails() {
+        List<Voicemail> result = new ArrayList<Voicemail>();
+        Message[] messages;
+        try {
+            mFolder = openImapFolder(ImapFolder.MODE_READ_WRITE);
+            if (mFolder == null) {
+                // This means we were unable to successfully open the folder.
+                return null;
+            }
+
+            // This method retrieves lightweight messages containing only the uid of the message.
+            messages = mFolder.getMessages(null);
+
+            for (Message message : messages) {
+                // Get the voicemail details.
+                Voicemail voicemail = fetchVoicemail(message);
+                if (voicemail != null) {
+                    result.add(voicemail);
+                }
+            }
+            return result;
+        } catch (MessagingException e) {
+            LogUtils.e(TAG, e, "Messaging Exception");
+            return null;
+        } finally {
+            closeImapFolder();
+        }
+    }
+
+    /**
+     * Fetches the structure of the given message and returns the voicemail parsed from it.
+     *
+     * @throws MessagingException if fetching the structure of the message fails
+     */
+    private Voicemail fetchVoicemail(Message message)
+            throws MessagingException {
+        LogUtils.d(TAG, "Fetching message structure for " + message.getUid());
+
+        MessageStructureFetchedListener listener = new MessageStructureFetchedListener();
+
+        FetchProfile fetchProfile = new FetchProfile();
+        fetchProfile.addAll(Arrays.asList(FetchProfile.Item.FLAGS, FetchProfile.Item.ENVELOPE,
+                FetchProfile.Item.STRUCTURE));
+
+        // The IMAP folder fetch method will call "messageRetrieved" on the listener when the
+        // message is successfully retrieved.
+        mFolder.fetch(new Message[] {message}, fetchProfile, listener);
+        return listener.getVoicemail();
+    }
+
+
+    public void fetchVoicemailPayload(VoicemailFetchedCallback callback, final String uid) {
+        Message message;
+        try {
+            mFolder = openImapFolder(ImapFolder.MODE_READ_WRITE);
+            if (mFolder == null) {
+                // This means we were unable to successfully open the folder.
+                return;
+            }
+            message = mFolder.getMessage(uid);
+            VoicemailPayload voicemailPayload = fetchVoicemailPayload(message);
+            callback.setVoicemailContent(voicemailPayload);
+        } catch (MessagingException e) {
+        } finally {
+            closeImapFolder();
+        }
+    }
+
+    /**
+     * Fetches the body of the given message and returns the parsed voicemail payload.
+     *
+     * @throws MessagingException if fetching the body of the message fails
+     */
+    private VoicemailPayload fetchVoicemailPayload(Message message)
+            throws MessagingException {
+        LogUtils.d(TAG, "Fetching message body for " + message.getUid());
+
+        MessageBodyFetchedListener listener = new MessageBodyFetchedListener();
+
+        FetchProfile fetchProfile = new FetchProfile();
+        fetchProfile.add(FetchProfile.Item.BODY);
+
+        mFolder.fetch(new Message[] {message}, fetchProfile, listener);
+        return listener.getVoicemailPayload();
+    }
+
+    /**
+     * Listener for the message structure being fetched.
+     */
+    private final class MessageStructureFetchedListener
+            implements ImapFolder.MessageRetrievalListener {
+        private Voicemail mVoicemail;
+
+        public MessageStructureFetchedListener() {
+        }
+
+        public Voicemail getVoicemail() {
+            return mVoicemail;
+        }
+
+        @Override
+        public void messageRetrieved(Message message) {
+            LogUtils.d(TAG, "Fetched message structure for " + message.getUid());
+            LogUtils.d(TAG, "Message retrieved: " + message);
+            try {
+                mVoicemail = getVoicemailFromMessage(message);
+                if (mVoicemail == null) {
+                    LogUtils.d(TAG, "This voicemail does not have an attachment...");
+                    return;
+                }
+            } catch (MessagingException e) {
+                LogUtils.e(TAG, e, "Messaging Exception");
+                closeImapFolder();
+            }
+        }
+
+        /**
+         * Convert an IMAP message to a voicemail object.
+         *
+         * @param message The IMAP message.
+         * @return The voicemail object corresponding to an IMAP message.
+         * @throws MessagingException
+         */
+        private Voicemail getVoicemailFromMessage(Message message) throws MessagingException {
+            if (!message.getMimeType().startsWith("multipart/")) {
+                LogUtils.w(TAG, "Ignored non multi-part message");
+                return null;
+            }
+
+            Multipart multipart = (Multipart) message.getBody();
+            for (int i = 0; i < multipart.getCount(); ++i) {
+                BodyPart bodyPart = multipart.getBodyPart(i);
+                String bodyPartMimeType = bodyPart.getMimeType().toLowerCase();
+                LogUtils.d(TAG, "bodyPart mime type: " + bodyPartMimeType);
+
+                if (bodyPartMimeType.startsWith("audio/")) {
+                    // Found an audio attachment, this is a valid voicemail.
+                    long time = message.getSentDate().getTime();
+                    String number = getNumber(message.getFrom());
+                    boolean isRead = Arrays.asList(message.getFlags()).contains(Flag.SEEN);
+
+                    return Voicemail.createForInsertion(time, number)
+                            .setSourcePackage(mContext.getPackageName())
+                            .setSourceData(message.getUid())
+                            .setIsRead(isRead)
+                            .build();
+                }
+            }
+            // No attachment found, this is not a voicemail.
+            return null;
+        }
+
+        /**
+         * The "from" field of a visual voicemail IMAP message is the number of the caller who left
+         * the message. Extract this number from the list of "from" addresses.
+         *
+         * @param fromAddresses A list of addresses that comprise the "from" line.
+         * @return The number of the voicemail sender.
+         */
+        private String getNumber(Address[] fromAddresses) {
+            if (fromAddresses != null && fromAddresses.length > 0) {
+                if (fromAddresses.length != 1) {
+                    LogUtils.w(TAG, "More than one from addresses found. Using the first one.");
+                }
+                String sender = fromAddresses[0].getAddress();
+                int atPos = sender.indexOf('@');
+                if (atPos != -1) {
+                    // Strip domain part of the address.
+                    sender = sender.substring(0, atPos);
+                }
+                return sender;
+            }
+            return null;
+        }
+    }
+
+    /**
+     * Listener for the message body being fetched.
+     */
+    private final class MessageBodyFetchedListener implements ImapFolder.MessageRetrievalListener {
+        private VoicemailPayload mVoicemailPayload;
+
+        /** Returns the fetch voicemail payload. */
+        public VoicemailPayload getVoicemailPayload() {
+            return mVoicemailPayload;
+        }
+
+        @Override
+        public void messageRetrieved(Message message) {
+            LogUtils.d(TAG, "Fetched message body for " + message.getUid());
+            LogUtils.d(TAG, "Message retrieved: " + message);
+            try {
+                mVoicemailPayload = getVoicemailPayloadFromMessage(message);
+            } catch (MessagingException e) {
+                LogUtils.e(TAG, "Messaging Exception:", e);
+            } catch (IOException e) {
+                LogUtils.e(TAG, "IO Exception:", e);
+            }
+        }
+
+        private VoicemailPayload getVoicemailPayloadFromMessage(Message message)
+                throws MessagingException, IOException {
+            Multipart multipart = (Multipart) message.getBody();
+            for (int i = 0; i < multipart.getCount(); ++i) {
+                BodyPart bodyPart = multipart.getBodyPart(i);
+                String bodyPartMimeType = bodyPart.getMimeType().toLowerCase();
+                LogUtils.d(TAG, "bodyPart mime type: " + bodyPartMimeType);
+
+                if (bodyPartMimeType.startsWith("audio/")) {
+                    byte[] bytes = getAudioDataFromBody(bodyPart.getBody());
+                    LogUtils.d(TAG, String.format("Fetched %s bytes of data", bytes.length));
+                    return new VoicemailPayload(bodyPartMimeType, bytes);
+                }
+            }
+            LogUtils.e(TAG, "No audio attachment found on this voicemail");
+            return null;
+        }
+
+        private byte[] getAudioDataFromBody(Body body) throws IOException, MessagingException {
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
+            BufferedOutputStream bufferedOut = new BufferedOutputStream(out);
+            try {
+                body.writeTo(bufferedOut);
+            } finally {
+                IoUtils.closeQuietly(bufferedOut);
+            }
+            return Base64.decode(out.toByteArray(), Base64.DEFAULT);
+        }
+    }
+
+    private ImapFolder openImapFolder(String modeReadWrite) {
+        try {
+            ImapFolder folder = new ImapFolder(mImapStore, ImapConstants.INBOX);
+            folder.open(modeReadWrite);
+            return folder;
+        } catch (MessagingException e) {
+            LogUtils.e(TAG, e, "Messaging Exception");
+        }
+        return null;
+    }
+
+    private Message[] convertToImapMessages(List<Voicemail> voicemails) {
+        Message[] messages = new Message[voicemails.size()];
+        for (int i = 0; i < voicemails.size(); ++i) {
+            messages[i] = new MimeMessage();
+            messages[i].setUid(voicemails.get(i).getSourceData());
+        }
+        return messages;
+    }
+
+    private void closeImapFolder() {
+        if (mFolder != null) {
+            mFolder.close(true);
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/vvm/omtp/imap/VoicemailPayload.java b/src/com/android/phone/vvm/omtp/imap/VoicemailPayload.java
new file mode 100644
index 0000000..0ffa018
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/imap/VoicemailPayload.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.imap;
+
+/**
+ * The payload for a voicemail, usually audio data.
+ */
+public class VoicemailPayload {
+    private final String mMimeType;
+    private final byte[] mBytes;
+
+    public VoicemailPayload(String mimeType, byte[] bytes) {
+        mMimeType = mimeType;
+        mBytes = bytes;
+    }
+
+    public byte[] getBytes() {
+        return mBytes;
+    }
+
+    public String getMimeType() {
+        return mMimeType;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java b/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java
index 932fb1a..57979ff 100644
--- a/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java
+++ b/src/com/android/phone/vvm/omtp/sms/OmtpMessageReceiver.java
@@ -24,6 +24,7 @@
 import android.provider.Telephony;
 import android.provider.VoicemailContract;
 import android.telecom.PhoneAccountHandle;
+import android.telecom.Voicemail;
 import android.telephony.SmsMessage;
 import android.util.Log;
 
@@ -31,6 +32,7 @@
 import com.android.phone.PhoneUtils;
 import com.android.phone.vvm.omtp.OmtpConstants;
 import com.android.phone.vvm.omtp.OmtpVvmSyncAccountManager;
+import com.android.phone.vvm.omtp.OmtpVvmSyncService.OmtpVvmSyncAdapter;
 
 import java.io.UnsupportedEncodingException;
 
@@ -50,22 +52,20 @@
                 intent.getExtras().getInt(PhoneConstants.PHONE_KEY));
 
         SmsMessage[] messages = Telephony.Sms.Intents.getMessagesFromIntent(intent);
-        StringBuilder userData = new StringBuilder();
         StringBuilder messageBody = new StringBuilder();
 
         for (int i = 0; i < messages.length; i++) {
             messageBody.append(messages[i].getMessageBody());
-            userData.append(extractUserData(messages[i]));
         }
 
         WrappedMessageData messageData = OmtpSmsParser.parse(messageBody.toString());
         if (messageData != null) {
             if (messageData.getPrefix() == OmtpConstants.SYNC_SMS_PREFIX) {
                 SyncMessage message = new SyncMessage(messageData);
-                //TODO: handle message
+                processSync(message);
             } else if (messageData.getPrefix() == OmtpConstants.STATUS_SMS_PREFIX) {
                 StatusMessage message = new StatusMessage(messageData);
-                handleStatusMessage(message);
+                updateAccount(message);
             } else {
                 Log.e(TAG, "This should never have happened");
             }
@@ -73,33 +73,66 @@
         // Let this fall through: this is not a message we're interested in.
     }
 
-    private String extractUserData(SmsMessage sms) {
-        try {
-            // OMTP spec does not tell about the encoding. We assume ASCII.
-            // UTF-8 sounds safer as it can handle ascii as well as other charsets.
-            return new String(sms.getUserData(), "UTF-8");
-        } catch (UnsupportedEncodingException e) {
-            throw new IllegalStateException("This should have never happened", e);
+    /**
+     * A sync message has two purposes: to signal a new voicemail message, and to indicate the
+     * voicemails on the server have changed remotely (usually through the TUI). Save the new
+     * message to the voicemail provider if it is the former case and perform a full sync in the
+     * latter case.
+     *
+     * @param message The sync message to extract data from.
+     */
+    private void processSync(SyncMessage message) {
+        switch (message.getSyncTriggerEvent()) {
+            case OmtpConstants.NEW_MESSAGE:
+                Voicemail voicemail = Voicemail.createForInsertion(
+                        message.getTimestampMillis(), message.getSender())
+                        .setSourceData(message.getId())
+                        .setDuration(message.getLength())
+                        .setSourcePackage(mContext.getPackageName())
+                        .build();
+
+                VoicemailContract.Voicemails.insert(mContext, voicemail);
+                break;
+            case OmtpConstants.MAILBOX_UPDATE:
+                // Needs a total resync
+                Bundle bundle = new Bundle();
+                bundle.putBoolean(OmtpVvmSyncAdapter.SYNC_EXTRAS_CLEAR_AND_RELOAD, true);
+                ContentResolver.requestSync(
+                        new Account(mPhoneAccount.getId(), OmtpVvmSyncAccountManager.ACCOUNT_TYPE),
+                        VoicemailContract.AUTHORITY, bundle);
+                break;
+            case OmtpConstants.GREETINGS_UPDATE:
+                // Not implemented in V1
+                break;
+           default:
+               Log.e(TAG, "Unrecognized sync trigger event: "+message.getSyncTriggerEvent());
+               break;
         }
     }
 
-    private void handleStatusMessage(StatusMessage message) {
-        OmtpVvmSyncAccountManager vvmSyncManager = OmtpVvmSyncAccountManager.getInstance(mContext);
+    private void updateAccount(StatusMessage message) {
+        OmtpVvmSyncAccountManager vvmAccountSyncManager =
+                OmtpVvmSyncAccountManager.getInstance(mContext);
         Account account = new Account(mPhoneAccount.getId(),
                 OmtpVvmSyncAccountManager.ACCOUNT_TYPE);
 
-        if (!vvmSyncManager.isAccountRegistered(account)) {
+        if (!vvmAccountSyncManager.isAccountRegistered(account)) {
             // If the account has not been previously registered, it means that this STATUS sms
             // is a result of the ACTIVATE sms, so register the voicemail source.
-            vvmSyncManager.createSyncAccount(account);
+            vvmAccountSyncManager.createSyncAccount(account);
             VoicemailContract.Status.setStatus(mContext, mPhoneAccount,
                     VoicemailContract.Status.CONFIGURATION_STATE_OK,
                     VoicemailContract.Status.DATA_CHANNEL_STATE_OK,
                     VoicemailContract.Status.NOTIFICATION_CHANNEL_STATE_OK);
+
+            Bundle bundle = new Bundle();
+            bundle.putBoolean(OmtpVvmSyncAdapter.SYNC_EXTRAS_CLEAR_AND_RELOAD, true);
+            bundle.putBoolean(ContentResolver.SYNC_EXTRAS_UPLOAD, true);
+            ContentResolver.requestSync(account, VoicemailContract.AUTHORITY, bundle);
         }
 
-        //TODO: figure out how to pass IMAP credentials to sync adapter
-
-        ContentResolver.requestSync(account, VoicemailContract.AUTHORITY, new Bundle());
+        // Save the IMAP credentials in the corresponding account object so they are
+        // persistent and can be retrieved.
+        vvmAccountSyncManager.setAccountCredentialsFromStatusMessage(account, message);
     }
 }
diff --git a/src/com/android/phone/vvm/omtp/sms/OmtpMessageSender.java b/src/com/android/phone/vvm/omtp/sms/OmtpMessageSender.java
index f7cfb86..0011ac3 100644
--- a/src/com/android/phone/vvm/omtp/sms/OmtpMessageSender.java
+++ b/src/com/android/phone/vvm/omtp/sms/OmtpMessageSender.java
@@ -18,36 +18,156 @@
 import android.annotation.Nullable;
 import android.app.PendingIntent;
 import android.telephony.SmsManager;
+import android.text.TextUtils;
+
+import com.android.phone.vvm.omtp.OmtpConstants;
+import com.android.services.telephony.Log;
+
+import java.io.UnsupportedEncodingException;
 
 /**
- * Interface to send client originated OMTP messages to the OMTP server.
+ * Send client originated OMTP messages to the OMTP server.
  * <p>
- * The interface uses {@link PendingIntent} instead of a call back to notify when the message is
+ * Uses {@link PendingIntent} instead of a call back to notify when the message is
  * sent. This is primarily to keep the implementation simple and reuse what the underlying
  * {@link SmsManager} interface provides.
+ * <p>
+ * Provides simple APIs to send different types of mobile originated OMTP SMS to the VVM server.
  */
-public interface OmtpMessageSender {
+public class OmtpMessageSender {
+    private static final String TAG = "OmtpMessageSender";
+    private final SmsManager mSmsManager;
+    private final short mApplicationPort;
+    private final String mDestinationNumber;
+    private final String mClientType;
+    private final String mProtocolVersion;
+    private final String mClientPrefix;
+
+    /**
+     * Creates a new instance of OmtpMessageSenderImpl.
+     *
+     * @param smsManager SMS sending library. There is a different SmsManager for each SIM.
+     * @param applicationPort If set to a value > 0 then a binary sms is sent to this port number.
+     *            Otherwise, a standard text SMS is sent.
+     * @param destinationNumber Destination number to be used.
+     * @param clientType The "ct" field to be set in the MO message. This is the value used by the
+     *            VVM server to identify the client. Certain VVM servers require a specific agreed
+     *            value for this field.
+     * @param protocolVersion OMTP protocol version.
+     * @param clientPrefix The client prefix requested to be used by the server in its MT messages.
+     */
+    public OmtpMessageSender(SmsManager smsManager, short applicationPort,
+            String destinationNumber, String clientType, String protocolVersion,
+            String clientPrefix) {
+        mSmsManager = smsManager;
+        mApplicationPort = applicationPort;
+        mDestinationNumber = destinationNumber;
+        mClientType = clientType;
+        mProtocolVersion = protocolVersion;
+        mClientPrefix = clientPrefix;
+    }
+
+
+    // Activate message:
+    // V1.1: Activate:pv=<value>;ct=<value>
+    // V1.2: Activate:pv=<value>;ct=<value>;pt=<value>;<Clientprefix>
+    // V1.3: Activate:pv=<value>;ct=<value>;pt=<value>;<Clientprefix>
     /**
      * Sends a request to the VVM server to activate VVM for the current subscriber.
      *
      * @param sentIntent If not NULL this PendingIntent is broadcast when the message is
      *            successfully sent, or failed.
      */
-    public void requestVvmActivation(@Nullable PendingIntent sentIntent);
+    public void requestVvmActivation(@Nullable PendingIntent sentIntent) {
+        StringBuilder sb = new StringBuilder().append(OmtpConstants.ACTIVATE_REQUEST);
 
+        appendProtocolVersionAndClientType(sb);
+        if (TextUtils.equals(mProtocolVersion, OmtpConstants.PROTOCOL_VERSION1_2) ||
+                TextUtils.equals(mProtocolVersion, OmtpConstants.PROTOCOL_VERSION1_3)) {
+            appendApplicationPort(sb);
+            appendClientPrefix(sb);
+        }
+
+        sendSms(sb.toString(), sentIntent);
+    }
+
+    // Deactivate message:
+    // V1.1: Deactivate:pv=<value>;ct=<string>
+    // V1.2: Deactivate:pv=<value>;ct=<string>
+    // V1.3: Deactivate:pv=<value>;ct=<string>
     /**
      * Sends a request to the VVM server to deactivate VVM for the current subscriber.
      *
      * @param sentIntent If not NULL this PendingIntent is broadcast when the message is
      *            successfully sent, or failed.
      */
-    public void requestVvmDeactivation(@Nullable PendingIntent sentIntent);
+    public void requestVvmDeactivation(@Nullable PendingIntent sentIntent) {
+        StringBuilder sb = new StringBuilder().append(OmtpConstants.DEACTIVATE_REQUEST);
+        appendProtocolVersionAndClientType(sb);
 
+        sendSms(sb.toString(), sentIntent);
+    }
+
+    // Status message:
+    // V1.1: STATUS
+    // V1.2: STATUS
+    // V1.3: STATUS:pv=<value>;ct=<value>;pt=<value>;<Clientprefix>
     /**
      * Send a request to the VVM server to get account status of the current subscriber.
      *
      * @param sentIntent If not NULL this PendingIntent is broadcast when the message is
      *            successfully sent, or failed.
      */
-    public void requestVvmStatus(@Nullable PendingIntent sentIntent);
-}
\ No newline at end of file
+    public void requestVvmStatus(@Nullable PendingIntent sentIntent) {
+        StringBuilder sb = new StringBuilder().append(OmtpConstants.STATUS_REQUEST);
+
+        if (TextUtils.equals(mProtocolVersion, OmtpConstants.PROTOCOL_VERSION1_3)) {
+            appendProtocolVersionAndClientType(sb);
+            appendApplicationPort(sb);
+            appendClientPrefix(sb);
+        }
+
+        sendSms(sb.toString(), sentIntent);
+    }
+
+    private void sendSms(String text, PendingIntent sentIntent) {
+        // If application port is set to 0 then send simple text message, else send data message.
+        if (mApplicationPort == 0) {
+            Log.v(TAG, String.format("Sending TEXT sms '%s' to %s", text, mDestinationNumber));
+            mSmsManager.sendTextMessageWithSelfPermissions(mDestinationNumber, null, text,
+                    sentIntent, null);
+        } else {
+            byte[] data;
+            try {
+                data = text.getBytes("UTF-8");
+            } catch (UnsupportedEncodingException e) {
+                throw new IllegalStateException("Failed to encode: " + text);
+            }
+            Log.v(TAG, String.format("Sending BINARY sms '%s' to %s:%d", text, mDestinationNumber,
+                    mApplicationPort));
+            mSmsManager.sendDataMessageWithSelfPermissions(mDestinationNumber, null,
+                    mApplicationPort, data, sentIntent, null);
+        }
+    }
+
+    private void appendProtocolVersionAndClientType(StringBuilder sb) {
+        sb.append(OmtpConstants.SMS_PREFIX_SEPARATOR);
+        appendField(sb, OmtpConstants.PROTOCOL_VERSION, mProtocolVersion);
+        sb.append(OmtpConstants.SMS_FIELD_SEPARATOR);
+        appendField(sb, OmtpConstants.CLIENT_TYPE, mClientType);
+    }
+
+    private void appendApplicationPort(StringBuilder sb) {
+        sb.append(OmtpConstants.SMS_FIELD_SEPARATOR);
+        appendField(sb, OmtpConstants.APPLICATION_PORT, mApplicationPort);
+    }
+
+    private void appendClientPrefix(StringBuilder sb) {
+        sb.append(OmtpConstants.SMS_FIELD_SEPARATOR);
+        sb.append(mClientPrefix);
+    }
+
+    private void appendField(StringBuilder sb, String field, Object value) {
+        sb.append(field).append(OmtpConstants.SMS_KEY_VALUE_SEPARATOR).append(value);
+    }
+}
diff --git a/src/com/android/phone/vvm/omtp/sms/OmtpMessageSenderImpl.java b/src/com/android/phone/vvm/omtp/sms/OmtpMessageSenderImpl.java
deleted file mode 100644
index 15e8e3a..0000000
--- a/src/com/android/phone/vvm/omtp/sms/OmtpMessageSenderImpl.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (C) 2015 Google Inc. All Rights Reserved.
- *
- * 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.vvm.omtp.sms;
-
-import android.annotation.Nullable;
-import android.app.PendingIntent;
-import android.telephony.SmsManager;
-import android.text.TextUtils;
-
-import com.android.phone.vvm.omtp.OmtpConstants;
-import com.android.services.telephony.Log;
-
-import java.io.UnsupportedEncodingException;
-
-/**
- * Implementation of {@link OmtpMessageSender} interface.
- * <p>
- * Provides simple APIs to send different types of mobile originated OMTP SMS to the VVM server.
- */
-public class OmtpMessageSenderImpl implements OmtpMessageSender {
-    private static final String TAG = "OmtpMessageSender";
-    private final SmsManager mSmsManager;
-    private final short mApplicationPort;
-    private final String mDestinationNumber;
-    private final String mClientType;
-    private final String mProtocolVersion;
-    private final String mClientPrefix;
-
-    /**
-     * Creates a new instance of OmtpMessageSenderImpl.
-     *
-     * @param smsManager SMS sending library. There is a different SmsManager for each SIM.
-     * @param applicationPort If set to a value > 0 then a binary sms is sent to this port number.
-     *            Otherwise, a standard text SMS is sent.
-     * @param defaultDestinationNumber Destination number to be used.
-     * @param clientType The "ct" field to be set in the MO message. This is the value used by the
-     *            VVM server to identify the client. Certain VVM servers require a specific agreed
-     *            value for this field.
-     * @param protocolVersion OMTP protocol version.
-     * @param clientPrefix The client prefix requested to be used by the server in its MT messages.
-     */
-    public OmtpMessageSenderImpl(SmsManager smsManager, short applicationPort,
-            String defaultDestinationNumber, String clientType, String protocolVersion,
-            String clientPrefix) {
-        mSmsManager = smsManager;
-        mApplicationPort = applicationPort;
-        mDestinationNumber = defaultDestinationNumber;
-        mClientType = clientType;
-        mProtocolVersion = protocolVersion;
-        mClientPrefix = clientPrefix;
-    }
-
-
-    // Activate message:
-    // V1.1: Activate:pv=<value>;ct=<value>
-    // V1.2: Activate:pv=<value>;ct=<value>;pt=<value>;<Clientprefix>
-    // V1.3: Activate:pv=<value>;ct=<value>;pt=<value>;<Clientprefix>
-    @Override
-    public void requestVvmActivation(@Nullable PendingIntent sentIntent) {
-        StringBuilder sb = new StringBuilder().append(OmtpConstants.ACTIVATE_REQUEST);
-
-        appendProtocolVersionAndClientType(sb);
-        if (TextUtils.equals(mProtocolVersion, OmtpConstants.PROTOCOL_VERSION1_2) ||
-                TextUtils.equals(mProtocolVersion, OmtpConstants.PROTOCOL_VERSION1_3)) {
-            appendApplicationPort(sb);
-            appendClientPrefix(sb);
-        }
-
-        sendSms(sb.toString(), sentIntent);
-    }
-
-    // Deactivate message:
-    // V1.1: Deactivate:pv=<value>;ct=<string>
-    // V1.2: Deactivate:pv=<value>;ct=<string>
-    // V1.3: Deactivate:pv=<value>;ct=<string>
-    @Override
-    public void requestVvmDeactivation(@Nullable PendingIntent sentIntent) {
-        StringBuilder sb = new StringBuilder().append(OmtpConstants.DEACTIVATE_REQUEST);
-        appendProtocolVersionAndClientType(sb);
-
-        sendSms(sb.toString(), sentIntent);
-    }
-
-    // Status message:
-    // V1.1: STATUS
-    // V1.2: STATUS
-    // V1.3: STATUS:pv=<value>;ct=<value>;pt=<value>;<Clientprefix>
-    @Override
-    public void requestVvmStatus(@Nullable PendingIntent sentIntent) {
-        StringBuilder sb = new StringBuilder().append(OmtpConstants.STATUS_REQUEST);
-
-        if (TextUtils.equals(mProtocolVersion, OmtpConstants.PROTOCOL_VERSION1_3)) {
-            appendProtocolVersionAndClientType(sb);
-            appendApplicationPort(sb);
-            appendClientPrefix(sb);
-        }
-
-        sendSms(sb.toString(), sentIntent);
-    }
-
-    private void sendSms(String text, PendingIntent sentIntent) {
-        // If application port is set to 0 then send simple text message, else send data message.
-        if (mApplicationPort == 0) {
-            Log.v(TAG, String.format("Sending TEXT sms '%s' to %s", text, mDestinationNumber));
-            mSmsManager.sendTextMessage(mDestinationNumber, null, text, sentIntent, null);
-        } else {
-            byte[] data;
-            try {
-                data = text.getBytes("UTF-8");
-            } catch (UnsupportedEncodingException e) {
-                throw new IllegalStateException("Failed to encode: " + text);
-            }
-            Log.v(TAG, String.format("Sending BINARY sms '%s' to %s:%d", text, mDestinationNumber,
-                    mApplicationPort));
-            mSmsManager.sendDataMessage(mDestinationNumber, null, mApplicationPort, data,
-                    sentIntent, null);
-        }
-    }
-
-    private void appendProtocolVersionAndClientType(StringBuilder sb) {
-        sb.append(OmtpConstants.SMS_PREFIX_SEPARATOR);
-        appendField(sb, OmtpConstants.PROTOCOL_VERSION, mProtocolVersion);
-        sb.append(OmtpConstants.SMS_FIELD_SEPARATOR);
-        appendField(sb, OmtpConstants.CLIENT_TYPE, mClientType);
-    }
-
-    private void appendApplicationPort(StringBuilder sb) {
-        sb.append(OmtpConstants.SMS_FIELD_SEPARATOR);
-        appendField(sb, OmtpConstants.APPLICATION_PORT, mApplicationPort);
-    }
-
-    private void appendClientPrefix(StringBuilder sb) {
-        sb.append(OmtpConstants.SMS_FIELD_SEPARATOR);
-        sb.append(mClientPrefix);
-    }
-
-    private void appendField(StringBuilder sb, String field, Object value) {
-        sb.append(field).append(OmtpConstants.SMS_KEY_VALUE_SEPARATOR).append(value);
-    }
-}
diff --git a/src/com/android/phone/vvm/omtp/sync/DirtyVoicemailQuery.java b/src/com/android/phone/vvm/omtp/sync/DirtyVoicemailQuery.java
new file mode 100644
index 0000000..8c70372
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/sync/DirtyVoicemailQuery.java
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.sync;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.VoicemailContract;
+import android.provider.VoicemailContract.Voicemails;
+
+/**
+ * Construct a query to get dirty voicemails.
+ */
+public class DirtyVoicemailQuery {
+    final static String[] PROJECTION = new String[] {
+            Voicemails._ID,              // 0
+            Voicemails.SOURCE_DATA,      // 1
+            Voicemails.IS_READ,          // 2
+            Voicemails.DELETED,          // 3
+    };
+
+    public static final int _ID = 0;
+    public static final int SOURCE_DATA = 1;
+    public static final int IS_READ = 2;
+    public static final int DELETED = 3;
+
+    final static String SELECTION = Voicemails.DIRTY + "=1";
+
+    /**
+     * Get all the locally modified voicemails that have not been synced to the server.
+     *
+     * @param context The context from the package calling the method. This will be the source.
+     * @return A list of all locally modified voicemails.
+     */
+    public static Cursor getDirtyVoicemails(Context context) {
+        ContentResolver contentResolver = context.getContentResolver();
+        Uri sourceUri = VoicemailContract.Voicemails.buildSourceUri(context.getPackageName());
+        return contentResolver.query(sourceUri, PROJECTION, SELECTION, null, null);
+    }
+}
diff --git a/src/com/android/phone/vvm/omtp/sync/FetchVoicemailReceiver.java b/src/com/android/phone/vvm/omtp/sync/FetchVoicemailReceiver.java
new file mode 100644
index 0000000..66fed16
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/sync/FetchVoicemailReceiver.java
@@ -0,0 +1,102 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.sync;
+
+import android.accounts.Account;
+import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.Intent;
+import android.database.Cursor;
+import android.net.Uri;
+import android.provider.VoicemailContract;
+import android.provider.VoicemailContract.Voicemails;
+import android.telephony.TelephonyManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import com.android.phone.vvm.omtp.OmtpVvmSyncAccountManager;
+import com.android.phone.vvm.omtp.imap.ImapHelper;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class FetchVoicemailReceiver extends BroadcastReceiver {
+    private static final String TAG = "FetchVoicemailReceiver";
+
+    final static String[] PROJECTION = new String[] {
+        Voicemails.SOURCE_DATA,      // 0
+        Voicemails.PHONE_ACCOUNT_ID, // 1
+    };
+
+    public static final int SOURCE_DATA = 0;
+    public static final int PHONE_ACCOUNT_ID = 1;
+
+    private ContentResolver mContentResolver;
+    private Uri mUri;
+
+    @Override
+    public void onReceive(final Context context, Intent intent) {
+        if (VoicemailContract.ACTION_FETCH_VOICEMAIL.equals(intent.getAction())) {
+            mContentResolver = context.getContentResolver();
+            mUri = intent.getData();
+
+            if (mUri == null) {
+                Log.w(TAG, VoicemailContract.ACTION_FETCH_VOICEMAIL + " intent sent with no data");
+                return;
+            }
+
+            if (!context.getPackageName().equals(
+                    mUri.getQueryParameter(VoicemailContract.PARAM_KEY_SOURCE_PACKAGE))) {
+                // Ignore if the fetch request is for a voicemail not from this package.
+                return;
+            }
+
+            Cursor cursor = mContentResolver.query(mUri, PROJECTION, null, null, null);
+            if (cursor == null) {
+                return;
+            }
+            try {
+                if (cursor.moveToFirst()) {
+                    final String uid = cursor.getString(SOURCE_DATA);
+                    String accountId = cursor.getString(PHONE_ACCOUNT_ID);
+                    if (TextUtils.isEmpty(accountId)) {
+                        TelephonyManager telephonyManager = (TelephonyManager)
+                                context.getSystemService(Context.TELEPHONY_SERVICE);
+                        accountId = telephonyManager.getSimSerialNumber();
+
+                        if (TextUtils.isEmpty(accountId)) {
+                            Log.e(TAG, "Account null and no default sim found.");
+                            return;
+                        }
+                    }
+                    final Account account = new Account(accountId,
+                            OmtpVvmSyncAccountManager.ACCOUNT_TYPE);
+                    Executor executor = Executors.newCachedThreadPool();
+                    executor.execute(new Runnable() {
+                        @Override
+                        public void run() {
+                            new ImapHelper(context, account).fetchVoicemailPayload(
+                                    new VoicemailFetchedCallback(context, mUri), uid);
+                        }
+                    });
+                }
+            } finally {
+                cursor.close();
+            }
+        }
+    }
+}
diff --git a/src/com/android/phone/vvm/omtp/sync/VoicemailFetchedCallback.java b/src/com/android/phone/vvm/omtp/sync/VoicemailFetchedCallback.java
new file mode 100644
index 0000000..006e83f
--- /dev/null
+++ b/src/com/android/phone/vvm/omtp/sync/VoicemailFetchedCallback.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2015 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.vvm.omtp.sync;
+
+import android.content.ContentResolver;
+import android.content.ContentValues;
+import android.content.Context;
+import android.net.Uri;
+import android.provider.VoicemailContract.Voicemails;
+import android.util.Log;
+
+import com.android.phone.vvm.omtp.imap.VoicemailPayload;
+
+import libcore.io.IoUtils;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+/**
+ * Callback for when a voicemail payload is fetched. It copies the returned stream to the data
+ * file corresponding to the voicemail.
+ */
+public class VoicemailFetchedCallback {
+    private static final String TAG = "VoicemailFetchedCallback";
+
+    private ContentResolver mContentResolver;
+    private Uri mUri;
+
+    VoicemailFetchedCallback(Context context, Uri uri) {
+        mContentResolver = context.getContentResolver();
+        mUri = uri;
+    }
+
+    /**
+     * Saves the voicemail payload data into the voicemail provider then sets the "has_content" bit
+     * of the voicemail to "1".
+     *
+     * @param voicemailPayload The object containing the content data for the voicemail
+     */
+    public void setVoicemailContent(VoicemailPayload voicemailPayload) {
+        Log.d(TAG, String.format("Writing new voicemail content: %s", mUri));
+        OutputStream outputStream = null;
+
+        try {
+            outputStream = mContentResolver.openOutputStream(mUri);
+            byte[] inputBytes = voicemailPayload.getBytes();
+            if (inputBytes != null) {
+                outputStream.write(inputBytes);
+            }
+        } catch (IOException e) {
+            Log.e(TAG, "Error writing to file: ", e);
+        } finally {
+            IoUtils.closeQuietly(outputStream);
+        }
+
+        // Update mime_type & has_content after we are done with file update.
+        ContentValues values = new ContentValues();
+        values.put(Voicemails.MIME_TYPE, voicemailPayload.getMimeType());
+        values.put(Voicemails.HAS_CONTENT, true);
+        int updatedCount = mContentResolver.update(mUri, values, null, null);
+        if (updatedCount != 1) {
+            Log.e(TAG, "Updating voicemail should have updated 1 row, was: " + updatedCount);
+        }
+    }
+}
diff --git a/src/com/android/services/telephony/CdmaConnection.java b/src/com/android/services/telephony/CdmaConnection.java
index 3016039..d2250d4 100644
--- a/src/com/android/services/telephony/CdmaConnection.java
+++ b/src/com/android/services/telephony/CdmaConnection.java
@@ -27,7 +27,7 @@
 import com.android.internal.telephony.CallStateException;
 import com.android.internal.telephony.Connection;
 import com.android.internal.telephony.Phone;
-import com.android.phone.Constants;
+import com.android.phone.settings.SettingsConstants;
 
 import java.util.LinkedList;
 import java.util.Queue;
@@ -237,8 +237,8 @@
         int dtmfTypeSetting = Settings.System.getInt(
                 getPhone().getContext().getContentResolver(),
                 Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
-                Constants.DTMF_TONE_TYPE_NORMAL);
-        return dtmfTypeSetting == Constants.DTMF_TONE_TYPE_NORMAL;
+                SettingsConstants.DTMF_TONE_TYPE_NORMAL);
+        return dtmfTypeSetting == SettingsConstants.DTMF_TONE_TYPE_NORMAL;
     }
 
     private void sendShortDtmfToNetwork(char digit) {
diff --git a/src/com/android/services/telephony/ImsConferenceController.java b/src/com/android/services/telephony/ImsConferenceController.java
index 21c61f8..b266b81 100644
--- a/src/com/android/services/telephony/ImsConferenceController.java
+++ b/src/com/android/services/telephony/ImsConferenceController.java
@@ -23,7 +23,7 @@
 import android.telecom.Connection;
 import android.telecom.ConnectionService;
 import android.telecom.DisconnectCause;
-import android.telecom.IConferenceable;
+import android.telecom.Conferenceable;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -148,8 +148,8 @@
      */
     private void recalculateConferenceable() {
         Log.v(this, "recalculateConferenceable : %d", mTelephonyConnections.size());
-        List<IConferenceable> activeConnections = new ArrayList<>(mTelephonyConnections.size());
-        List<IConferenceable> backgroundConnections = new ArrayList<>(mTelephonyConnections.size());
+        List<Conferenceable> activeConnections = new ArrayList<>(mTelephonyConnections.size());
+        List<Conferenceable> backgroundConnections = new ArrayList<>(mTelephonyConnections.size());
 
         // Loop through and collect all calls which are active or holding
         for (Connection connection : mTelephonyConnections) {
@@ -208,7 +208,7 @@
 
         // Go through all the active connections and set the background connections as
         // conferenceable.
-        for (IConferenceable conferenceable : activeConnections) {
+        for (Conferenceable conferenceable : activeConnections) {
             if (conferenceable instanceof Connection) {
                 Connection connection = (Connection) conferenceable;
                 connection.setConferenceables(backgroundConnections);
@@ -217,7 +217,7 @@
 
         // Go through all the background connections and set the active connections as
         // conferenceable.
-        for (IConferenceable conferenceable : backgroundConnections) {
+        for (Conferenceable conferenceable : backgroundConnections) {
             if (conferenceable instanceof Connection) {
                 Connection connection = (Connection) conferenceable;
                 connection.setConferenceables(activeConnections);
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 518224b..3beabf4 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -50,7 +50,6 @@
     private static final int MSG_RINGBACK_TONE = 2;
     private static final int MSG_HANDOVER_STATE_CHANGED = 3;
     private static final int MSG_DISCONNECT = 4;
-    private static final int MSG_MULTIPARTY_STATE_CHANGED = 5;
 
     private final Handler mHandler = new Handler() {
         @Override
@@ -88,14 +87,6 @@
                 case MSG_DISCONNECT:
                     updateState();
                     break;
-                case MSG_MULTIPARTY_STATE_CHANGED:
-                    boolean isMultiParty = (Boolean) msg.obj;
-                    Log.i(this, "Update multiparty state to %s", isMultiParty ? "Y" : "N");
-                    mIsMultiParty = isMultiParty;
-                    if (isMultiParty) {
-                        notifyConferenceStarted();
-                    }
-                    break;
             }
         }
     };
@@ -122,7 +113,7 @@
         public void onPostDialChar(char c) {
             Log.v(TelephonyConnection.this, "onPostDialChar: %s", c);
             if (mOriginalConnection != null) {
-                setNextPostDialWaitChar(c);
+                setNextPostDialChar(c);
             }
         }
     };
@@ -191,7 +182,6 @@
         public void onAudioQualityChanged(int audioQuality) {
             setAudioQuality(audioQuality);
         }
-
         /**
          * Handles a change in the state of conference participant(s), as reported by the
          * {@link com.android.internal.telephony.Connection}.
@@ -202,17 +192,6 @@
         public void onConferenceParticipantsChanged(List<ConferenceParticipant> participants) {
             updateConferenceParticipants(participants);
         }
-
-        /*
-         * Handles a change to the multiparty state for this connection.
-         *
-         * @param isMultiParty {@code true} if the call became multiparty, {@code false}
-         *      otherwise.
-         */
-        @Override
-        public void onMultipartyStateChanged(boolean isMultiParty) {
-            handleMultipartyStateChange(isMultiParty);
-        }
     };
 
     private com.android.internal.telephony.Connection mOriginalConnection;
@@ -730,24 +709,6 @@
         }
     }
 
-    /**
-     * Handles requests to update the multiparty state received via the
-     * {@link com.android.internal.telephony.Connection.Listener#onMultipartyStateChanged(boolean)}
-     * listener.
-     * <p>
-     * Note: We post this to the mHandler to ensure that if a conference must be created as a
-     * result of the multiparty state change, the conference creation happens on the correct
-     * thread.  This ensures that the thread check in
-     * {@link com.android.internal.telephony.PhoneBase#checkCorrectThread(android.os.Handler)}
-     * does not fire.
-     *
-     * @param isMultiParty {@code true} if this connection is multiparty, {@code false} otherwise.
-     */
-    private void handleMultipartyStateChange(boolean isMultiParty) {
-        Log.i(this, "Update multiparty state to %s", isMultiParty ? "Y" : "N");
-        mHandler.obtainMessage(MSG_MULTIPARTY_STATE_CHANGED, isMultiParty).sendToTarget();
-    }
-
     private void setActiveInternal() {
         if (getState() == STATE_ACTIVE) {
             Log.w(this, "Should not be called if this is already ACTIVE");
diff --git a/src/com/android/services/telephony/activation/Activator.java b/src/com/android/services/telephony/activation/Activator.java
new file mode 100644
index 0000000..7dee5b3
--- /dev/null
+++ b/src/com/android/services/telephony/activation/Activator.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2015 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.services.telephony.activation;
+
+/**
+ * SIM Activation implementation generic interface.
+ */
+public interface Activator {
+    void onActivate();
+}
diff --git a/src/com/android/services/telephony/activation/OtaspActivator.java b/src/com/android/services/telephony/activation/OtaspActivator.java
new file mode 100644
index 0000000..11ba726
--- /dev/null
+++ b/src/com/android/services/telephony/activation/OtaspActivator.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2015 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.services.telephony.activation;
+
+/**
+ * Over-The-Air SIM Provisioning (OTASP) activation implementation.
+ *
+ * Handles OTASP activation requests and returns status updates as activation progresses.
+ */
+public class OtaspActivator implements Activator {
+    @Override
+    public void onActivate() {
+        // TODO: handle otasp activation
+    }
+}
diff --git a/src/com/android/services/telephony/activation/SimActivationActivity.java b/src/com/android/services/telephony/activation/SimActivationActivity.java
new file mode 100644
index 0000000..ae11a3f
--- /dev/null
+++ b/src/com/android/services/telephony/activation/SimActivationActivity.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2015 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.services.telephony.activation;
+
+import android.app.Activity;
+import android.app.PendingIntent;
+import android.app.PendingIntent.CanceledException;
+import android.content.Intent;
+import android.os.Bundle;
+import android.telephony.TelephonyManager;
+
+import com.android.phone.PhoneGlobals;
+import com.android.services.telephony.Log;
+
+/**
+ * Invisible activity that handles the android.intent.action.SIM_ACTIVATION_REQUEST intent.
+ * This activity is protected by the android.permission.PERFORM_SIM_ACTIVATION permission.
+ */
+public class SimActivationActivity extends Activity {
+    @Override
+    protected void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        Log.i(this, "onCreate");
+
+        Intent intent = getIntent();
+        if (Intent.ACTION_SIM_ACTIVATION_REQUEST.equals(intent.getAction())) {
+            Log.i(this, "Activation requested " + intent);
+
+            runActivation(intent);
+        }
+        finish();
+    }
+
+    private void runActivation(Intent intent) {
+        final PendingIntent response =
+                intent.getParcelableExtra(Intent.EXTRA_SIM_ACTIVATION_RESPONSE);
+
+        Log.i(this, "Running activation w/ response " + response);
+
+        PhoneGlobals app = PhoneGlobals.getInstance();
+        app.simActivationManager.runActivation(SimActivationManager.Triggers.EXPLICIT_REQUEST,
+                new SimActivationManager.Response() {
+                    @Override
+                    public void onResponse(int status) {
+                        if (response != null) {
+                            try {
+                                response.send();
+                            } catch (CanceledException e) {
+                                Log.w(this, "Could not respond to SIM Activation.");
+                            }
+                        }
+                    }
+                });
+
+        // TODO: Set this status to the return value of runActivation
+        // Return the response as an activity result and the pending intent.
+        setResult(TelephonyManager.SIM_ACTIVATION_RESULT_IN_PROGRESS);
+    }
+}
diff --git a/src/com/android/services/telephony/activation/SimActivationManager.java b/src/com/android/services/telephony/activation/SimActivationManager.java
new file mode 100644
index 0000000..ce9e508
--- /dev/null
+++ b/src/com/android/services/telephony/activation/SimActivationManager.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2015 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.services.telephony.activation;
+
+import android.app.PendingIntent;
+import android.telephony.TelephonyManager;
+
+/**
+ * Handles SIM activation requests and runs the appropriate activation process until it completes
+ * or fails. When done, sends back a response if needed.
+ */
+public class SimActivationManager {
+    public static final class Triggers {
+        public static final int SYSTEM_START = 1;
+        public static final int EXPLICIT_REQUEST = 2;
+    }
+
+    public interface Response {
+        /**
+         * @param status See {@link android.telephony.TelephonyManager} for SIM_ACTIVATION_RESULT_*
+         *               constants.
+         */
+        void onResponse(int status);
+    }
+
+    public void runActivation(int trigger, Response response) {
+        Activator activator = selectActivator(trigger);
+
+        activator.onActivate();
+
+        // TODO: Specify some way to determine if activation is even necessary.
+
+        // TODO: specify some way to return the result.
+
+        if (response != null) {
+            response.onResponse(TelephonyManager.SIM_ACTIVATION_RESULT_COMPLETE);
+        }
+    }
+
+    private Activator selectActivator(int trigger) {
+        // TODO: Select among all activator types
+
+        // For now, pick a do-nothing activator
+        return new Activator() {
+
+            /** ${inheritDoc} */
+                @Override
+            public void onActivate() {
+                // do something
+            }
+        };
+    }
+}
diff --git a/src/org/apache/commons/io/IOUtils.java b/src/org/apache/commons/io/IOUtils.java
new file mode 100644
index 0000000..b414507
--- /dev/null
+++ b/src/org/apache/commons/io/IOUtils.java
@@ -0,0 +1,1202 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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 org.apache.commons.io;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.CharArrayWriter;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.Reader;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * General IO stream manipulation utilities.
+ * <p>
+ * This class provides static utility methods for input/output operations.
+ * <ul>
+ * <li>closeQuietly - these methods close a stream ignoring nulls and exceptions
+ * <li>toXxx/read - these methods read data from a stream
+ * <li>write - these methods write data to a stream
+ * <li>copy - these methods copy all the data from one stream to another
+ * <li>contentEquals - these methods compare the content of two streams
+ * </ul>
+ * <p>
+ * The byte-to-char methods and char-to-byte methods involve a conversion step.
+ * Two methods are provided in each case, one that uses the platform default
+ * encoding and the other which allows you to specify an encoding. You are
+ * encouraged to always specify an encoding because relying on the platform
+ * default can lead to unexpected results, for example when moving from
+ * development to production.
+ * <p>
+ * All the methods in this class that read a stream are buffered internally.
+ * This means that there is no cause to use a <code>BufferedInputStream</code>
+ * or <code>BufferedReader</code>. The default buffer size of 4K has been shown
+ * to be efficient in tests.
+ * <p>
+ * Wherever possible, the methods in this class do <em>not</em> flush or close
+ * the stream. This is to avoid making non-portable assumptions about the
+ * streams' origin and further use. Thus the caller is still responsible for
+ * closing streams after use.
+ * <p>
+ * Origin of code: Excalibur.
+ *
+ * @author Peter Donald
+ * @author Jeff Turner
+ * @author Matthew Hawthorne
+ * @author Stephen Colebourne
+ * @author Gareth Davis
+ * @author Ian Springer
+ * @author Niall Pemberton
+ * @author Sandy McArthur
+ * @version $Id: IOUtils.java 481854 2006-12-03 18:30:07Z scolebourne $
+ */
+public class IOUtils {
+    // NOTE: This class is focussed on InputStream, OutputStream, Reader and
+    // Writer. Each method should take at least one of these as a parameter,
+    // or return one of them.
+
+    /**
+     * The Unix directory separator character.
+     */
+    public static final char DIR_SEPARATOR_UNIX = '/';
+    /**
+     * The Windows directory separator character.
+     */
+    public static final char DIR_SEPARATOR_WINDOWS = '\\';
+    /**
+     * The system directory separator character.
+     */
+    public static final char DIR_SEPARATOR = File.separatorChar;
+    /**
+     * The Unix line separator string.
+     */
+    public static final String LINE_SEPARATOR_UNIX = "\n";
+    /**
+     * The Windows line separator string.
+     */
+    public static final String LINE_SEPARATOR_WINDOWS = "\r\n";
+    /**
+     * The system line separator string.
+     */
+    public static final String LINE_SEPARATOR;
+    static {
+        // avoid security issues
+        StringWriter buf = new StringWriter(4);
+        PrintWriter out = new PrintWriter(buf);
+        out.println();
+        LINE_SEPARATOR = buf.toString();
+    }
+
+    /**
+     * The default buffer size to use.
+     */
+    private static final int DEFAULT_BUFFER_SIZE = 1024 * 4;
+
+    /**
+     * Instances should NOT be constructed in standard programming.
+     */
+    public IOUtils() {
+        super();
+    }
+
+    //-----------------------------------------------------------------------
+    /**
+     * Unconditionally close an <code>Reader</code>.
+     * <p>
+     * Equivalent to {@link Reader#close()}, except any exceptions will be ignored.
+     * This is typically used in finally blocks.
+     *
+     * @param input  the Reader to close, may be null or already closed
+     */
+    public static void closeQuietly(Reader input) {
+        try {
+            if (input != null) {
+                input.close();
+            }
+        } catch (IOException ioe) {
+            // ignore
+        }
+    }
+
+    /**
+     * Unconditionally close a <code>Writer</code>.
+     * <p>
+     * Equivalent to {@link Writer#close()}, except any exceptions will be ignored.
+     * This is typically used in finally blocks.
+     *
+     * @param output  the Writer to close, may be null or already closed
+     */
+    public static void closeQuietly(Writer output) {
+        try {
+            if (output != null) {
+                output.close();
+            }
+        } catch (IOException ioe) {
+            // ignore
+        }
+    }
+
+    /**
+     * Unconditionally close an <code>InputStream</code>.
+     * <p>
+     * Equivalent to {@link InputStream#close()}, except any exceptions will be ignored.
+     * This is typically used in finally blocks.
+     *
+     * @param input  the InputStream to close, may be null or already closed
+     */
+    public static void closeQuietly(InputStream input) {
+        try {
+            if (input != null) {
+                input.close();
+            }
+        } catch (IOException ioe) {
+            // ignore
+        }
+    }
+
+    /**
+     * Unconditionally close an <code>OutputStream</code>.
+     * <p>
+     * Equivalent to {@link OutputStream#close()}, except any exceptions will be ignored.
+     * This is typically used in finally blocks.
+     *
+     * @param output  the OutputStream to close, may be null or already closed
+     */
+    public static void closeQuietly(OutputStream output) {
+        try {
+            if (output != null) {
+                output.close();
+            }
+        } catch (IOException ioe) {
+            // ignore
+        }
+    }
+
+    // read toByteArray
+    //-----------------------------------------------------------------------
+    /**
+     * Get the contents of an <code>InputStream</code> as a <code>byte[]</code>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @return the requested byte array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     */
+    public static byte[] toByteArray(InputStream input) throws IOException {
+        ByteArrayOutputStream output = new ByteArrayOutputStream();
+        copy(input, output);
+        return output.toByteArray();
+    }
+
+    /**
+     * Get the contents of a <code>Reader</code> as a <code>byte[]</code>
+     * using the default character encoding of the platform.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @return the requested byte array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     */
+    public static byte[] toByteArray(Reader input) throws IOException {
+        ByteArrayOutputStream output = new ByteArrayOutputStream();
+        copy(input, output);
+        return output.toByteArray();
+    }
+
+    /**
+     * Get the contents of a <code>Reader</code> as a <code>byte[]</code>
+     * using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @param encoding  the encoding to use, null means platform default
+     * @return the requested byte array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static byte[] toByteArray(Reader input, String encoding)
+            throws IOException {
+        ByteArrayOutputStream output = new ByteArrayOutputStream();
+        copy(input, output, encoding);
+        return output.toByteArray();
+    }
+
+    /**
+     * Get the contents of a <code>String</code> as a <code>byte[]</code>
+     * using the default character encoding of the platform.
+     * <p>
+     * This is the same as {@link String#getBytes()}.
+     *
+     * @param input  the <code>String</code> to convert
+     * @return the requested byte array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs (never occurs)
+     * @deprecated Use {@link String#getBytes()}
+     */
+    @Deprecated
+    public static byte[] toByteArray(String input) throws IOException {
+        return input.getBytes();
+    }
+
+    // read char[]
+    //-----------------------------------------------------------------------
+    /**
+     * Get the contents of an <code>InputStream</code> as a character array
+     * using the default character encoding of the platform.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param is  the <code>InputStream</code> to read from
+     * @return the requested character array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static char[] toCharArray(InputStream is) throws IOException {
+        CharArrayWriter output = new CharArrayWriter();
+        copy(is, output);
+        return output.toCharArray();
+    }
+
+    /**
+     * Get the contents of an <code>InputStream</code> as a character array
+     * using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param is  the <code>InputStream</code> to read from
+     * @param encoding  the encoding to use, null means platform default
+     * @return the requested character array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static char[] toCharArray(InputStream is, String encoding)
+            throws IOException {
+        CharArrayWriter output = new CharArrayWriter();
+        copy(is, output, encoding);
+        return output.toCharArray();
+    }
+
+    /**
+     * Get the contents of a <code>Reader</code> as a character array.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @return the requested character array
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static char[] toCharArray(Reader input) throws IOException {
+        CharArrayWriter sw = new CharArrayWriter();
+        copy(input, sw);
+        return sw.toCharArray();
+    }
+
+    // read toString
+    //-----------------------------------------------------------------------
+    /**
+     * Get the contents of an <code>InputStream</code> as a String
+     * using the default character encoding of the platform.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @return the requested String
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     */
+    public static String toString(InputStream input) throws IOException {
+        StringWriter sw = new StringWriter();
+        copy(input, sw);
+        return sw.toString();
+    }
+
+    /**
+     * Get the contents of an <code>InputStream</code> as a String
+     * using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @param encoding  the encoding to use, null means platform default
+     * @return the requested String
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     */
+    public static String toString(InputStream input, String encoding)
+            throws IOException {
+        StringWriter sw = new StringWriter();
+        copy(input, sw, encoding);
+        return sw.toString();
+    }
+
+    /**
+     * Get the contents of a <code>Reader</code> as a String.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @return the requested String
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     */
+    public static String toString(Reader input) throws IOException {
+        StringWriter sw = new StringWriter();
+        copy(input, sw);
+        return sw.toString();
+    }
+
+    /**
+     * Get the contents of a <code>byte[]</code> as a String
+     * using the default character encoding of the platform.
+     *
+     * @param input the byte array to read from
+     * @return the requested String
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs (never occurs)
+     * @deprecated Use {@link String#String(byte[])}
+     */
+    @Deprecated
+    public static String toString(byte[] input) throws IOException {
+        return new String(input);
+    }
+
+    /**
+     * Get the contents of a <code>byte[]</code> as a String
+     * using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     *
+     * @param input the byte array to read from
+     * @param encoding  the encoding to use, null means platform default
+     * @return the requested String
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs (never occurs)
+     * @deprecated Use {@link String#String(byte[],String)}
+     */
+    @Deprecated
+    public static String toString(byte[] input, String encoding)
+            throws IOException {
+        if (encoding == null) {
+            return new String(input);
+        } else {
+            return new String(input, encoding);
+        }
+    }
+
+    // readLines
+    //-----------------------------------------------------------------------
+    /**
+     * Get the contents of an <code>InputStream</code> as a list of Strings,
+     * one entry per line, using the default character encoding of the platform.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param input  the <code>InputStream</code> to read from, not null
+     * @return the list of Strings, never null
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static List<String> readLines(InputStream input) throws IOException {
+        InputStreamReader reader = new InputStreamReader(input);
+        return readLines(reader);
+    }
+
+    /**
+     * Get the contents of an <code>InputStream</code> as a list of Strings,
+     * one entry per line, using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param input  the <code>InputStream</code> to read from, not null
+     * @param encoding  the encoding to use, null means platform default
+     * @return the list of Strings, never null
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static List<String> readLines(InputStream input, String encoding) throws IOException {
+        if (encoding == null) {
+            return readLines(input);
+        } else {
+            InputStreamReader reader = new InputStreamReader(input, encoding);
+            return readLines(reader);
+        }
+    }
+
+    /**
+     * Get the contents of a <code>Reader</code> as a list of Strings,
+     * one entry per line.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     *
+     * @param input  the <code>Reader</code> to read from, not null
+     * @return the list of Strings, never null
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static List<String> readLines(Reader input) throws IOException {
+        BufferedReader reader = new BufferedReader(input);
+        List<String> list = new ArrayList<String>();
+        String line = reader.readLine();
+        while (line != null) {
+            list.add(line);
+            line = reader.readLine();
+        }
+        return list;
+    }
+
+    //-----------------------------------------------------------------------
+    /**
+     * Convert the specified string to an input stream, encoded as bytes
+     * using the default character encoding of the platform.
+     *
+     * @param input the string to convert
+     * @return an input stream
+     * @since Commons IO 1.1
+     */
+    public static InputStream toInputStream(String input) {
+        byte[] bytes = input.getBytes();
+        return new ByteArrayInputStream(bytes);
+    }
+
+    /**
+     * Convert the specified string to an input stream, encoded as bytes
+     * using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     *
+     * @param input the string to convert
+     * @param encoding the encoding to use, null means platform default
+     * @throws IOException if the encoding is invalid
+     * @return an input stream
+     * @since Commons IO 1.1
+     */
+    public static InputStream toInputStream(String input, String encoding) throws IOException {
+        byte[] bytes = encoding != null ? input.getBytes(encoding) : input.getBytes();
+        return new ByteArrayInputStream(bytes);
+    }
+
+    // write byte[]
+    //-----------------------------------------------------------------------
+    /**
+     * Writes bytes from a <code>byte[]</code> to an <code>OutputStream</code>.
+     *
+     * @param data  the byte array to write, do not modify during output,
+     * null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(byte[] data, OutputStream output)
+            throws IOException {
+        if (data != null) {
+            output.write(data);
+        }
+    }
+
+    /**
+     * Writes bytes from a <code>byte[]</code> to chars on a <code>Writer</code>
+     * using the default character encoding of the platform.
+     * <p>
+     * This method uses {@link String#String(byte[])}.
+     *
+     * @param data  the byte array to write, do not modify during output,
+     * null ignored
+     * @param output  the <code>Writer</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(byte[] data, Writer output) throws IOException {
+        if (data != null) {
+            output.write(new String(data));
+        }
+    }
+
+    /**
+     * Writes bytes from a <code>byte[]</code> to chars on a <code>Writer</code>
+     * using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method uses {@link String#String(byte[], String)}.
+     *
+     * @param data  the byte array to write, do not modify during output,
+     * null ignored
+     * @param output  the <code>Writer</code> to write to
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(byte[] data, Writer output, String encoding)
+            throws IOException {
+        if (data != null) {
+            if (encoding == null) {
+                write(data, output);
+            } else {
+                output.write(new String(data, encoding));
+            }
+        }
+    }
+
+    // write char[]
+    //-----------------------------------------------------------------------
+    /**
+     * Writes chars from a <code>char[]</code> to a <code>Writer</code>
+     * using the default character encoding of the platform.
+     *
+     * @param data  the char array to write, do not modify during output,
+     * null ignored
+     * @param output  the <code>Writer</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(char[] data, Writer output) throws IOException {
+        if (data != null) {
+            output.write(data);
+        }
+    }
+
+    /**
+     * Writes chars from a <code>char[]</code> to bytes on an
+     * <code>OutputStream</code>.
+     * <p>
+     * This method uses {@link String#String(char[])} and
+     * {@link String#getBytes()}.
+     *
+     * @param data  the char array to write, do not modify during output,
+     * null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(char[] data, OutputStream output)
+            throws IOException {
+        if (data != null) {
+            output.write(new String(data).getBytes());
+        }
+    }
+
+    /**
+     * Writes chars from a <code>char[]</code> to bytes on an
+     * <code>OutputStream</code> using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method uses {@link String#String(char[])} and
+     * {@link String#getBytes(String)}.
+     *
+     * @param data  the char array to write, do not modify during output,
+     * null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(char[] data, OutputStream output, String encoding)
+            throws IOException {
+        if (data != null) {
+            if (encoding == null) {
+                write(data, output);
+            } else {
+                output.write(new String(data).getBytes(encoding));
+            }
+        }
+    }
+
+    // write String
+    //-----------------------------------------------------------------------
+    /**
+     * Writes chars from a <code>String</code> to a <code>Writer</code>.
+     *
+     * @param data  the <code>String</code> to write, null ignored
+     * @param output  the <code>Writer</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(String data, Writer output) throws IOException {
+        if (data != null) {
+            output.write(data);
+        }
+    }
+
+    /**
+     * Writes chars from a <code>String</code> to bytes on an
+     * <code>OutputStream</code> using the default character encoding of the
+     * platform.
+     * <p>
+     * This method uses {@link String#getBytes()}.
+     *
+     * @param data  the <code>String</code> to write, null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(String data, OutputStream output)
+            throws IOException {
+        if (data != null) {
+            output.write(data.getBytes());
+        }
+    }
+
+    /**
+     * Writes chars from a <code>String</code> to bytes on an
+     * <code>OutputStream</code> using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method uses {@link String#getBytes(String)}.
+     *
+     * @param data  the <code>String</code> to write, null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(String data, OutputStream output, String encoding)
+            throws IOException {
+        if (data != null) {
+            if (encoding == null) {
+                write(data, output);
+            } else {
+                output.write(data.getBytes(encoding));
+            }
+        }
+    }
+
+    // write StringBuffer
+    //-----------------------------------------------------------------------
+    /**
+     * Writes chars from a <code>StringBuffer</code> to a <code>Writer</code>.
+     *
+     * @param data  the <code>StringBuffer</code> to write, null ignored
+     * @param output  the <code>Writer</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(StringBuffer data, Writer output)
+            throws IOException {
+        if (data != null) {
+            output.write(data.toString());
+        }
+    }
+
+    /**
+     * Writes chars from a <code>StringBuffer</code> to bytes on an
+     * <code>OutputStream</code> using the default character encoding of the
+     * platform.
+     * <p>
+     * This method uses {@link String#getBytes()}.
+     *
+     * @param data  the <code>StringBuffer</code> to write, null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(StringBuffer data, OutputStream output)
+            throws IOException {
+        if (data != null) {
+            output.write(data.toString().getBytes());
+        }
+    }
+
+    /**
+     * Writes chars from a <code>StringBuffer</code> to bytes on an
+     * <code>OutputStream</code> using the specified character encoding.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method uses {@link String#getBytes(String)}.
+     *
+     * @param data  the <code>StringBuffer</code> to write, null ignored
+     * @param output  the <code>OutputStream</code> to write to
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void write(StringBuffer data, OutputStream output,
+            String encoding) throws IOException {
+        if (data != null) {
+            if (encoding == null) {
+                write(data, output);
+            } else {
+                output.write(data.toString().getBytes(encoding));
+            }
+        }
+    }
+
+    // writeLines
+    //-----------------------------------------------------------------------
+    /**
+     * Writes the <code>toString()</code> value of each item in a collection to
+     * an <code>OutputStream</code> line by line, using the default character
+     * encoding of the platform and the specified line ending.
+     *
+     * @param lines  the lines to write, null entries produce blank lines
+     * @param lineEnding  the line separator to use, null is system default
+     * @param output  the <code>OutputStream</code> to write to, not null, not closed
+     * @throws NullPointerException if the output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void writeLines(Collection<Object> lines, String lineEnding,
+            OutputStream output) throws IOException {
+        if (lines == null) {
+            return;
+        }
+        if (lineEnding == null) {
+            lineEnding = LINE_SEPARATOR;
+        }
+        for (Iterator<Object> it = lines.iterator(); it.hasNext(); ) {
+            Object line = it.next();
+            if (line != null) {
+                output.write(line.toString().getBytes());
+            }
+            output.write(lineEnding.getBytes());
+        }
+    }
+
+    /**
+     * Writes the <code>toString()</code> value of each item in a collection to
+     * an <code>OutputStream</code> line by line, using the specified character
+     * encoding and the specified line ending.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     *
+     * @param lines  the lines to write, null entries produce blank lines
+     * @param lineEnding  the line separator to use, null is system default
+     * @param output  the <code>OutputStream</code> to write to, not null, not closed
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if the output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void writeLines(Collection<Object> lines, String lineEnding,
+            OutputStream output, String encoding) throws IOException {
+        if (encoding == null) {
+            writeLines(lines, lineEnding, output);
+        } else {
+            if (lines == null) {
+                return;
+            }
+            if (lineEnding == null) {
+                lineEnding = LINE_SEPARATOR;
+            }
+            for (Iterator<Object> it = lines.iterator(); it.hasNext(); ) {
+                Object line = it.next();
+                if (line != null) {
+                    output.write(line.toString().getBytes(encoding));
+                }
+                output.write(lineEnding.getBytes(encoding));
+            }
+        }
+    }
+
+    /**
+     * Writes the <code>toString()</code> value of each item in a collection to
+     * a <code>Writer</code> line by line, using the specified line ending.
+     *
+     * @param lines  the lines to write, null entries produce blank lines
+     * @param lineEnding  the line separator to use, null is system default
+     * @param writer  the <code>Writer</code> to write to, not null, not closed
+     * @throws NullPointerException if the input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void writeLines(Collection<Object> lines, String lineEnding,
+            Writer writer) throws IOException {
+        if (lines == null) {
+            return;
+        }
+        if (lineEnding == null) {
+            lineEnding = LINE_SEPARATOR;
+        }
+        for (Iterator<Object> it = lines.iterator(); it.hasNext(); ) {
+            Object line = it.next();
+            if (line != null) {
+                writer.write(line.toString());
+            }
+            writer.write(lineEnding);
+        }
+    }
+
+    // copy from InputStream
+    //-----------------------------------------------------------------------
+    /**
+     * Copy bytes from an <code>InputStream</code> to an
+     * <code>OutputStream</code>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     * <p>
+     * Large streams (over 2GB) will return a bytes copied value of
+     * <code>-1</code> after the copy has completed since the correct
+     * number of bytes cannot be returned as an int. For large streams
+     * use the <code>copyLarge(InputStream, OutputStream)</code> method.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @param output  the <code>OutputStream</code> to write to
+     * @return the number of bytes copied
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @throws ArithmeticException if the byte count is too large
+     * @since Commons IO 1.1
+     */
+    public static int copy(InputStream input, OutputStream output) throws IOException {
+        long count = copyLarge(input, output);
+        if (count > Integer.MAX_VALUE) {
+            return -1;
+        }
+        return (int) count;
+    }
+
+    /**
+     * Copy bytes from a large (over 2GB) <code>InputStream</code> to an
+     * <code>OutputStream</code>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @param output  the <code>OutputStream</code> to write to
+     * @return the number of bytes copied
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.3
+     */
+    public static long copyLarge(InputStream input, OutputStream output)
+            throws IOException {
+        byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
+        long count = 0;
+        int n = 0;
+        while (-1 != (n = input.read(buffer))) {
+            output.write(buffer, 0, n);
+            count += n;
+        }
+        return count;
+    }
+
+    /**
+     * Copy bytes from an <code>InputStream</code> to chars on a
+     * <code>Writer</code> using the default character encoding of the platform.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     * <p>
+     * This method uses {@link InputStreamReader}.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @param output  the <code>Writer</code> to write to
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void copy(InputStream input, Writer output)
+            throws IOException {
+        InputStreamReader in = new InputStreamReader(input);
+        copy(in, output);
+    }
+
+    /**
+     * Copy bytes from an <code>InputStream</code> to chars on a
+     * <code>Writer</code> using the specified character encoding.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedInputStream</code>.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * This method uses {@link InputStreamReader}.
+     *
+     * @param input  the <code>InputStream</code> to read from
+     * @param output  the <code>Writer</code> to write to
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void copy(InputStream input, Writer output, String encoding)
+            throws IOException {
+        if (encoding == null) {
+            copy(input, output);
+        } else {
+            InputStreamReader in = new InputStreamReader(input, encoding);
+            copy(in, output);
+        }
+    }
+
+    // copy from Reader
+    //-----------------------------------------------------------------------
+    /**
+     * Copy chars from a <code>Reader</code> to a <code>Writer</code>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     * <p>
+     * Large streams (over 2GB) will return a chars copied value of
+     * <code>-1</code> after the copy has completed since the correct
+     * number of chars cannot be returned as an int. For large streams
+     * use the <code>copyLarge(Reader, Writer)</code> method.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @param output  the <code>Writer</code> to write to
+     * @return the number of characters copied
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @throws ArithmeticException if the character count is too large
+     * @since Commons IO 1.1
+     */
+    public static int copy(Reader input, Writer output) throws IOException {
+        long count = copyLarge(input, output);
+        if (count > Integer.MAX_VALUE) {
+            return -1;
+        }
+        return (int) count;
+    }
+
+    /**
+     * Copy chars from a large (over 2GB) <code>Reader</code> to a <code>Writer</code>.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @param output  the <code>Writer</code> to write to
+     * @return the number of characters copied
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.3
+     */
+    public static long copyLarge(Reader input, Writer output) throws IOException {
+        char[] buffer = new char[DEFAULT_BUFFER_SIZE];
+        long count = 0;
+        int n = 0;
+        while (-1 != (n = input.read(buffer))) {
+            output.write(buffer, 0, n);
+            count += n;
+        }
+        return count;
+    }
+
+    /**
+     * Copy chars from a <code>Reader</code> to bytes on an
+     * <code>OutputStream</code> using the default character encoding of the
+     * platform, and calling flush.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     * <p>
+     * Due to the implementation of OutputStreamWriter, this method performs a
+     * flush.
+     * <p>
+     * This method uses {@link OutputStreamWriter}.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @param output  the <code>OutputStream</code> to write to
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void copy(Reader input, OutputStream output)
+            throws IOException {
+        OutputStreamWriter out = new OutputStreamWriter(output);
+        copy(input, out);
+        // XXX Unless anyone is planning on rewriting OutputStreamWriter, we
+        // have to flush here.
+        out.flush();
+    }
+
+    /**
+     * Copy chars from a <code>Reader</code> to bytes on an
+     * <code>OutputStream</code> using the specified character encoding, and
+     * calling flush.
+     * <p>
+     * This method buffers the input internally, so there is no need to use a
+     * <code>BufferedReader</code>.
+     * <p>
+     * Character encoding names can be found at
+     * <a href="http://www.iana.org/assignments/character-sets">IANA</a>.
+     * <p>
+     * Due to the implementation of OutputStreamWriter, this method performs a
+     * flush.
+     * <p>
+     * This method uses {@link OutputStreamWriter}.
+     *
+     * @param input  the <code>Reader</code> to read from
+     * @param output  the <code>OutputStream</code> to write to
+     * @param encoding  the encoding to use, null means platform default
+     * @throws NullPointerException if the input or output is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static void copy(Reader input, OutputStream output, String encoding)
+            throws IOException {
+        if (encoding == null) {
+            copy(input, output);
+        } else {
+            OutputStreamWriter out = new OutputStreamWriter(output, encoding);
+            copy(input, out);
+            // XXX Unless anyone is planning on rewriting OutputStreamWriter,
+            // we have to flush here.
+            out.flush();
+        }
+    }
+
+    // content equals
+    //-----------------------------------------------------------------------
+    /**
+     * Compare the contents of two Streams to determine if they are equal or
+     * not.
+     * <p>
+     * This method buffers the input internally using
+     * <code>BufferedInputStream</code> if they are not already buffered.
+     *
+     * @param input1  the first stream
+     * @param input2  the second stream
+     * @return true if the content of the streams are equal or they both don't
+     * exist, false otherwise
+     * @throws NullPointerException if either input is null
+     * @throws IOException if an I/O error occurs
+     */
+    public static boolean contentEquals(InputStream input1, InputStream input2)
+            throws IOException {
+        if (!(input1 instanceof BufferedInputStream)) {
+            input1 = new BufferedInputStream(input1);
+        }
+        if (!(input2 instanceof BufferedInputStream)) {
+            input2 = new BufferedInputStream(input2);
+        }
+
+        int ch = input1.read();
+        while (-1 != ch) {
+            int ch2 = input2.read();
+            if (ch != ch2) {
+                return false;
+            }
+            ch = input1.read();
+        }
+
+        int ch2 = input2.read();
+        return (ch2 == -1);
+    }
+
+    /**
+     * Compare the contents of two Readers to determine if they are equal or
+     * not.
+     * <p>
+     * This method buffers the input internally using
+     * <code>BufferedReader</code> if they are not already buffered.
+     *
+     * @param input1  the first reader
+     * @param input2  the second reader
+     * @return true if the content of the readers are equal or they both don't
+     * exist, false otherwise
+     * @throws NullPointerException if either input is null
+     * @throws IOException if an I/O error occurs
+     * @since Commons IO 1.1
+     */
+    public static boolean contentEquals(Reader input1, Reader input2)
+            throws IOException {
+        if (!(input1 instanceof BufferedReader)) {
+            input1 = new BufferedReader(input1);
+        }
+        if (!(input2 instanceof BufferedReader)) {
+            input2 = new BufferedReader(input2);
+        }
+
+        int ch = input1.read();
+        while (-1 != ch) {
+            int ch2 = input2.read();
+            if (ch != ch2) {
+                return false;
+            }
+            ch = input1.read();
+        }
+
+        int ch2 = input2.read();
+        return (ch2 == -1);
+    }
+
+}
diff --git a/src/org/apache/james/mime4j/BodyDescriptor.java b/src/org/apache/james/mime4j/BodyDescriptor.java
new file mode 100644
index 0000000..867c43d
--- /dev/null
+++ b/src/org/apache/james/mime4j/BodyDescriptor.java
@@ -0,0 +1,392 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Encapsulates the values of the MIME-specific header fields
+ * (which starts with <code>Content-</code>).
+ *
+ *
+ * @version $Id: BodyDescriptor.java,v 1.4 2005/02/11 10:08:37 ntherning Exp $
+ */
+public class BodyDescriptor {
+    private static Log log = LogFactory.getLog(BodyDescriptor.class);
+
+    private String mimeType = "text/plain";
+    private String boundary = null;
+    private String charset = "us-ascii";
+    private String transferEncoding = "7bit";
+    private Map<String, String> parameters = new HashMap<String, String>();
+    private boolean contentTypeSet = false;
+    private boolean contentTransferEncSet = false;
+
+    /**
+     * Creates a new root <code>BodyDescriptor</code> instance.
+     */
+    public BodyDescriptor() {
+        this(null);
+    }
+
+    /**
+     * Creates a new <code>BodyDescriptor</code> instance.
+     *
+     * @param parent the descriptor of the parent or <code>null</code> if this
+     *        is the root descriptor.
+     */
+    public BodyDescriptor(BodyDescriptor parent) {
+        if (parent != null && parent.isMimeType("multipart/digest")) {
+            mimeType = "message/rfc822";
+        } else {
+            mimeType = "text/plain";
+        }
+    }
+
+    /**
+     * Should be called for each <code>Content-</code> header field of
+     * a MIME message or part.
+     *
+     * @param name the field name.
+     * @param value the field value.
+     */
+    public void addField(String name, String value) {
+
+        name = name.trim().toLowerCase();
+
+        if (name.equals("content-transfer-encoding") && !contentTransferEncSet) {
+            contentTransferEncSet = true;
+
+            value = value.trim().toLowerCase();
+            if (value.length() > 0) {
+                transferEncoding = value;
+            }
+
+        } else if (name.equals("content-type") && !contentTypeSet) {
+            contentTypeSet = true;
+
+            value = value.trim();
+
+            /*
+             * Unfold Content-Type value
+             */
+            StringBuffer sb = new StringBuffer();
+            for (int i = 0; i < value.length(); i++) {
+                char c = value.charAt(i);
+                if (c == '\r' || c == '\n') {
+                    continue;
+                }
+                sb.append(c);
+            }
+
+            Map<String, String> params = getHeaderParams(sb.toString());
+
+            String main = params.get("");
+            if (main != null) {
+                main = main.toLowerCase().trim();
+                int index = main.indexOf('/');
+                boolean valid = false;
+                if (index != -1) {
+                    String type = main.substring(0, index).trim();
+                    String subtype = main.substring(index + 1).trim();
+                    if (type.length() > 0 && subtype.length() > 0) {
+                        main = type + "/" + subtype;
+                        valid = true;
+                    }
+                }
+
+                if (!valid) {
+                    main = null;
+                }
+            }
+            String b = params.get("boundary");
+
+            if (main != null
+                    && ((main.startsWith("multipart/") && b != null)
+                            || !main.startsWith("multipart/"))) {
+
+                mimeType = main;
+            }
+
+            if (isMultipart()) {
+                boundary = b;
+            }
+
+            String c = params.get("charset");
+            if (c != null) {
+                c = c.trim();
+                if (c.length() > 0) {
+                    charset = c.toLowerCase();
+                }
+            }
+
+            /*
+             * Add all other parameters to parameters.
+             */
+            parameters.putAll(params);
+            parameters.remove("");
+            parameters.remove("boundary");
+            parameters.remove("charset");
+        }
+    }
+
+    private Map<String, String> getHeaderParams(String headerValue) {
+        Map<String, String> result = new HashMap<String, String>();
+
+        // split main value and parameters
+        String main;
+        String rest;
+        if (headerValue.indexOf(";") == -1) {
+            main = headerValue;
+            rest = null;
+        } else {
+            main = headerValue.substring(0, headerValue.indexOf(";"));
+            rest = headerValue.substring(main.length() + 1);
+        }
+
+        result.put("", main);
+        if (rest != null) {
+            char[] chars = rest.toCharArray();
+            StringBuffer paramName = new StringBuffer();
+            StringBuffer paramValue = new StringBuffer();
+
+            final byte READY_FOR_NAME = 0;
+            final byte IN_NAME = 1;
+            final byte READY_FOR_VALUE = 2;
+            final byte IN_VALUE = 3;
+            final byte IN_QUOTED_VALUE = 4;
+            final byte VALUE_DONE = 5;
+            final byte ERROR = 99;
+
+            byte state = READY_FOR_NAME;
+            boolean escaped = false;
+            for (int i = 0; i < chars.length; i++) {
+                char c = chars[i];
+
+                switch (state) {
+                    case ERROR:
+                        if (c == ';')
+                            state = READY_FOR_NAME;
+                        break;
+
+                    case READY_FOR_NAME:
+                        if (c == '=') {
+                            log.error("Expected header param name, got '='");
+                            state = ERROR;
+                            break;
+                        }
+
+                        paramName = new StringBuffer();
+                        paramValue = new StringBuffer();
+
+                        state = IN_NAME;
+                        // $FALL-THROUGH$
+
+                    case IN_NAME:
+                        if (c == '=') {
+                            if (paramName.length() == 0)
+                                state = ERROR;
+                            else
+                                state = READY_FOR_VALUE;
+                            break;
+                        }
+
+                        // not '='... just add to name
+                        paramName.append(c);
+                        break;
+
+                    case READY_FOR_VALUE:
+                        boolean fallThrough = false;
+                        switch (c) {
+                            case ' ':
+                            case '\t':
+                                break;  // ignore spaces, especially before '"'
+
+                            case '"':
+                                state = IN_QUOTED_VALUE;
+                                break;
+
+                            default:
+                                state = IN_VALUE;
+                                fallThrough = true;
+                                break;
+                        }
+                        if (!fallThrough)
+                            break;
+
+                        // $FALL-THROUGH$
+
+                    case IN_VALUE:
+                        fallThrough = false;
+                        switch (c) {
+                            case ';':
+                            case ' ':
+                            case '\t':
+                                result.put(
+                                   paramName.toString().trim().toLowerCase(),
+                                   paramValue.toString().trim());
+                                state = VALUE_DONE;
+                                fallThrough = true;
+                                break;
+                            default:
+                                paramValue.append(c);
+                                break;
+                        }
+                        if (!fallThrough)
+                            break;
+
+                        // $FALL-THROUGH$
+
+                    case VALUE_DONE:
+                        switch (c) {
+                            case ';':
+                                state = READY_FOR_NAME;
+                                break;
+
+                            case ' ':
+                            case '\t':
+                                break;
+
+                            default:
+                                state = ERROR;
+                                break;
+                        }
+                        break;
+
+                    case IN_QUOTED_VALUE:
+                        switch (c) {
+                            case '"':
+                                if (!escaped) {
+                                    // don't trim quoted strings; the spaces could be intentional.
+                                    result.put(
+                                            paramName.toString().trim().toLowerCase(),
+                                            paramValue.toString());
+                                    state = VALUE_DONE;
+                                } else {
+                                    escaped = false;
+                                    paramValue.append(c);
+                                }
+                                break;
+
+                            case '\\':
+                                if (escaped) {
+                                    paramValue.append('\\');
+                                }
+                                escaped = !escaped;
+                                break;
+
+                            default:
+                                if (escaped) {
+                                    paramValue.append('\\');
+                                }
+                                escaped = false;
+                                paramValue.append(c);
+                                break;
+                        }
+                        break;
+
+                }
+            }
+
+            // done looping.  check if anything is left over.
+            if (state == IN_VALUE) {
+                result.put(
+                        paramName.toString().trim().toLowerCase(),
+                        paramValue.toString().trim());
+            }
+        }
+
+        return result;
+    }
+
+
+    public boolean isMimeType(String mimeType) {
+        return this.mimeType.equals(mimeType.toLowerCase());
+    }
+
+    /**
+     * Return true if the BodyDescriptor belongs to a message
+     */
+    public boolean isMessage() {
+        return mimeType.equals("message/rfc822");
+    }
+
+    /**
+     * Return true if the BodyDescripotro belongs to a multipart
+     */
+    public boolean isMultipart() {
+        return mimeType.startsWith("multipart/");
+    }
+
+    /**
+     * Return the MimeType
+     */
+    public String getMimeType() {
+        return mimeType;
+    }
+
+    /**
+     * Return the boundary
+     */
+    public String getBoundary() {
+        return boundary;
+    }
+
+    /**
+     * Return the charset
+     */
+    public String getCharset() {
+        return charset;
+    }
+
+    /**
+     * Return all parameters for the BodyDescriptor
+     */
+    public Map<String, String> getParameters() {
+        return parameters;
+    }
+
+    /**
+     * Return the TransferEncoding
+     */
+    public String getTransferEncoding() {
+        return transferEncoding;
+    }
+
+    /**
+     * Return true if it's base64 encoded
+     */
+    public boolean isBase64Encoded() {
+        return "base64".equals(transferEncoding);
+    }
+
+    /**
+     * Return true if it's quoted-printable
+     */
+    public boolean isQuotedPrintableEncoded() {
+        return "quoted-printable".equals(transferEncoding);
+    }
+
+    @Override
+    public String toString() {
+        return mimeType;
+    }
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/CloseShieldInputStream.java b/src/org/apache/james/mime4j/CloseShieldInputStream.java
new file mode 100644
index 0000000..d9f3b07
--- /dev/null
+++ b/src/org/apache/james/mime4j/CloseShieldInputStream.java
@@ -0,0 +1,129 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * InputStream that shields its underlying input stream from
+ * being closed.
+ *
+ *
+ * @version $Id: CloseShieldInputStream.java,v 1.2 2004/10/02 12:41:10 ntherning Exp $
+ */
+public class CloseShieldInputStream extends InputStream {
+
+    /**
+     * Underlying InputStream
+     */
+    private InputStream is;
+
+    public CloseShieldInputStream(InputStream is) {
+        this.is = is;
+    }
+
+    public InputStream getUnderlyingStream() {
+        return is;
+    }
+
+    /**
+     * @see java.io.InputStream#read()
+     */
+    public int read() throws IOException {
+        checkIfClosed();
+        return is.read();
+    }
+
+    /**
+     * @see java.io.InputStream#available()
+     */
+    public int available() throws IOException {
+        checkIfClosed();
+        return is.available();
+    }
+
+
+    /**
+     * Set the underlying InputStream to null
+     */
+    public void close() throws IOException {
+        is = null;
+    }
+
+    /**
+     * @see java.io.FilterInputStream#reset()
+     */
+    public synchronized void reset() throws IOException {
+        checkIfClosed();
+        is.reset();
+    }
+
+    /**
+     * @see java.io.FilterInputStream#markSupported()
+     */
+    public boolean markSupported() {
+        if (is == null)
+            return false;
+        return is.markSupported();
+    }
+
+    /**
+     * @see java.io.FilterInputStream#mark(int)
+     */
+    public synchronized void mark(int readlimit) {
+        if (is != null)
+            is.mark(readlimit);
+    }
+
+    /**
+     * @see java.io.FilterInputStream#skip(long)
+     */
+    public long skip(long n) throws IOException {
+        checkIfClosed();
+        return is.skip(n);
+    }
+
+    /**
+     * @see java.io.FilterInputStream#read(byte[])
+     */
+    public int read(byte b[]) throws IOException {
+        checkIfClosed();
+        return is.read(b);
+    }
+
+    /**
+     * @see java.io.FilterInputStream#read(byte[], int, int)
+     */
+    public int read(byte b[], int off, int len) throws IOException {
+        checkIfClosed();
+        return is.read(b, off, len);
+    }
+
+    /**
+     * Check if the underlying InputStream is null. If so throw an Exception
+     *
+     * @throws IOException if the underlying InputStream is null
+     */
+    private void checkIfClosed() throws IOException {
+        if (is == null)
+            throw new IOException("Stream is closed");
+    }
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/ContentHandler.java b/src/org/apache/james/mime4j/ContentHandler.java
new file mode 100644
index 0000000..b437e73
--- /dev/null
+++ b/src/org/apache/james/mime4j/ContentHandler.java
@@ -0,0 +1,177 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * <p>
+ * Receives notifications of the content of a plain RFC822 or MIME message.
+ * Implement this interface and register an instance of that implementation
+ * with a <code>MimeStreamParser</code> instance using its
+ * {@link org.apache.james.mime4j.MimeStreamParser#setContentHandler(ContentHandler)}
+ * method. The parser uses the <code>ContentHandler</code> instance to report
+ * basic message-related events like the start and end of the body of a
+ * part in a multipart MIME entity.
+ * </p>
+ * <p>
+ * Events will be generated in the order the corresponding elements occur in
+ * the message stream parsed by the parser. E.g.:
+ * <pre>
+ *      startMessage()
+ *          startHeader()
+ *              field(...)
+ *              field(...)
+ *              ...
+ *          endHeader()
+ *          startMultipart()
+ *              preamble(...)
+ *              startBodyPart()
+ *                  startHeader()
+ *                      field(...)
+ *                      field(...)
+ *                      ...
+ *                  endHeader()
+ *                  body()
+ *              endBodyPart()
+ *              startBodyPart()
+ *                  startHeader()
+ *                      field(...)
+ *                      field(...)
+ *                      ...
+ *                  endHeader()
+ *                  body()
+ *              endBodyPart()
+ *              epilogue(...)
+ *          endMultipart()
+ *      endMessage()
+ * </pre>
+ * The above shows an example of a MIME message consisting of a multipart
+ * body containing two body parts.
+ * </p>
+ * <p>
+ * See MIME RFCs 2045-2049 for more information on the structure of MIME
+ * messages and RFC 822 and 2822 for the general structure of Internet mail
+ * messages.
+ * </p>
+ *
+ *
+ * @version $Id: ContentHandler.java,v 1.3 2004/10/02 12:41:10 ntherning Exp $
+ */
+public interface ContentHandler {
+    /**
+     * Called when a new message starts (a top level message or an embedded
+     * rfc822 message).
+     */
+    void startMessage();
+
+    /**
+     * Called when a message ends.
+     */
+    void endMessage();
+
+    /**
+     * Called when a new body part starts inside a
+     * <code>multipart/*</code> entity.
+     */
+    void startBodyPart();
+
+    /**
+     * Called when a body part ends.
+     */
+    void endBodyPart();
+
+    /**
+     * Called when a header (of a message or body part) is about to be parsed.
+     */
+    void startHeader();
+
+    /**
+     * Called for each field of a header.
+     *
+     * @param fieldData the raw contents of the field
+     *        (<code>Field-Name: field value</code>). The value will not be
+     *        unfolded.
+     */
+    void field(String fieldData);
+
+    /**
+     * Called when there are no more header fields in a message or body part.
+     */
+    void endHeader();
+
+    /**
+     * Called for the preamble (whatever comes before the first body part)
+     * of a <code>multipart/*</code> entity.
+     *
+     * @param is used to get the contents of the preamble.
+     * @throws IOException should be thrown on I/O errors.
+     */
+    void preamble(InputStream is) throws IOException;
+
+    /**
+     * Called for the epilogue (whatever comes after the final body part)
+     * of a <code>multipart/*</code> entity.
+     *
+     * @param is used to get the contents of the epilogue.
+     * @throws IOException should be thrown on I/O errors.
+     */
+    void epilogue(InputStream is) throws IOException;
+
+    /**
+     * Called when the body of a multipart entity is about to be parsed.
+     *
+     * @param bd encapsulates the values (either read from the
+     *        message stream or, if not present, determined implictly
+     *        as described in the
+     *        MIME rfc:s) of the <code>Content-Type</code> and
+     *        <code>Content-Transfer-Encoding</code> header fields.
+     */
+    void startMultipart(BodyDescriptor bd);
+
+    /**
+     * Called when the body of an entity has been parsed.
+     */
+    void endMultipart();
+
+    /**
+     * Called when the body of a discrete (non-multipart) entity is about to
+     * be parsed.
+     *
+     * @param bd see {@link #startMultipart(BodyDescriptor)}
+     * @param is the contents of the body. NOTE: this is the raw body contents
+     *           - it will not be decoded if encoded. The <code>bd</code>
+     *           parameter should be used to determine how the stream data
+     *           should be decoded.
+     * @throws IOException should be thrown on I/O errors.
+     */
+    void body(BodyDescriptor bd, InputStream is) throws IOException;
+
+    /**
+     * Called when a new entity (message or body part) starts and the
+     * parser is in <code>raw</code> mode.
+     *
+     * @param is the raw contents of the entity.
+     * @throws IOException should be thrown on I/O errors.
+     * @see MimeStreamParser#setRaw(boolean)
+     */
+    void raw(InputStream is) throws IOException;
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/EOLConvertingInputStream.java b/src/org/apache/james/mime4j/EOLConvertingInputStream.java
new file mode 100644
index 0000000..d6ef706
--- /dev/null
+++ b/src/org/apache/james/mime4j/EOLConvertingInputStream.java
@@ -0,0 +1,139 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PushbackInputStream;
+
+/**
+ * InputStream which converts <code>\r</code>
+ * bytes not followed by <code>\n</code> and <code>\n</code> not
+ * preceded by <code>\r</code> to <code>\r\n</code>.
+ *
+ *
+ * @version $Id: EOLConvertingInputStream.java,v 1.4 2004/11/29 13:15:42 ntherning Exp $
+ */
+public class EOLConvertingInputStream extends InputStream {
+    /** Converts single '\r' to '\r\n' */
+    public static final int CONVERT_CR   = 1;
+    /** Converts single '\n' to '\r\n' */
+    public static final int CONVERT_LF   = 2;
+    /** Converts single '\r' and '\n' to '\r\n' */
+    public static final int CONVERT_BOTH = 3;
+
+    private PushbackInputStream in = null;
+    private int previous = 0;
+    private int flags = CONVERT_BOTH;
+    private int size = 0;
+    private int pos = 0;
+    private int nextTenPctPos;
+    private int tenPctSize;
+    private Callback callback;
+
+    public interface Callback {
+        public void report(int bytesRead);
+    }
+
+    /**
+     * Creates a new <code>EOLConvertingInputStream</code>
+     * instance converting bytes in the given <code>InputStream</code>.
+     * The flag <code>CONVERT_BOTH</code> is the default.
+     *
+     * @param in the <code>InputStream</code> to read from.
+     */
+    public EOLConvertingInputStream(InputStream _in) {
+        super();
+        in = new PushbackInputStream(_in, 2);
+    }
+
+    /**
+     * Creates a new <code>EOLConvertingInputStream</code>
+     * instance converting bytes in the given <code>InputStream</code>.
+     *
+     * @param _in the <code>InputStream</code> to read from.
+     * @param _size the size of the input stream (need not be exact)
+     * @param _callback a callback reporting when each 10% of stream's size is reached
+     */
+    public EOLConvertingInputStream(InputStream _in, int _size, Callback _callback) {
+        this(_in);
+        size = _size;
+        tenPctSize = size / 10;
+        nextTenPctPos = tenPctSize;
+        callback = _callback;
+    }
+
+    /**
+     * Closes the underlying stream.
+     *
+     * @throws IOException on I/O errors.
+     */
+    public void close() throws IOException {
+        in.close();
+    }
+
+    private int readByte() throws IOException {
+        int b = in.read();
+        if (b != -1) {
+            if (callback != null && pos++ == nextTenPctPos) {
+                nextTenPctPos += tenPctSize;
+                if (callback != null) {
+                    callback.report(pos);
+                }
+            }
+        }
+        return b;
+    }
+
+    private void unreadByte(int c) throws IOException {
+        in.unread(c);
+        pos--;
+    }
+
+    /**
+     * @see java.io.InputStream#read()
+     */
+    public int read() throws IOException {
+        int b = readByte();
+
+        if (b == -1) {
+            pos = size;
+            return -1;
+        }
+
+        if ((flags & CONVERT_CR) != 0 && b == '\r') {
+            int c = readByte();
+            if (c != -1) {
+                unreadByte(c);
+            }
+            if (c != '\n') {
+                unreadByte('\n');
+            }
+        } else if ((flags & CONVERT_LF) != 0 && b == '\n' && previous != '\r') {
+            b = '\r';
+            unreadByte('\n');
+        }
+
+        previous = b;
+
+        return b;
+    }
+
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/Log.java b/src/org/apache/james/mime4j/Log.java
new file mode 100644
index 0000000..5eeead5
--- /dev/null
+++ b/src/org/apache/james/mime4j/Log.java
@@ -0,0 +1,114 @@
+/*
+ * Copyright (C) 2009 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 org.apache.james.mime4j;
+
+/**
+ * Empty stub for the apache logging library.
+ */
+public class Log {
+    private static final String LOG_TAG = "Email Log";
+
+    public Log(Class mClazz) {
+    }
+
+    public boolean isDebugEnabled() {
+        return false;
+    }
+
+    public boolean isErrorEnabled() {
+        return true;
+    }
+
+    public boolean isFatalEnabled() {
+        return true;
+    }
+
+    public boolean isInfoEnabled() {
+        return false;
+    }
+
+    public boolean isTraceEnabled() {
+        return false;
+    }
+
+    public boolean isWarnEnabled() {
+        return true;
+    }
+
+    public void trace(Object message) {
+        if (!isTraceEnabled()) return;
+        android.util.Log.v(LOG_TAG, toString(message, null));
+    }
+
+    public void trace(Object message, Throwable t) {
+        if (!isTraceEnabled()) return;
+        android.util.Log.v(LOG_TAG, toString(message, t));
+    }
+
+    public void debug(Object message) {
+        if (!isDebugEnabled()) return;
+        android.util.Log.d(LOG_TAG, toString(message, null));
+    }
+
+    public void debug(Object message, Throwable t) {
+        if (!isDebugEnabled()) return;
+        android.util.Log.d(LOG_TAG, toString(message, t));
+    }
+
+    public void info(Object message) {
+        if (!isInfoEnabled()) return;
+        android.util.Log.i(LOG_TAG, toString(message, null));
+    }
+
+    public void info(Object message, Throwable t) {
+        if (!isInfoEnabled()) return;
+        android.util.Log.i(LOG_TAG, toString(message, t));
+    }
+
+    public void warn(Object message) {
+        android.util.Log.w(LOG_TAG, toString(message, null));
+    }
+
+    public void warn(Object message, Throwable t) {
+        android.util.Log.w(LOG_TAG, toString(message, t));
+    }
+
+    public void error(Object message) {
+        android.util.Log.e(LOG_TAG, toString(message, null));
+    }
+
+    public void error(Object message, Throwable t) {
+        android.util.Log.e(LOG_TAG, toString(message, t));
+    }
+
+    public void fatal(Object message) {
+        android.util.Log.e(LOG_TAG, toString(message, null));
+    }
+
+    public void fatal(Object message, Throwable t) {
+        android.util.Log.e(LOG_TAG, toString(message, t));
+    }
+
+    private static String toString(Object o, Throwable t) {
+        String m = (o == null) ? "(null)" : o.toString();
+        if (t == null) {
+            return m;
+        } else {
+            return m + " " + t.getMessage();
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/LogFactory.java b/src/org/apache/james/mime4j/LogFactory.java
new file mode 100644
index 0000000..ed6e3de
--- /dev/null
+++ b/src/org/apache/james/mime4j/LogFactory.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2009 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 org.apache.james.mime4j;
+
+/**
+ * Empty stub for the apache logging library.
+ */
+public final class LogFactory {
+    private LogFactory() {
+    }
+
+    public static Log getLog(Class clazz) {
+        return new Log(clazz);
+    }
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/MimeBoundaryInputStream.java b/src/org/apache/james/mime4j/MimeBoundaryInputStream.java
new file mode 100644
index 0000000..c6d6f24
--- /dev/null
+++ b/src/org/apache/james/mime4j/MimeBoundaryInputStream.java
@@ -0,0 +1,184 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.PushbackInputStream;
+
+/**
+ * Stream that constrains itself to a single MIME body part.
+ * After the stream ends (i.e. read() returns -1) {@link #hasMoreParts()}
+ * can be used to determine if a final boundary has been seen or not.
+ * If {@link #parentEOF()} is <code>true</code> an unexpected end of stream
+ * has been detected in the parent stream.
+ *
+ *
+ *
+ * @version $Id: MimeBoundaryInputStream.java,v 1.2 2004/11/29 13:15:42 ntherning Exp $
+ */
+public class MimeBoundaryInputStream extends InputStream {
+
+    private PushbackInputStream s = null;
+    private byte[] boundary = null;
+    private boolean first = true;
+    private boolean eof = false;
+    private boolean parenteof = false;
+    private boolean moreParts = true;
+
+    /**
+     * Creates a new MimeBoundaryInputStream.
+     * @param s The underlying stream.
+     * @param boundary Boundary string (not including leading hyphens).
+     */
+    public MimeBoundaryInputStream(InputStream s, String boundary)
+            throws IOException {
+
+        this.s = new PushbackInputStream(s, boundary.length() + 4);
+
+        boundary = "--" + boundary;
+        this.boundary = new byte[boundary.length()];
+        for (int i = 0; i < this.boundary.length; i++) {
+            this.boundary[i] = (byte) boundary.charAt(i);
+        }
+
+        /*
+         * By reading one byte we will update moreParts to be as expected
+         * before any bytes have been read.
+         */
+        int b = read();
+        if (b != -1) {
+            this.s.unread(b);
+        }
+    }
+
+    /**
+     * Closes the underlying stream.
+     *
+     * @throws IOException on I/O errors.
+     */
+    public void close() throws IOException {
+        s.close();
+    }
+
+    /**
+     * Determines if the underlying stream has more parts (this stream has
+     * not seen an end boundary).
+     *
+     * @return <code>true</code> if there are more parts in the underlying
+     *         stream, <code>false</code> otherwise.
+     */
+    public boolean hasMoreParts() {
+        return moreParts;
+    }
+
+    /**
+     * Determines if the parent stream has reached EOF
+     *
+     * @return <code>true</code>  if EOF has been reached for the parent stream,
+     *         <code>false</code> otherwise.
+     */
+    public boolean parentEOF() {
+        return parenteof;
+    }
+
+    /**
+     * Consumes all unread bytes of this stream. After a call to this method
+     * this stream will have reached EOF.
+     *
+     * @throws IOException on I/O errors.
+     */
+    public void consume() throws IOException {
+        while (read() != -1) {
+        }
+    }
+
+    /**
+     * @see java.io.InputStream#read()
+     */
+    public int read() throws IOException {
+        if (eof) {
+            return -1;
+        }
+
+        if (first) {
+            first = false;
+            if (matchBoundary()) {
+                return -1;
+            }
+        }
+
+        int b1 = s.read();
+        int b2 = s.read();
+
+        if (b1 == '\r' && b2 == '\n') {
+            if (matchBoundary()) {
+                return -1;
+            }
+        }
+
+        if (b2 != -1) {
+            s.unread(b2);
+        }
+
+        parenteof = b1 == -1;
+        eof = parenteof;
+
+        return b1;
+    }
+
+    private boolean matchBoundary() throws IOException {
+
+        for (int i = 0; i < boundary.length; i++) {
+            int b = s.read();
+            if (b != boundary[i]) {
+                if (b != -1) {
+                    s.unread(b);
+                }
+                for (int j = i - 1; j >= 0; j--) {
+                    s.unread(boundary[j]);
+                }
+                return false;
+            }
+        }
+
+        /*
+         * We have a match. Is it an end boundary?
+         */
+        int prev = s.read();
+        int curr = s.read();
+        moreParts = !(prev == '-' && curr == '-');
+        do {
+            if (curr == '\n' && prev == '\r') {
+                break;
+            }
+            prev = curr;
+        } while ((curr = s.read()) != -1);
+
+        if (curr == -1) {
+            moreParts = false;
+            parenteof = true;
+        }
+
+        eof = true;
+
+        return true;
+    }
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/MimeStreamParser.java b/src/org/apache/james/mime4j/MimeStreamParser.java
new file mode 100644
index 0000000..a8aad5a
--- /dev/null
+++ b/src/org/apache/james/mime4j/MimeStreamParser.java
@@ -0,0 +1,324 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import org.apache.james.mime4j.decoder.Base64InputStream;
+import org.apache.james.mime4j.decoder.QuotedPrintableInputStream;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.BitSet;
+import java.util.LinkedList;
+
+/**
+ * <p>
+ * Parses MIME (or RFC822) message streams of bytes or characters and reports
+ * parsing events to a <code>ContentHandler</code> instance.
+ * </p>
+ * <p>
+ * Typical usage:<br/>
+ * <pre>
+ *      ContentHandler handler = new MyHandler();
+ *      MimeStreamParser parser = new MimeStreamParser();
+ *      parser.setContentHandler(handler);
+ *      parser.parse(new BufferedInputStream(new FileInputStream("mime.msg")));
+ * </pre>
+ * <strong>NOTE:</strong> All lines must end with CRLF
+ * (<code>\r\n</code>). If you are unsure of the line endings in your stream
+ * you should wrap it in a {@link org.apache.james.mime4j.EOLConvertingInputStream} instance.
+ *
+ *
+ * @version $Id: MimeStreamParser.java,v 1.8 2005/02/11 10:12:02 ntherning Exp $
+ */
+public class MimeStreamParser {
+    private static final Log log = LogFactory.getLog(MimeStreamParser.class);
+
+    private static BitSet fieldChars = null;
+
+    private RootInputStream rootStream = null;
+    private LinkedList<BodyDescriptor> bodyDescriptors = new LinkedList<BodyDescriptor>();
+    private ContentHandler handler = null;
+    private boolean raw = false;
+    private boolean prematureEof = false;
+
+    static {
+        fieldChars = new BitSet();
+        for (int i = 0x21; i <= 0x39; i++) {
+            fieldChars.set(i);
+        }
+        for (int i = 0x3b; i <= 0x7e; i++) {
+            fieldChars.set(i);
+        }
+    }
+
+    /**
+     * Creates a new <code>MimeStreamParser</code> instance.
+     */
+    public MimeStreamParser() {
+    }
+
+    /**
+     * Parses a stream of bytes containing a MIME message.
+     *
+     * @param is the stream to parse.
+     * @throws IOException on I/O errors.
+     */
+    public void parse(InputStream is) throws IOException {
+        rootStream = new RootInputStream(is);
+        parseMessage(rootStream);
+    }
+
+    /**
+     * Determines if this parser is currently in raw mode.
+     *
+     * @return <code>true</code> if in raw mode, <code>false</code>
+     *         otherwise.
+     * @see #setRaw(boolean)
+     */
+    public boolean isRaw() {
+        return raw;
+    }
+
+    /**
+     * Enables or disables raw mode. In raw mode all future entities
+     * (messages or body parts) in the stream will be reported to the
+     * {@link ContentHandler#raw(InputStream)} handler method only.
+     * The stream will contain the entire unparsed entity contents
+     * including header fields and whatever is in the body.
+     *
+     * @param raw <code>true</code> enables raw mode, <code>false</code>
+     *        disables it.
+     */
+    public void setRaw(boolean raw) {
+        this.raw = raw;
+    }
+
+    /**
+     * Finishes the parsing and stops reading lines.
+     * NOTE: No more lines will be parsed but the parser
+     * will still call
+     * {@link ContentHandler#endMultipart()},
+     * {@link ContentHandler#endBodyPart()},
+     * {@link ContentHandler#endMessage()}, etc to match previous calls
+     * to
+     * {@link ContentHandler#startMultipart(BodyDescriptor)},
+     * {@link ContentHandler#startBodyPart()},
+     * {@link ContentHandler#startMessage()}, etc.
+     */
+    public void stop() {
+        rootStream.truncate();
+    }
+
+    /**
+     * Parses an entity which consists of a header followed by a body containing
+     * arbitrary data, body parts or an embedded message.
+     *
+     * @param is the stream to parse.
+     * @throws IOException on I/O errors.
+     */
+    private void parseEntity(InputStream is) throws IOException {
+        BodyDescriptor bd = parseHeader(is);
+
+        if (bd.isMultipart()) {
+            bodyDescriptors.addFirst(bd);
+
+            handler.startMultipart(bd);
+
+            MimeBoundaryInputStream tempIs =
+                new MimeBoundaryInputStream(is, bd.getBoundary());
+            handler.preamble(new CloseShieldInputStream(tempIs));
+            tempIs.consume();
+
+            while (tempIs.hasMoreParts()) {
+                tempIs = new MimeBoundaryInputStream(is, bd.getBoundary());
+                parseBodyPart(tempIs);
+                tempIs.consume();
+                if (tempIs.parentEOF()) {
+                    prematureEof = true;
+//                    if (log.isWarnEnabled()) {
+//                        log.warn("Line " + rootStream.getLineNumber()
+//                                + ": Body part ended prematurely. "
+//                                + "Higher level boundary detected or "
+//                                + "EOF reached.");
+//                    }
+                    break;
+                }
+            }
+
+            handler.epilogue(new CloseShieldInputStream(is));
+
+            handler.endMultipart();
+
+            bodyDescriptors.removeFirst();
+
+        } else if (bd.isMessage()) {
+            if (bd.isBase64Encoded()) {
+                log.warn("base64 encoded message/rfc822 detected");
+                is = new EOLConvertingInputStream(
+                        new Base64InputStream(is));
+            } else if (bd.isQuotedPrintableEncoded()) {
+                log.warn("quoted-printable encoded message/rfc822 detected");
+                is = new EOLConvertingInputStream(
+                        new QuotedPrintableInputStream(is));
+            }
+            bodyDescriptors.addFirst(bd);
+            parseMessage(is);
+            bodyDescriptors.removeFirst();
+        } else {
+            handler.body(bd, new CloseShieldInputStream(is));
+        }
+
+        /*
+         * Make sure the stream has been consumed.
+         */
+        while (is.read() != -1) {
+        }
+    }
+
+    private void parseMessage(InputStream is) throws IOException {
+        if (raw) {
+            handler.raw(new CloseShieldInputStream(is));
+        } else {
+            handler.startMessage();
+            parseEntity(is);
+            handler.endMessage();
+        }
+    }
+
+    public boolean getPrematureEof() {
+        return prematureEof;
+    }
+
+    private void parseBodyPart(InputStream is) throws IOException {
+        if (raw) {
+            handler.raw(new CloseShieldInputStream(is));
+        } else {
+            handler.startBodyPart();
+            parseEntity(is);
+            handler.endBodyPart();
+        }
+    }
+
+    /**
+     * Parses a header.
+     *
+     * @param is the stream to parse.
+     * @return a <code>BodyDescriptor</code> describing the body following
+     *         the header.
+     */
+    private BodyDescriptor parseHeader(InputStream is) throws IOException {
+        BodyDescriptor bd = new BodyDescriptor(bodyDescriptors.isEmpty()
+                        ? null : (BodyDescriptor) bodyDescriptors.getFirst());
+
+        handler.startHeader();
+
+        int lineNumber = rootStream.getLineNumber();
+
+        StringBuffer sb = new StringBuffer();
+        int curr = 0;
+        int prev = 0;
+        while ((curr = is.read()) != -1) {
+            if (curr == '\n' && (prev == '\n' || prev == 0)) {
+                /*
+                 * [\r]\n[\r]\n or an immediate \r\n have been seen.
+                 */
+                sb.deleteCharAt(sb.length() - 1);
+                break;
+            }
+            sb.append((char) curr);
+            prev = curr == '\r' ? prev : curr;
+        }
+
+//        if (curr == -1 && log.isWarnEnabled()) {
+//            log.warn("Line " + rootStream.getLineNumber()
+//                    + ": Unexpected end of headers detected. "
+//                    + "Boundary detected in header or EOF reached.");
+//        }
+
+        int start = 0;
+        int pos = 0;
+        int startLineNumber = lineNumber;
+        while (pos < sb.length()) {
+            while (pos < sb.length() && sb.charAt(pos) != '\r') {
+                pos++;
+            }
+            if (pos < sb.length() - 1 && sb.charAt(pos + 1) != '\n') {
+                pos++;
+                continue;
+            }
+
+            if (pos >= sb.length() - 2 || fieldChars.get(sb.charAt(pos + 2))) {
+
+                /*
+                 * field should be the complete field data excluding the
+                 * trailing \r\n.
+                 */
+                String field = sb.substring(start, pos);
+                start = pos + 2;
+
+                /*
+                 * Check for a valid field.
+                 */
+                int index = field.indexOf(':');
+                boolean valid = false;
+                if (index != -1 && fieldChars.get(field.charAt(0))) {
+                    valid = true;
+                    String fieldName = field.substring(0, index).trim();
+                    for (int i = 0; i < fieldName.length(); i++) {
+                        if (!fieldChars.get(fieldName.charAt(i))) {
+                            valid = false;
+                            break;
+                        }
+                    }
+
+                    if (valid) {
+                        handler.field(field);
+                        bd.addField(fieldName, field.substring(index + 1));
+                    }
+                }
+
+                if (!valid && log.isWarnEnabled()) {
+                    log.warn("Line " + startLineNumber
+                            + ": Ignoring invalid field: '" + field.trim() + "'");
+                }
+
+                startLineNumber = lineNumber;
+            }
+
+            pos += 2;
+            lineNumber++;
+        }
+
+        handler.endHeader();
+
+        return bd;
+    }
+
+    /**
+     * Sets the <code>ContentHandler</code> to use when reporting
+     * parsing events.
+     *
+     * @param h the <code>ContentHandler</code>.
+     */
+    public void setContentHandler(ContentHandler h) {
+        this.handler = h;
+    }
+
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/RootInputStream.java b/src/org/apache/james/mime4j/RootInputStream.java
new file mode 100644
index 0000000..cc8b241
--- /dev/null
+++ b/src/org/apache/james/mime4j/RootInputStream.java
@@ -0,0 +1,111 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * <code>InputStream</code> used by the parser to wrap the original user
+ * supplied stream. This stream keeps track of the current line number and
+ * can also be truncated. When truncated the stream will appear to have
+ * reached end of file. This is used by the parser's
+ * {@link org.apache.james.mime4j.MimeStreamParser#stop()} method.
+ *
+ *
+ * @version $Id: RootInputStream.java,v 1.2 2004/10/02 12:41:10 ntherning Exp $
+ */
+class RootInputStream extends InputStream {
+    private InputStream is = null;
+    private int lineNumber = 1;
+    private int prev = -1;
+    private boolean truncated = false;
+
+    /**
+     * Creates a new <code>RootInputStream</code>.
+     *
+     * @param in the stream to read from.
+     */
+    public RootInputStream(InputStream is) {
+        this.is = is;
+    }
+
+    /**
+     * Gets the current line number starting at 1
+     * (the number of <code>\r\n</code> read so far plus 1).
+     *
+     * @return the current line number.
+     */
+    public int getLineNumber() {
+        return lineNumber;
+    }
+
+    /**
+     * Truncates this <code>InputStream</code>. After this call any
+     * call to {@link #read()}, {@link #read(byte[]) or
+     * {@link #read(byte[], int, int)} will return
+     * -1 as if end-of-file had been reached.
+     */
+    public void truncate() {
+        this.truncated = true;
+    }
+
+    /**
+     * @see java.io.InputStream#read()
+     */
+    public int read() throws IOException {
+        if (truncated) {
+            return -1;
+        }
+
+        int b = is.read();
+        if (prev == '\r' && b == '\n') {
+            lineNumber++;
+        }
+        prev = b;
+        return b;
+    }
+
+    /**
+     *
+     * @see java.io.InputStream#read(byte[], int, int)
+     */
+    public int read(byte[] b, int off, int len) throws IOException {
+        if (truncated) {
+            return -1;
+        }
+
+        int n = is.read(b, off, len);
+        for (int i = off; i < off + n; i++) {
+            if (prev == '\r' && b[i] == '\n') {
+                lineNumber++;
+            }
+            prev = b[i];
+        }
+        return n;
+    }
+
+    /**
+     * @see java.io.InputStream#read(byte[])
+     */
+    public int read(byte[] b) throws IOException {
+        return read(b, 0, b.length);
+    }
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/codec/EncoderUtil.java b/src/org/apache/james/mime4j/codec/EncoderUtil.java
new file mode 100644
index 0000000..6841bc9
--- /dev/null
+++ b/src/org/apache/james/mime4j/codec/EncoderUtil.java
@@ -0,0 +1,630 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.codec;
+
+import java.nio.ByteBuffer;
+import java.nio.charset.Charset;
+import java.util.BitSet;
+import java.util.Locale;
+
+import org.apache.james.mime4j.util.CharsetUtil;
+
+/**
+ * ANDROID:  THIS CLASS IS COPIED FROM A NEWER VERSION OF MIME4J
+ */
+
+/**
+ * Static methods for encoding header field values. This includes encoded-words
+ * as defined in <a href='http://www.faqs.org/rfcs/rfc2047.html'>RFC 2047</a>
+ * or display-names of an e-mail address, for example.
+ * 
+ */
+public class EncoderUtil {
+
+    // This array is a lookup table that translates 6-bit positive integer index
+    // values into their "Base64 Alphabet" equivalents as specified in Table 1
+    // of RFC 2045.
+    // ANDROID:  THIS TABLE IS COPIED FROM BASE64OUTPUTSTREAM
+    static final byte[] BASE64_TABLE = { 'A', 'B', 'C', 'D', 'E', 'F',
+            'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
+            'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',
+            'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
+            't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5',
+            '6', '7', '8', '9', '+', '/' };
+
+    // Byte used to pad output.
+    private static final byte BASE64_PAD = '=';
+
+    private static final BitSet Q_REGULAR_CHARS = initChars("=_?");
+
+    private static final BitSet Q_RESTRICTED_CHARS = initChars("=_?\"#$%&'(),.:;<>@[\\]^`{|}~");
+
+    private static final int MAX_USED_CHARACTERS = 50;
+
+    private static final String ENC_WORD_PREFIX = "=?";
+    private static final String ENC_WORD_SUFFIX = "?=";
+
+    private static final int ENCODED_WORD_MAX_LENGTH = 75; // RFC 2047
+
+    private static final BitSet TOKEN_CHARS = initChars("()<>@,;:\\\"/[]?=");
+
+    private static final BitSet ATEXT_CHARS = initChars("()<>@.,;:\\\"[]");
+
+    private static BitSet initChars(String specials) {
+        BitSet bs = new BitSet(128);
+        for (char ch = 33; ch < 127; ch++) {
+            if (specials.indexOf(ch) == -1) {
+                bs.set(ch);
+            }
+        }
+        return bs;
+    }
+
+    /**
+     * Selects one of the two encodings specified in RFC 2047.
+     */
+    public enum Encoding {
+        /** The B encoding (identical to base64 defined in RFC 2045). */
+        B,
+        /** The Q encoding (similar to quoted-printable defined in RFC 2045). */
+        Q
+    }
+
+    /**
+     * Indicates the intended usage of an encoded word.
+     */
+    public enum Usage {
+        /**
+         * Encoded word is used to replace a 'text' token in any Subject or
+         * Comments header field.
+         */
+        TEXT_TOKEN,
+        /**
+         * Encoded word is used to replace a 'word' entity within a 'phrase',
+         * for example, one that precedes an address in a From, To, or Cc
+         * header.
+         */
+        WORD_ENTITY
+    }
+
+    private EncoderUtil() {
+    }
+
+    /**
+     * Encodes the display-name portion of an address. See <a
+     * href='http://www.faqs.org/rfcs/rfc5322.html'>RFC 5322</a> section 3.4
+     * and <a href='http://www.faqs.org/rfcs/rfc2047.html'>RFC 2047</a> section
+     * 5.3. The specified string should not be folded.
+     * 
+     * @param displayName
+     *            display-name to encode.
+     * @return encoded display-name.
+     */
+    public static String encodeAddressDisplayName(String displayName) {
+        // display-name = phrase
+        // phrase = 1*( encoded-word / word )
+        // word = atom / quoted-string
+        // atom = [CFWS] 1*atext [CFWS]
+        // CFWS = comment or folding white space
+
+        if (isAtomPhrase(displayName)) {
+            return displayName;
+        } else if (hasToBeEncoded(displayName, 0)) {
+            return encodeEncodedWord(displayName, Usage.WORD_ENTITY);
+        } else {
+            return quote(displayName);
+        }
+    }
+
+    /**
+     * Encodes the local part of an address specification as described in RFC
+     * 5322 section 3.4.1. Leading and trailing CFWS should have been removed
+     * before calling this method. The specified string should not contain any
+     * illegal (control or non-ASCII) characters.
+     * 
+     * @param localPart
+     *            the local part to encode
+     * @return the encoded local part.
+     */
+    public static String encodeAddressLocalPart(String localPart) {
+        // local-part = dot-atom / quoted-string
+        // dot-atom = [CFWS] dot-atom-text [CFWS]
+        // CFWS = comment or folding white space
+
+        if (isDotAtomText(localPart)) {
+            return localPart;
+        } else {
+            return quote(localPart);
+        }
+    }
+
+    /**
+     * Encodes the specified strings into a header parameter as described in RFC
+     * 2045 section 5.1 and RFC 2183 section 2. The specified strings should not
+     * contain any illegal (control or non-ASCII) characters.
+     * 
+     * @param name
+     *            parameter name.
+     * @param value
+     *            parameter value.
+     * @return encoded result.
+     */
+    public static String encodeHeaderParameter(String name, String value) {
+        name = name.toLowerCase(Locale.US);
+
+        // value := token / quoted-string
+        if (isToken(value)) {
+            return name + "=" + value;
+        } else {
+            return name + "=" + quote(value);
+        }
+    }
+
+    /**
+     * Shortcut method that encodes the specified text into an encoded-word if
+     * the text has to be encoded.
+     * 
+     * @param text
+     *            text to encode.
+     * @param usage
+     *            whether the encoded-word is to be used to replace a text token
+     *            or a word entity (see RFC 822).
+     * @param usedCharacters
+     *            number of characters already used up (<code>0 <= usedCharacters <= 50</code>).
+     * @return the specified text if encoding is not necessary or an encoded
+     *         word or a sequence of encoded words otherwise.
+     */
+    public static String encodeIfNecessary(String text, Usage usage,
+            int usedCharacters) {
+        if (hasToBeEncoded(text, usedCharacters))
+            return encodeEncodedWord(text, usage, usedCharacters);
+        else
+            return text;
+    }
+
+    /**
+     * Determines if the specified string has to encoded into an encoded-word.
+     * Returns <code>true</code> if the text contains characters that don't
+     * fall into the printable ASCII character set or if the text contains a
+     * 'word' (sequence of non-whitespace characters) longer than 77 characters
+     * (including characters already used up in the line).
+     * 
+     * @param text
+     *            text to analyze.
+     * @param usedCharacters
+     *            number of characters already used up (<code>0 <= usedCharacters <= 50</code>).
+     * @return <code>true</code> if the specified text has to be encoded into
+     *         an encoded-word, <code>false</code> otherwise.
+     */
+    public static boolean hasToBeEncoded(String text, int usedCharacters) {
+        if (text == null)
+            throw new IllegalArgumentException();
+        if (usedCharacters < 0 || usedCharacters > MAX_USED_CHARACTERS)
+            throw new IllegalArgumentException();
+
+        int nonWhiteSpaceCount = usedCharacters;
+
+        for (int idx = 0; idx < text.length(); idx++) {
+            char ch = text.charAt(idx);
+            if (ch == '\t' || ch == ' ') {
+                nonWhiteSpaceCount = 0;
+            } else {
+                nonWhiteSpaceCount++;
+                if (nonWhiteSpaceCount > 77) {
+                    // Line cannot be folded into multiple lines with no more
+                    // than 78 characters each. Encoding as encoded-words makes
+                    // that possible. One character has to be reserved for
+                    // folding white space; that leaves 77 characters.
+                    return true;
+                }
+
+                if (ch < 32 || ch >= 127) {
+                    // non-printable ascii character has to be encoded
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    /**
+     * Encodes the specified text into an encoded word or a sequence of encoded
+     * words separated by space. The text is separated into a sequence of
+     * encoded words if it does not fit in a single one.
+     * <p>
+     * The charset to encode the specified text into a byte array and the
+     * encoding to use for the encoded-word are detected automatically.
+     * <p>
+     * This method assumes that zero characters have already been used up in the
+     * current line.
+     * 
+     * @param text
+     *            text to encode.
+     * @param usage
+     *            whether the encoded-word is to be used to replace a text token
+     *            or a word entity (see RFC 822).
+     * @return the encoded word (or sequence of encoded words if the given text
+     *         does not fit in a single encoded word).
+     * @see #hasToBeEncoded(String, int)
+     */
+    public static String encodeEncodedWord(String text, Usage usage) {
+        return encodeEncodedWord(text, usage, 0, null, null);
+    }
+
+    /**
+     * Encodes the specified text into an encoded word or a sequence of encoded
+     * words separated by space. The text is separated into a sequence of
+     * encoded words if it does not fit in a single one.
+     * <p>
+     * The charset to encode the specified text into a byte array and the
+     * encoding to use for the encoded-word are detected automatically.
+     * 
+     * @param text
+     *            text to encode.
+     * @param usage
+     *            whether the encoded-word is to be used to replace a text token
+     *            or a word entity (see RFC 822).
+     * @param usedCharacters
+     *            number of characters already used up (<code>0 <= usedCharacters <= 50</code>).
+     * @return the encoded word (or sequence of encoded words if the given text
+     *         does not fit in a single encoded word).
+     * @see #hasToBeEncoded(String, int)
+     */
+    public static String encodeEncodedWord(String text, Usage usage,
+            int usedCharacters) {
+        return encodeEncodedWord(text, usage, usedCharacters, null, null);
+    }
+
+    /**
+     * Encodes the specified text into an encoded word or a sequence of encoded
+     * words separated by space. The text is separated into a sequence of
+     * encoded words if it does not fit in a single one.
+     * 
+     * @param text
+     *            text to encode.
+     * @param usage
+     *            whether the encoded-word is to be used to replace a text token
+     *            or a word entity (see RFC 822).
+     * @param usedCharacters
+     *            number of characters already used up (<code>0 <= usedCharacters <= 50</code>).
+     * @param charset
+     *            the Java charset that should be used to encode the specified
+     *            string into a byte array. A suitable charset is detected
+     *            automatically if this parameter is <code>null</code>.
+     * @param encoding
+     *            the encoding to use for the encoded-word (either B or Q). A
+     *            suitable encoding is automatically chosen if this parameter is
+     *            <code>null</code>.
+     * @return the encoded word (or sequence of encoded words if the given text
+     *         does not fit in a single encoded word).
+     * @see #hasToBeEncoded(String, int)
+     */
+    public static String encodeEncodedWord(String text, Usage usage,
+            int usedCharacters, Charset charset, Encoding encoding) {
+        if (text == null)
+            throw new IllegalArgumentException();
+        if (usedCharacters < 0 || usedCharacters > MAX_USED_CHARACTERS)
+            throw new IllegalArgumentException();
+
+        if (charset == null)
+            charset = determineCharset(text);
+
+        String mimeCharset = CharsetUtil.toMimeCharset(charset.name());
+        if (mimeCharset == null) {
+            // cannot happen if charset was originally null
+            throw new IllegalArgumentException("Unsupported charset");
+        }
+
+        byte[] bytes = encode(text, charset);
+
+        if (encoding == null)
+            encoding = determineEncoding(bytes, usage);
+
+        if (encoding == Encoding.B) {
+            String prefix = ENC_WORD_PREFIX + mimeCharset + "?B?";
+            return encodeB(prefix, text, usedCharacters, charset, bytes);
+        } else {
+            String prefix = ENC_WORD_PREFIX + mimeCharset + "?Q?";
+            return encodeQ(prefix, text, usage, usedCharacters, charset, bytes);
+        }
+    }
+
+    /**
+     * Encodes the specified byte array using the B encoding defined in RFC
+     * 2047.
+     * 
+     * @param bytes
+     *            byte array to encode.
+     * @return encoded string.
+     */
+    public static String encodeB(byte[] bytes) {
+        StringBuilder sb = new StringBuilder();
+
+        int idx = 0;
+        final int end = bytes.length;
+        for (; idx < end - 2; idx += 3) {
+            int data = (bytes[idx] & 0xff) << 16 | (bytes[idx + 1] & 0xff) << 8
+                    | bytes[idx + 2] & 0xff;
+            sb.append((char) BASE64_TABLE[data >> 18 & 0x3f]);
+            sb.append((char) BASE64_TABLE[data >> 12 & 0x3f]);
+            sb.append((char) BASE64_TABLE[data >> 6 & 0x3f]);
+            sb.append((char) BASE64_TABLE[data & 0x3f]);
+        }
+
+        if (idx == end - 2) {
+            int data = (bytes[idx] & 0xff) << 16 | (bytes[idx + 1] & 0xff) << 8;
+            sb.append((char) BASE64_TABLE[data >> 18 & 0x3f]);
+            sb.append((char) BASE64_TABLE[data >> 12 & 0x3f]);
+            sb.append((char) BASE64_TABLE[data >> 6 & 0x3f]);
+            sb.append((char) BASE64_PAD);
+
+        } else if (idx == end - 1) {
+            int data = (bytes[idx] & 0xff) << 16;
+            sb.append((char) BASE64_TABLE[data >> 18 & 0x3f]);
+            sb.append((char) BASE64_TABLE[data >> 12 & 0x3f]);
+            sb.append((char) BASE64_PAD);
+            sb.append((char) BASE64_PAD);
+        }
+
+        return sb.toString();
+    }
+
+    /**
+     * Encodes the specified byte array using the Q encoding defined in RFC
+     * 2047.
+     * 
+     * @param bytes
+     *            byte array to encode.
+     * @param usage
+     *            whether the encoded-word is to be used to replace a text token
+     *            or a word entity (see RFC 822).
+     * @return encoded string.
+     */
+    public static String encodeQ(byte[] bytes, Usage usage) {
+        BitSet qChars = usage == Usage.TEXT_TOKEN ? Q_REGULAR_CHARS
+                : Q_RESTRICTED_CHARS;
+
+        StringBuilder sb = new StringBuilder();
+
+        final int end = bytes.length;
+        for (int idx = 0; idx < end; idx++) {
+            int v = bytes[idx] & 0xff;
+            if (v == 32) {
+                sb.append('_');
+            } else if (!qChars.get(v)) {
+                sb.append('=');
+                sb.append(hexDigit(v >>> 4));
+                sb.append(hexDigit(v & 0xf));
+            } else {
+                sb.append((char) v);
+            }
+        }
+
+        return sb.toString();
+    }
+
+    /**
+     * Tests whether the specified string is a token as defined in RFC 2045
+     * section 5.1.
+     * 
+     * @param str
+     *            string to test.
+     * @return <code>true</code> if the specified string is a RFC 2045 token,
+     *         <code>false</code> otherwise.
+     */
+    public static boolean isToken(String str) {
+        // token := 1*<any (US-ASCII) CHAR except SPACE, CTLs, or tspecials>
+        // tspecials := "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "\" /
+        // <"> / "/" / "[" / "]" / "?" / "="
+        // CTL := 0.- 31., 127.
+
+        final int length = str.length();
+        if (length == 0)
+            return false;
+
+        for (int idx = 0; idx < length; idx++) {
+            char ch = str.charAt(idx);
+            if (!TOKEN_CHARS.get(ch))
+                return false;
+        }
+
+        return true;
+    }
+
+    private static boolean isAtomPhrase(String str) {
+        // atom = [CFWS] 1*atext [CFWS]
+
+        boolean containsAText = false;
+
+        final int length = str.length();
+        for (int idx = 0; idx < length; idx++) {
+            char ch = str.charAt(idx);
+            if (ATEXT_CHARS.get(ch)) {
+                containsAText = true;
+            } else if (!CharsetUtil.isWhitespace(ch)) {
+                return false;
+            }
+        }
+
+        return containsAText;
+    }
+
+    // RFC 5322 section 3.2.3
+    private static boolean isDotAtomText(String str) {
+        // dot-atom-text = 1*atext *("." 1*atext)
+        // atext = ALPHA / DIGIT / "!" / "#" / "$" / "%" / "&" / "'" / "*" /
+        // "+" / "-" / "/" / "=" / "?" / "^" / "_" / "`" / "{" / "|" / "}" / "~"
+
+        char prev = '.';
+
+        final int length = str.length();
+        if (length == 0)
+            return false;
+
+        for (int idx = 0; idx < length; idx++) {
+            char ch = str.charAt(idx);
+
+            if (ch == '.') {
+                if (prev == '.' || idx == length - 1)
+                    return false;
+            } else {
+                if (!ATEXT_CHARS.get(ch))
+                    return false;
+            }
+
+            prev = ch;
+        }
+
+        return true;
+    }
+
+    // RFC 5322 section 3.2.4
+    private static String quote(String str) {
+        // quoted-string = [CFWS] DQUOTE *([FWS] qcontent) [FWS] DQUOTE [CFWS]
+        // qcontent = qtext / quoted-pair
+        // qtext = %d33 / %d35-91 / %d93-126
+        // quoted-pair = ("\" (VCHAR / WSP))
+        // VCHAR = %x21-7E
+        // DQUOTE = %x22
+
+        String escaped = str.replaceAll("[\\\\\"]", "\\\\$0");
+        return "\"" + escaped + "\"";
+    }
+
+    private static String encodeB(String prefix, String text,
+            int usedCharacters, Charset charset, byte[] bytes) {
+        int encodedLength = bEncodedLength(bytes);
+
+        int totalLength = prefix.length() + encodedLength
+                + ENC_WORD_SUFFIX.length();
+        if (totalLength <= ENCODED_WORD_MAX_LENGTH - usedCharacters) {
+            return prefix + encodeB(bytes) + ENC_WORD_SUFFIX;
+        } else {
+            int splitOffset = text.offsetByCodePoints(text.length() / 2, -1);
+                                                         
+            String part1 = text.substring(0, splitOffset);
+            byte[] bytes1 = encode(part1, charset);
+            String word1 = encodeB(prefix, part1, usedCharacters, charset,
+                    bytes1);
+
+            String part2 = text.substring(splitOffset);
+            byte[] bytes2 = encode(part2, charset);
+            String word2 = encodeB(prefix, part2, 0, charset, bytes2);
+
+            return word1 + " " + word2;
+        }
+    }
+
+    private static int bEncodedLength(byte[] bytes) {
+        return (bytes.length + 2) / 3 * 4;
+    }
+
+    private static String encodeQ(String prefix, String text, Usage usage,
+            int usedCharacters, Charset charset, byte[] bytes) {
+        int encodedLength = qEncodedLength(bytes, usage);
+
+        int totalLength = prefix.length() + encodedLength
+                + ENC_WORD_SUFFIX.length();
+        if (totalLength <= ENCODED_WORD_MAX_LENGTH - usedCharacters) {
+            return prefix + encodeQ(bytes, usage) + ENC_WORD_SUFFIX;
+        } else {
+            int splitOffset = text.offsetByCodePoints(text.length() / 2, -1);
+
+            String part1 = text.substring(0, splitOffset);
+            byte[] bytes1 = encode(part1, charset);
+            String word1 = encodeQ(prefix, part1, usage, usedCharacters,
+                    charset, bytes1);
+
+            String part2 = text.substring(splitOffset);
+            byte[] bytes2 = encode(part2, charset);
+            String word2 = encodeQ(prefix, part2, usage, 0, charset, bytes2);
+
+            return word1 + " " + word2;
+        }
+    }
+
+    private static int qEncodedLength(byte[] bytes, Usage usage) {
+        BitSet qChars = usage == Usage.TEXT_TOKEN ? Q_REGULAR_CHARS
+                : Q_RESTRICTED_CHARS;
+
+        int count = 0;
+
+        for (int idx = 0; idx < bytes.length; idx++) {
+            int v = bytes[idx] & 0xff;
+            if (v == 32) {
+                count++;
+            } else if (!qChars.get(v)) {
+                count += 3;
+            } else {
+                count++;
+            }
+        }
+
+        return count;
+    }
+
+    private static byte[] encode(String text, Charset charset) {
+        ByteBuffer buffer = charset.encode(text);
+        byte[] bytes = new byte[buffer.limit()];
+        buffer.get(bytes);
+        return bytes;
+    }
+
+    private static Charset determineCharset(String text) {
+        // it is an important property of iso-8859-1 that it directly maps
+        // unicode code points 0000 to 00ff to byte values 00 to ff.
+        boolean ascii = true;
+        final int len = text.length();
+        for (int index = 0; index < len; index++) {
+            char ch = text.charAt(index);
+            if (ch > 0xff) {
+                return CharsetUtil.UTF_8;
+            }
+            if (ch > 0x7f) {
+                ascii = false;
+            }
+        }
+        return ascii ? CharsetUtil.US_ASCII : CharsetUtil.ISO_8859_1;
+    }
+
+    private static Encoding determineEncoding(byte[] bytes, Usage usage) {
+        if (bytes.length == 0)
+            return Encoding.Q;
+
+        BitSet qChars = usage == Usage.TEXT_TOKEN ? Q_REGULAR_CHARS
+                : Q_RESTRICTED_CHARS;
+
+        int qEncoded = 0;
+        for (int i = 0; i < bytes.length; i++) {
+            int v = bytes[i] & 0xff;
+            if (v != 32 && !qChars.get(v)) {
+                qEncoded++;
+            }
+        }
+
+        int percentage = qEncoded * 100 / bytes.length;
+        return percentage > 30 ? Encoding.B : Encoding.Q;
+    }
+
+    private static char hexDigit(int i) {
+        return i < 10 ? (char) (i + '0') : (char) (i - 10 + 'A');
+    }
+}
diff --git a/src/org/apache/james/mime4j/decoder/Base64InputStream.java b/src/org/apache/james/mime4j/decoder/Base64InputStream.java
new file mode 100644
index 0000000..77f5d7d
--- /dev/null
+++ b/src/org/apache/james/mime4j/decoder/Base64InputStream.java
@@ -0,0 +1,151 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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.                                           *
+ ****************************************************************/
+
+/**
+ * Modified to improve efficiency by Android   21-Aug-2009
+ */
+
+package org.apache.james.mime4j.decoder;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * Performs Base-64 decoding on an underlying stream.
+ * 
+ * 
+ * @version $Id: Base64InputStream.java,v 1.3 2004/11/29 13:15:47 ntherning Exp $
+ */
+public class Base64InputStream extends InputStream {
+    private final InputStream s;
+    private int outCount = 0;
+    private int outIndex = 0;
+    private final int[] outputBuffer = new int[3];
+    private final byte[] inputBuffer = new byte[4];
+    private boolean done = false;
+
+    public Base64InputStream(InputStream s) {
+        this.s = s;
+    }
+
+    /**
+     * Closes the underlying stream.
+     * 
+     * @throws IOException on I/O errors.
+     */
+    @Override
+    public void close() throws IOException {
+        s.close();
+    }
+    
+    @Override
+    public int read() throws IOException {
+        if (outIndex == outCount) {
+            fillBuffer();
+            if (outIndex == outCount) {
+                return -1;
+            }
+        }
+
+        return outputBuffer[outIndex++];
+    }
+
+    /**
+     * Retrieve data from the underlying stream, decode it,
+     * and put the results in the byteq.
+     * @throws IOException
+     */
+    private void fillBuffer() throws IOException {
+        outCount = 0;
+        outIndex = 0;
+        int inCount = 0;
+
+        int i;
+        // "done" is needed for the two successive '=' at the end
+        while (!done) {
+            switch (i = s.read()) {
+                case -1:
+                    // No more input - just return, let outputBuffer drain out, and be done
+                    return;
+                case '=':
+                    // once we meet the first '=', avoid reading the second '='
+                    done = true;
+                    decodeAndEnqueue(inCount);
+                    return;
+                default:
+                    byte sX = TRANSLATION[i];
+                    if (sX < 0) continue;
+                    inputBuffer[inCount++] = sX;
+                    if (inCount == 4) {
+                        decodeAndEnqueue(inCount);
+                        return;
+                    }
+                    break;
+            }
+        }
+    }
+
+    private void decodeAndEnqueue(int len) {
+        int accum = 0;
+        accum |= inputBuffer[0] << 18;
+        accum |= inputBuffer[1] << 12;
+        accum |= inputBuffer[2] << 6;
+        accum |= inputBuffer[3];
+
+        // There's a bit of duplicated code here because we want to have straight-through operation
+        // for the most common case of len==4
+        if (len == 4) {
+            outputBuffer[0] = (accum >> 16) & 0xFF;
+            outputBuffer[1] = (accum >> 8) & 0xFF;
+            outputBuffer[2] = (accum) & 0xFF;
+            outCount = 3;
+            return;
+        } else if (len == 3) {
+            outputBuffer[0] = (accum >> 16) & 0xFF;
+            outputBuffer[1] = (accum >> 8) & 0xFF;
+            outCount = 2;
+            return;
+        } else {    // len == 2
+            outputBuffer[0] = (accum >> 16) & 0xFF;
+            outCount = 1;
+            return;
+        }
+    }
+
+    private static byte[] TRANSLATION = {
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0x00 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0x10 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, /* 0x20 */
+        52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, /* 0x30 */
+        -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, /* 0x40 */
+        15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, /* 0x50 */
+        -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, /* 0x60 */
+        41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1, /* 0x70 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0x80 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0x90 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0xA0 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0xB0 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0xC0 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0xD0 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, /* 0xE0 */
+        -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1     /* 0xF0 */
+    };
+
+
+}
diff --git a/src/org/apache/james/mime4j/decoder/ByteQueue.java b/src/org/apache/james/mime4j/decoder/ByteQueue.java
new file mode 100644
index 0000000..6d7ccef
--- /dev/null
+++ b/src/org/apache/james/mime4j/decoder/ByteQueue.java
@@ -0,0 +1,62 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.decoder;
+
+import java.util.Iterator;
+
+public class ByteQueue {
+
+    private UnboundedFifoByteBuffer buf;
+    private int initialCapacity = -1;
+
+    public ByteQueue() {
+        buf = new UnboundedFifoByteBuffer();
+    }
+
+    public ByteQueue(int initialCapacity) {
+        buf = new UnboundedFifoByteBuffer(initialCapacity);
+        this.initialCapacity = initialCapacity;
+    }
+
+    public void enqueue(byte b) {
+        buf.add(b);
+    }
+
+    public byte dequeue() {
+        return buf.remove();
+    }
+
+    public int count() {
+        return buf.size();
+    }
+
+    public void clear() {
+        if (initialCapacity != -1)
+            buf = new UnboundedFifoByteBuffer(initialCapacity);
+        else
+            buf = new UnboundedFifoByteBuffer();
+    }
+
+    public Iterator iterator() {
+        return buf.iterator();
+    }
+
+
+}
diff --git a/src/org/apache/james/mime4j/decoder/DecoderUtil.java b/src/org/apache/james/mime4j/decoder/DecoderUtil.java
new file mode 100644
index 0000000..48fe07d
--- /dev/null
+++ b/src/org/apache/james/mime4j/decoder/DecoderUtil.java
@@ -0,0 +1,284 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.decoder;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+import org.apache.james.mime4j.util.CharsetUtil;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * Static methods for decoding strings, byte arrays and encoded words.
+ *
+ * 
+ * @version $Id: DecoderUtil.java,v 1.3 2005/02/07 15:33:59 ntherning Exp $
+ */
+public class DecoderUtil {
+    private static Log log = LogFactory.getLog(DecoderUtil.class);
+    
+    /**
+     * Decodes a string containing quoted-printable encoded data. 
+     * 
+     * @param s the string to decode.
+     * @return the decoded bytes.
+     */
+    public static byte[] decodeBaseQuotedPrintable(String s) {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        
+        try {
+            byte[] bytes = s.getBytes("US-ASCII");
+            
+            QuotedPrintableInputStream is = new QuotedPrintableInputStream(
+                                               new ByteArrayInputStream(bytes));
+            
+            int b = 0;
+            while ((b = is.read()) != -1) {
+                baos.write(b);
+            }
+        } catch (IOException e) {
+            /*
+             * This should never happen!
+             */
+            log.error(e);
+        }
+        
+        return baos.toByteArray();
+    }
+    
+    /**
+     * Decodes a string containing base64 encoded data. 
+     * 
+     * @param s the string to decode.
+     * @return the decoded bytes.
+     */
+    public static byte[] decodeBase64(String s) {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        
+        try {
+            byte[] bytes = s.getBytes("US-ASCII");
+            
+            Base64InputStream is = new Base64InputStream(
+                                        new ByteArrayInputStream(bytes));
+            
+            int b = 0;
+            while ((b = is.read()) != -1) {
+                baos.write(b);
+            }
+        } catch (IOException e) {
+            /*
+             * This should never happen!
+             */
+            log.error(e);
+        }
+        
+        return baos.toByteArray();
+    }
+    
+    /**
+     * Decodes an encoded word encoded with the 'B' encoding (described in 
+     * RFC 2047) found in a header field body.
+     * 
+     * @param encodedWord the encoded word to decode.
+     * @param charset the Java charset to use.
+     * @return the decoded string.
+     * @throws UnsupportedEncodingException if the given Java charset isn't 
+     *         supported.
+     */
+    public static String decodeB(String encodedWord, String charset) 
+            throws UnsupportedEncodingException {
+        
+        return new String(decodeBase64(encodedWord), charset);
+    }
+    
+    /**
+     * Decodes an encoded word encoded with the 'Q' encoding (described in 
+     * RFC 2047) found in a header field body.
+     * 
+     * @param encodedWord the encoded word to decode.
+     * @param charset the Java charset to use.
+     * @return the decoded string.
+     * @throws UnsupportedEncodingException if the given Java charset isn't 
+     *         supported.
+     */
+    public static String decodeQ(String encodedWord, String charset)
+            throws UnsupportedEncodingException {
+           
+        /*
+         * Replace _ with =20
+         */
+        StringBuffer sb = new StringBuffer();
+        for (int i = 0; i < encodedWord.length(); i++) {
+            char c = encodedWord.charAt(i);
+            if (c == '_') {
+                sb.append("=20");
+            } else {
+                sb.append(c);
+            }
+        }
+        
+        return new String(decodeBaseQuotedPrintable(sb.toString()), charset);
+    }
+    
+    /**
+     * Decodes a string containing encoded words as defined by RFC 2047.
+     * Encoded words in have the form 
+     * =?charset?enc?Encoded word?= where enc is either 'Q' or 'q' for 
+     * quoted-printable and 'B' or 'b' for Base64.
+     * 
+     * ANDROID:  COPIED FROM A NEWER VERSION OF MIME4J
+     * 
+     * @param body the string to decode.
+     * @return the decoded string.
+     */
+    public static String decodeEncodedWords(String body) {
+        
+        // ANDROID:  Most strings will not include "=?" so a quick test can prevent unneeded
+        // object creation.  This could also be handled via lazy creation of the StringBuilder.
+        if (body.indexOf("=?") == -1) {
+            return body;
+        }
+
+        int previousEnd = 0;
+        boolean previousWasEncoded = false;
+
+        StringBuilder sb = new StringBuilder();
+
+        while (true) {
+            int begin = body.indexOf("=?", previousEnd);
+
+            // ANDROID:  The mime4j original version has an error here.  It gets confused if
+            // the encoded string begins with an '=' (just after "?Q?").  This patch seeks forward
+            // to find the two '?' in the "header", before looking for the final "?=".
+            if (begin == -1) {
+                break;
+            }
+            int qm1 = body.indexOf('?', begin + 2);
+            if (qm1 == -1) {
+                break;
+            }
+            int qm2 = body.indexOf('?', qm1 + 1);
+            if (qm2 == -1) {
+                break;
+            }
+            int end = body.indexOf("?=", qm2 + 1);
+            if (end == -1) {
+                break;
+            }
+            end += 2;
+
+            String sep = body.substring(previousEnd, begin);
+
+            String decoded = decodeEncodedWord(body, begin, end);
+            if (decoded == null) {
+                sb.append(sep);
+                sb.append(body.substring(begin, end));
+            } else {
+                if (!previousWasEncoded || !CharsetUtil.isWhitespace(sep)) {
+                    sb.append(sep);
+                }
+                sb.append(decoded);
+            }
+
+            previousEnd = end;
+            previousWasEncoded = decoded != null;
+        }
+
+        if (previousEnd == 0)
+            return body;
+
+        sb.append(body.substring(previousEnd));
+        return sb.toString();
+    }
+
+    // return null on error. Begin is index of '=?' in body.
+    public static String decodeEncodedWord(String body, int begin, int end) {
+        // Skip the '?=' chars in body and scan forward from there for next '?'
+        int qm1 = body.indexOf('?', begin + 2);
+        if (qm1 == -1 || qm1 == end - 2)
+            return null;
+
+        int qm2 = body.indexOf('?', qm1 + 1);
+        if (qm2 == -1 || qm2 == end - 2)
+            return null;
+
+        String mimeCharset = body.substring(begin + 2, qm1);
+        String encoding = body.substring(qm1 + 1, qm2);
+        String encodedText = body.substring(qm2 + 1, end - 2);
+
+        String charset = CharsetUtil.toJavaCharset(mimeCharset);
+        if (charset == null) {
+            if (log.isWarnEnabled()) {
+                log.warn("MIME charset '" + mimeCharset + "' in encoded word '"
+                        + body.substring(begin, end) + "' doesn't have a "
+                        + "corresponding Java charset");
+            }
+            return null;
+        } else if (!CharsetUtil.isDecodingSupported(charset)) {
+            if (log.isWarnEnabled()) {
+                log.warn("Current JDK doesn't support decoding of charset '"
+                        + charset + "' (MIME charset '" + mimeCharset
+                        + "' in encoded word '" + body.substring(begin, end)
+                        + "')");
+            }
+            return null;
+        }
+
+        if (encodedText.length() == 0) {
+            if (log.isWarnEnabled()) {
+                log.warn("Missing encoded text in encoded word: '"
+                        + body.substring(begin, end) + "'");
+            }
+            return null;
+        }
+
+        try {
+            if (encoding.equalsIgnoreCase("Q")) {
+                return DecoderUtil.decodeQ(encodedText, charset);
+            } else if (encoding.equalsIgnoreCase("B")) {
+                return DecoderUtil.decodeB(encodedText, charset);
+            } else {
+                if (log.isWarnEnabled()) {
+                    log.warn("Warning: Unknown encoding in encoded word '"
+                            + body.substring(begin, end) + "'");
+                }
+                return null;
+            }
+        } catch (UnsupportedEncodingException e) {
+            // should not happen because of isDecodingSupported check above
+            if (log.isWarnEnabled()) {
+                log.warn("Unsupported encoding in encoded word '"
+                        + body.substring(begin, end) + "'", e);
+            }
+            return null;
+        } catch (RuntimeException e) {
+            if (log.isWarnEnabled()) {
+                log.warn("Could not decode encoded word '"
+                        + body.substring(begin, end) + "'", e);
+            }
+            return null;
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/decoder/QuotedPrintableInputStream.java b/src/org/apache/james/mime4j/decoder/QuotedPrintableInputStream.java
new file mode 100644
index 0000000..e43f398
--- /dev/null
+++ b/src/org/apache/james/mime4j/decoder/QuotedPrintableInputStream.java
@@ -0,0 +1,229 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.decoder;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+
+/**
+ * Performs Quoted-Printable decoding on an underlying stream.
+ * 
+ * 
+ * 
+ * @version $Id: QuotedPrintableInputStream.java,v 1.3 2004/11/29 13:15:47 ntherning Exp $
+ */
+public class QuotedPrintableInputStream extends InputStream {
+    private static Log log = LogFactory.getLog(QuotedPrintableInputStream.class);
+    
+    private InputStream stream;
+    ByteQueue byteq = new ByteQueue();
+    ByteQueue pushbackq = new ByteQueue();
+    private byte state = 0;
+
+    public QuotedPrintableInputStream(InputStream stream) {
+        this.stream = stream;
+    }
+    
+    /**
+     * Closes the underlying stream.
+     * 
+     * @throws IOException on I/O errors.
+     */
+    public void close() throws IOException {
+        stream.close();
+    }
+
+    public int read() throws IOException {
+        fillBuffer();
+        if (byteq.count() == 0)
+            return -1;
+        else {
+            byte val = byteq.dequeue();
+            if (val >= 0)
+                return val;
+            else
+                return val & 0xFF;
+        }
+    }
+
+    /**
+     * Pulls bytes out of the underlying stream and places them in the
+     * pushback queue.  This is necessary (vs. reading from the
+     * underlying stream directly) to detect and filter out "transport
+     * padding" whitespace, i.e., all whitespace that appears immediately
+     * before a CRLF.
+     *
+     * @throws IOException Underlying stream threw IOException.
+     */
+    private void populatePushbackQueue() throws IOException {
+        //Debug.verify(pushbackq.count() == 0, "PopulatePushbackQueue called when pushback queue was not empty!");
+
+        if (pushbackq.count() != 0)
+            return;
+
+        while (true) {
+            int i = stream.read();
+            switch (i) {
+                case -1:
+                    // stream is done
+                    pushbackq.clear();  // discard any whitespace preceding EOF
+                    return;
+                case ' ':
+                case '\t':
+                    pushbackq.enqueue((byte)i);
+                    break;
+                case '\r':
+                case '\n':
+                    pushbackq.clear();  // discard any whitespace preceding EOL
+                    pushbackq.enqueue((byte)i);
+                    return;
+                default:
+                    pushbackq.enqueue((byte)i);
+                    return;
+            }
+        }
+    }
+
+    /**
+     * Causes the pushback queue to get populated if it is empty, then
+     * consumes and decodes bytes out of it until one or more bytes are
+     * in the byte queue.  This decoding step performs the actual QP
+     * decoding.
+     *
+     * @throws IOException Underlying stream threw IOException.
+     */
+    private void fillBuffer() throws IOException {
+        byte msdChar = 0;  // first digit of escaped num
+        while (byteq.count() == 0) {
+            if (pushbackq.count() == 0) {
+                populatePushbackQueue();
+                if (pushbackq.count() == 0)
+                    return;
+            }
+
+            byte b = (byte)pushbackq.dequeue();
+
+            switch (state) {
+                case 0:  // start state, no bytes pending
+                    if (b != '=') {
+                        byteq.enqueue(b);
+                        break;  // state remains 0
+                    } else {
+                        state = 1;
+                        break;
+                    }
+                case 1:  // encountered "=" so far
+                    if (b == '\r') {
+                        state = 2;
+                        break;
+                    } else if ((b >= '0' && b <= '9') || (b >= 'A' && b <= 'F') || (b >= 'a' && b <= 'f')) {
+                        state = 3;
+                        msdChar = b;  // save until next digit encountered
+                        break;
+                    } else if (b == '=') {
+                        /*
+                         * Special case when == is encountered.
+                         * Emit one = and stay in this state.
+                         */
+                        if (log.isWarnEnabled()) {
+                            log.warn("Malformed MIME; got ==");
+                        }
+                        byteq.enqueue((byte)'=');
+                        break;
+                    } else {
+                        if (log.isWarnEnabled()) {
+                            log.warn("Malformed MIME; expected \\r or "
+                                    + "[0-9A-Z], got " + b);
+                        }
+                        state = 0;
+                        byteq.enqueue((byte)'=');
+                        byteq.enqueue(b);
+                        break;
+                    }
+                case 2:  // encountered "=\r" so far
+                    if (b == '\n') {
+                        state = 0;
+                        break;
+                    } else {
+                        if (log.isWarnEnabled()) {
+                            log.warn("Malformed MIME; expected " 
+                                    + (int)'\n' + ", got " + b);
+                        }
+                        state = 0;
+                        byteq.enqueue((byte)'=');
+                        byteq.enqueue((byte)'\r');
+                        byteq.enqueue(b);
+                        break;
+                    }
+                case 3:  // encountered =<digit> so far; expecting another <digit> to complete the octet
+                    if ((b >= '0' && b <= '9') || (b >= 'A' && b <= 'F') || (b >= 'a' && b <= 'f')) {
+                        byte msd = asciiCharToNumericValue(msdChar);
+                        byte low = asciiCharToNumericValue(b);
+                        state = 0;
+                        byteq.enqueue((byte)((msd << 4) | low));
+                        break;
+                    } else {
+                        if (log.isWarnEnabled()) {
+                            log.warn("Malformed MIME; expected "
+                                     + "[0-9A-Z], got " + b);
+                        }
+                        state = 0;
+                        byteq.enqueue((byte)'=');
+                        byteq.enqueue(msdChar);
+                        byteq.enqueue(b);
+                        break;
+                    }
+                default:  // should never happen
+                    log.error("Illegal state: " + state);
+                    state = 0;
+                    byteq.enqueue(b);
+                    break;
+            }
+        }
+    }
+
+    /**
+     * Converts '0' => 0, 'A' => 10, etc.
+     * @param c ASCII character value.
+     * @return Numeric value of hexadecimal character.
+     */
+    private byte asciiCharToNumericValue(byte c) {
+        if (c >= '0' && c <= '9') {
+            return (byte)(c - '0');
+        } else if (c >= 'A' && c <= 'Z') {
+            return (byte)(0xA + (c - 'A'));
+        } else if (c >= 'a' && c <= 'z') {
+            return (byte)(0xA + (c - 'a'));
+        } else {
+            /*
+             * This should never happen since all calls to this method
+             * are preceded by a check that c is in [0-9A-Za-z]
+             */
+            throw new IllegalArgumentException((char) c 
+                    + " is not a hexadecimal digit");
+        }
+    }
+
+}
diff --git a/src/org/apache/james/mime4j/decoder/UnboundedFifoByteBuffer.java b/src/org/apache/james/mime4j/decoder/UnboundedFifoByteBuffer.java
new file mode 100644
index 0000000..f01194f
--- /dev/null
+++ b/src/org/apache/james/mime4j/decoder/UnboundedFifoByteBuffer.java
@@ -0,0 +1,272 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.decoder;
+
+import java.util.Iterator;
+import java.util.NoSuchElementException;
+
+/**
+ * UnboundedFifoByteBuffer is a very efficient buffer implementation.
+ * According to performance testing, it exhibits a constant access time, but it
+ * also outperforms ArrayList when used for the same purpose.
+ * <p>
+ * The removal order of an <code>UnboundedFifoByteBuffer</code> is based on the insertion
+ * order; elements are removed in the same order in which they were added.
+ * The iteration order is the same as the removal order.
+ * <p>
+ * The {@link #remove()} and {@link #get()} operations perform in constant time.
+ * The {@link #add(Object)} operation performs in amortized constant time.  All
+ * other operations perform in linear time or worse.
+ * <p>
+ * Note that this implementation is not synchronized.  The following can be
+ * used to provide synchronized access to your <code>UnboundedFifoByteBuffer</code>:
+ * <pre>
+ *   Buffer fifo = BufferUtils.synchronizedBuffer(new UnboundedFifoByteBuffer());
+ * </pre>
+ * <p>
+ * This buffer prevents null objects from being added.
+ *
+ * @since Commons Collections 3.0 (previously in main package v2.1)
+ * @version $Revision: 1.1 $ $Date: 2004/08/24 06:52:02 $
+ *
+ * 
+ * 
+ * 
+ * 
+ * 
+ */
+class UnboundedFifoByteBuffer {
+
+    protected byte[] buffer;
+    protected int head;
+    protected int tail;
+
+    /**
+     * Constructs an UnboundedFifoByteBuffer with the default number of elements.
+     * It is exactly the same as performing the following:
+     *
+     * <pre>
+     *   new UnboundedFifoByteBuffer(32);
+     * </pre>
+     */
+    public UnboundedFifoByteBuffer() {
+        this(32);
+    }
+
+    /**
+     * Constructs an UnboundedFifoByteBuffer with the specified number of elements.
+     * The integer must be a positive integer.
+     *
+     * @param initialSize  the initial size of the buffer
+     * @throws IllegalArgumentException  if the size is less than 1
+     */
+    public UnboundedFifoByteBuffer(int initialSize) {
+        if (initialSize <= 0) {
+            throw new IllegalArgumentException("The size must be greater than 0");
+        }
+        buffer = new byte[initialSize + 1];
+        head = 0;
+        tail = 0;
+    }
+
+    /**
+     * Returns the number of elements stored in the buffer.
+     *
+     * @return this buffer's size
+     */
+    public int size() {
+        int size = 0;
+
+        if (tail < head) {
+            size = buffer.length - head + tail;
+        } else {
+            size = tail - head;
+        }
+
+        return size;
+    }
+
+    /**
+     * Returns true if this buffer is empty; false otherwise.
+     *
+     * @return true if this buffer is empty
+     */
+    public boolean isEmpty() {
+        return (size() == 0);
+    }
+
+    /**
+     * Adds the given element to this buffer.
+     *
+     * @param b  the byte to add
+     * @return true, always
+     */
+    public boolean add(final byte b) {
+
+        if (size() + 1 >= buffer.length) {
+            byte[] tmp = new byte[((buffer.length - 1) * 2) + 1];
+
+            int j = 0;
+            for (int i = head; i != tail;) {
+                tmp[j] = buffer[i];
+                buffer[i] = 0;
+
+                j++;
+                i++;
+                if (i == buffer.length) {
+                    i = 0;
+                }
+            }
+
+            buffer = tmp;
+            head = 0;
+            tail = j;
+        }
+
+        buffer[tail] = b;
+        tail++;
+        if (tail >= buffer.length) {
+            tail = 0;
+        }
+        return true;
+    }
+
+    /**
+     * Returns the next object in the buffer.
+     *
+     * @return the next object in the buffer
+     * @throws BufferUnderflowException  if this buffer is empty
+     */
+    public byte get() {
+        if (isEmpty()) {
+            throw new IllegalStateException("The buffer is already empty");
+        }
+
+        return buffer[head];
+    }
+
+    /**
+     * Removes the next object from the buffer
+     *
+     * @return the removed object
+     * @throws BufferUnderflowException  if this buffer is empty
+     */
+    public byte remove() {
+        if (isEmpty()) {
+            throw new IllegalStateException("The buffer is already empty");
+        }
+
+        byte element = buffer[head];
+
+        head++;
+        if (head >= buffer.length) {
+            head = 0;
+        }
+
+        return element;
+    }
+
+    /**
+     * Increments the internal index.
+     *
+     * @param index  the index to increment
+     * @return the updated index
+     */
+    private int increment(int index) {
+        index++;
+        if (index >= buffer.length) {
+            index = 0;
+        }
+        return index;
+    }
+
+    /**
+     * Decrements the internal index.
+     *
+     * @param index  the index to decrement
+     * @return the updated index
+     */
+    private int decrement(int index) {
+        index--;
+        if (index < 0) {
+            index = buffer.length - 1;
+        }
+        return index;
+    }
+
+    /**
+     * Returns an iterator over this buffer's elements.
+     *
+     * @return an iterator over this buffer's elements
+     */
+    public Iterator iterator() {
+        return new Iterator() {
+
+            private int index = head;
+            private int lastReturnedIndex = -1;
+
+            public boolean hasNext() {
+                return index != tail;
+
+            }
+
+            public Object next() {
+                if (!hasNext()) {
+                    throw new NoSuchElementException();
+                }
+                lastReturnedIndex = index;
+                index = increment(index);
+                return new Byte(buffer[lastReturnedIndex]);
+            }
+
+            public void remove() {
+                if (lastReturnedIndex == -1) {
+                    throw new IllegalStateException();
+                }
+
+                // First element can be removed quickly
+                if (lastReturnedIndex == head) {
+                    UnboundedFifoByteBuffer.this.remove();
+                    lastReturnedIndex = -1;
+                    return;
+                }
+
+                // Other elements require us to shift the subsequent elements
+                int i = lastReturnedIndex + 1;
+                while (i != tail) {
+                    if (i >= buffer.length) {
+                        buffer[i - 1] = buffer[0];
+                        i = 0;
+                    } else {
+                        buffer[i - 1] = buffer[i];
+                        i++;
+                    }
+                }
+
+                lastReturnedIndex = -1;
+                tail = decrement(tail);
+                buffer[tail] = 0;
+                index = decrement(index);
+            }
+
+        };
+    }
+
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/field/AddressListField.java b/src/org/apache/james/mime4j/field/AddressListField.java
new file mode 100644
index 0000000..df9f398
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/AddressListField.java
@@ -0,0 +1,65 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+import org.apache.james.mime4j.field.address.AddressList;
+import org.apache.james.mime4j.field.address.parser.ParseException;
+
+public class AddressListField extends Field {
+    private AddressList addressList;
+    private ParseException parseException;
+
+    protected AddressListField(String name, String body, String raw, AddressList addressList, ParseException parseException) {
+        super(name, body, raw);
+        this.addressList = addressList;
+        this.parseException = parseException;
+    }
+
+    public AddressList getAddressList() {
+        return addressList;
+    }
+
+    public ParseException getParseException() {
+        return parseException;
+    }
+
+    public static class Parser implements FieldParser {
+        private static Log log = LogFactory.getLog(Parser.class);
+
+        public Field parse(final String name, final String body, final String raw) {
+            AddressList addressList = null;
+            ParseException parseException = null;
+            try {
+                addressList = AddressList.parse(body);
+            }
+            catch (ParseException e) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Parsing value '" + body + "': "+ e.getMessage());
+                }
+                parseException = e;
+            }
+            return new AddressListField(name, body, raw, addressList, parseException);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/ContentTransferEncodingField.java b/src/org/apache/james/mime4j/field/ContentTransferEncodingField.java
new file mode 100644
index 0000000..73d8d23
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/ContentTransferEncodingField.java
@@ -0,0 +1,88 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+
+
+/**
+ * Represents a <code>Content-Transfer-Encoding</code> field.
+ *
+ * 
+ * @version $Id: ContentTransferEncodingField.java,v 1.2 2004/10/02 12:41:11 ntherning Exp $
+ */
+public class ContentTransferEncodingField extends Field {
+    /**
+     * The <code>7bit</code> encoding.
+     */
+    public static final String ENC_7BIT = "7bit";
+    /**
+     * The <code>8bit</code> encoding.
+     */
+    public static final String ENC_8BIT = "8bit";
+    /**
+     * The <code>binary</code> encoding.
+     */
+    public static final String ENC_BINARY = "binary";
+    /**
+     * The <code>quoted-printable</code> encoding.
+     */
+    public static final String ENC_QUOTED_PRINTABLE = "quoted-printable";
+    /**
+     * The <code>base64</code> encoding.
+     */
+    public static final String ENC_BASE64 = "base64";
+    
+    private String encoding;
+    
+    protected ContentTransferEncodingField(String name, String body, String raw, String encoding) {
+        super(name, body, raw);
+        this.encoding = encoding;
+    }
+
+    /**
+     * Gets the encoding defined in this field.
+     * 
+     * @return the encoding or an empty string if not set.
+     */
+    public String getEncoding() {
+        return encoding;
+    }
+    
+    /**
+     * Gets the encoding of the given field if. Returns the default 
+     * <code>7bit</code> if not set or if
+     * <code>f</code> is <code>null</code>.
+     * 
+     * @return the encoding.
+     */
+    public static String getEncoding(ContentTransferEncodingField f) {
+        if (f != null && f.getEncoding().length() != 0) {
+            return f.getEncoding();
+        }
+        return ENC_7BIT;
+    }
+    
+    public static class Parser implements FieldParser {
+        public Field parse(final String name, final String body, final String raw) {
+            final String encoding = body.trim().toLowerCase();
+            return new ContentTransferEncodingField(name, body, raw, encoding);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/ContentTypeField.java b/src/org/apache/james/mime4j/field/ContentTypeField.java
new file mode 100644
index 0000000..ad9f7f9
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/ContentTypeField.java
@@ -0,0 +1,259 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+import org.apache.james.mime4j.field.contenttype.parser.ContentTypeParser;
+import org.apache.james.mime4j.field.contenttype.parser.ParseException;
+import org.apache.james.mime4j.field.contenttype.parser.TokenMgrError;
+
+/**
+ * Represents a <code>Content-Type</code> field.
+ *
+ * <p>TODO: Remove dependency on Java 1.4 regexps</p>
+ *
+ *
+ * @version $Id: ContentTypeField.java,v 1.6 2005/01/27 14:16:31 ntherning Exp $
+ */
+public class ContentTypeField extends Field {
+
+    /**
+     * The prefix of all <code>multipart</code> MIME types.
+     */
+    public static final String TYPE_MULTIPART_PREFIX = "multipart/";
+    /**
+     * The <code>multipart/digest</code> MIME type.
+     */
+    public static final String TYPE_MULTIPART_DIGEST = "multipart/digest";
+    /**
+     * The <code>text/plain</code> MIME type.
+     */
+    public static final String TYPE_TEXT_PLAIN = "text/plain";
+    /**
+     * The <code>message/rfc822</code> MIME type.
+     */
+    public static final String TYPE_MESSAGE_RFC822 = "message/rfc822";
+    /**
+     * The name of the <code>boundary</code> parameter.
+     */
+    public static final String PARAM_BOUNDARY = "boundary";
+    /**
+     * The name of the <code>charset</code> parameter.
+     */
+    public static final String PARAM_CHARSET = "charset";
+
+    private String mimeType = "";
+    private Map<String, String> parameters = null;
+    private ParseException parseException;
+
+    protected ContentTypeField(String name, String body, String raw, String mimeType, Map<String, String> parameters, ParseException parseException) {
+        super(name, body, raw);
+        this.mimeType = mimeType;
+        this.parameters = parameters;
+        this.parseException = parseException;
+    }
+
+    /**
+     * Gets the exception that was raised during parsing of
+     * the field value, if any; otherwise, null.
+     */
+    public ParseException getParseException() {
+        return parseException;
+    }
+
+    /**
+     * Gets the MIME type defined in this Content-Type field.
+     *
+     * @return the MIME type or an empty string if not set.
+     */
+    public String getMimeType() {
+        return mimeType;
+    }
+
+    /**
+     * Gets the MIME type defined in the child's
+     * Content-Type field or derives a MIME type from the parent
+     * if child is <code>null</code> or hasn't got a MIME type value set.
+     * If child's MIME type is multipart but no boundary
+     * has been set the MIME type of child will be derived from
+     * the parent.
+     *
+     * @param child the child.
+     * @param parent the parent.
+     * @return the MIME type.
+     */
+    public static String getMimeType(ContentTypeField child,
+                                     ContentTypeField parent) {
+
+        if (child == null || child.getMimeType().length() == 0
+                || child.isMultipart() && child.getBoundary() == null) {
+
+            if (parent != null && parent.isMimeType(TYPE_MULTIPART_DIGEST)) {
+                return TYPE_MESSAGE_RFC822;
+            } else {
+                return TYPE_TEXT_PLAIN;
+            }
+        }
+
+        return child.getMimeType();
+    }
+
+    /**
+     * Gets the value of a parameter. Parameter names are case-insensitive.
+     *
+     * @param name the name of the parameter to get.
+     * @return the parameter value or <code>null</code> if not set.
+     */
+    public String getParameter(String name) {
+        return parameters != null
+                    ? parameters.get(name.toLowerCase())
+                    : null;
+    }
+
+    /**
+     * Gets all parameters.
+     *
+     * @return the parameters.
+     */
+    public Map<String, String> getParameters() {
+        if (parameters != null) {
+            return Collections.unmodifiableMap(parameters);
+        }
+        return Collections.emptyMap();
+    }
+
+    /**
+     * Gets the value of the <code>boundary</code> parameter if set.
+     *
+     * @return the <code>boundary</code> parameter value or <code>null</code>
+     *             if not set.
+     */
+    public String getBoundary() {
+        return getParameter(PARAM_BOUNDARY);
+    }
+
+    /**
+     * Gets the value of the <code>charset</code> parameter if set.
+     *
+     * @return the <code>charset</code> parameter value or <code>null</code>
+     *         if not set.
+     */
+    public String getCharset() {
+        return getParameter(PARAM_CHARSET);
+    }
+
+    /**
+     * Gets the value of the <code>charset</code> parameter if set for the
+     * given field. Returns the default <code>us-ascii</code> if not set or if
+     * <code>f</code> is <code>null</code>.
+     *
+     * @return the <code>charset</code> parameter value.
+     */
+    public static String getCharset(ContentTypeField f) {
+        if (f != null) {
+            if (f.getCharset() != null && f.getCharset().length() > 0) {
+                return f.getCharset();
+            }
+        }
+        return "us-ascii";
+    }
+
+    /**
+     * Determines if the MIME type of this field matches the given one.
+     *
+     * @param mimeType the MIME type to match against.
+     * @return <code>true</code> if the MIME type of this field matches,
+     *         <code>false</code> otherwise.
+     */
+    public boolean isMimeType(String mimeType) {
+        return this.mimeType.equalsIgnoreCase(mimeType);
+    }
+
+    /**
+     * Determines if the MIME type of this field is <code>multipart/*</code>.
+     *
+     * @return <code>true</code> if this field is has a <code>multipart/*</code>
+     *         MIME type, <code>false</code> otherwise.
+     */
+    public boolean isMultipart() {
+        return mimeType.startsWith(TYPE_MULTIPART_PREFIX);
+    }
+
+    public static class Parser implements FieldParser {
+        private static Log log = LogFactory.getLog(Parser.class);
+
+        public Field parse(final String name, final String body, final String raw) {
+            ParseException parseException = null;
+            String mimeType = "";
+            Map<String, String> parameters = null;
+
+            ContentTypeParser parser = new ContentTypeParser(new StringReader(body));
+            try {
+                parser.parseAll();
+            }
+            catch (ParseException e) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Parsing value '" + body + "': "+ e.getMessage());
+                }
+                parseException = e;
+            }
+            catch (TokenMgrError e) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Parsing value '" + body + "': "+ e.getMessage());
+                }
+                parseException = new ParseException(e.getMessage());
+            }
+
+            try {
+                final String type = parser.getType();
+                final String subType = parser.getSubType();
+
+                if (type != null && subType != null) {
+                    mimeType = (type + "/" + parser.getSubType()).toLowerCase();
+
+                    ArrayList<String> paramNames = parser.getParamNames();
+                    ArrayList<String> paramValues = parser.getParamValues();
+
+                    if (paramNames != null && paramValues != null) {
+                        for (int i = 0; i < paramNames.size() && i < paramValues.size(); i++) {
+                            if (parameters == null)
+                                parameters = new HashMap<String, String>((int)(paramNames.size() * 1.3 + 1));
+                            String paramName = paramNames.get(i).toLowerCase();
+                            String paramValue = paramValues.get(i);
+                            parameters.put(paramName, paramValue);
+                        }
+                    }
+                }
+            }
+            catch (NullPointerException npe) {
+            }
+            return new ContentTypeField(name, body, raw, mimeType, parameters, parseException);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/DateTimeField.java b/src/org/apache/james/mime4j/field/DateTimeField.java
new file mode 100644
index 0000000..5215534
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/DateTimeField.java
@@ -0,0 +1,73 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+//BEGIN android-changed: Stubbing out logging
+
+import com.android.phone.common.mail.utils.LogUtils;
+
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END
+import org.apache.james.mime4j.field.datetime.DateTime;
+import org.apache.james.mime4j.field.datetime.parser.ParseException;
+
+import java.util.Date;
+
+public class DateTimeField extends Field {
+    private Date date;
+    private ParseException parseException;
+
+    protected DateTimeField(String name, String body, String raw, Date date, ParseException parseException) {
+        super(name, body, raw);
+        this.date = date;
+        this.parseException = parseException;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public ParseException getParseException() {
+        return parseException;
+    }
+
+    public static class Parser implements FieldParser {
+        private static Log log = LogFactory.getLog(Parser.class);
+
+        public Field parse(final String name, String body, final String raw) {
+            Date date = null;
+            ParseException parseException = null;
+            //BEGIN android-changed
+            body = LogUtils.cleanUpMimeDate(body);
+            //END android-changed
+            try {
+                date = DateTime.parse(body).getDate();
+            }
+            catch (ParseException e) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Parsing value '" + body + "': "+ e.getMessage());
+                }
+                parseException = e;
+            }
+            return new DateTimeField(name, body, raw, date, parseException);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/DefaultFieldParser.java b/src/org/apache/james/mime4j/field/DefaultFieldParser.java
new file mode 100644
index 0000000..3695afe
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/DefaultFieldParser.java
@@ -0,0 +1,45 @@
+/*
+ *  Copyright 2006 the mime4j 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 org.apache.james.mime4j.field;
+
+public class DefaultFieldParser extends DelegatingFieldParser {
+    
+    public DefaultFieldParser() {
+        setFieldParser(Field.CONTENT_TRANSFER_ENCODING, new ContentTransferEncodingField.Parser());
+        setFieldParser(Field.CONTENT_TYPE, new ContentTypeField.Parser());
+        
+        final DateTimeField.Parser dateTimeParser = new DateTimeField.Parser();
+        setFieldParser(Field.DATE, dateTimeParser);
+        setFieldParser(Field.RESENT_DATE, dateTimeParser);
+        
+        final MailboxListField.Parser mailboxListParser = new MailboxListField.Parser();
+        setFieldParser(Field.FROM, mailboxListParser);
+        setFieldParser(Field.RESENT_FROM, mailboxListParser);
+        
+        final MailboxField.Parser mailboxParser = new MailboxField.Parser();
+        setFieldParser(Field.SENDER, mailboxParser);
+        setFieldParser(Field.RESENT_SENDER, mailboxParser);
+        
+        final AddressListField.Parser addressListParser = new AddressListField.Parser();
+        setFieldParser(Field.TO, addressListParser);
+        setFieldParser(Field.RESENT_TO, addressListParser);
+        setFieldParser(Field.CC, addressListParser);
+        setFieldParser(Field.RESENT_CC, addressListParser);
+        setFieldParser(Field.BCC, addressListParser);
+        setFieldParser(Field.RESENT_BCC, addressListParser);
+        setFieldParser(Field.REPLY_TO, addressListParser);
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/DelegatingFieldParser.java b/src/org/apache/james/mime4j/field/DelegatingFieldParser.java
new file mode 100644
index 0000000..32b69ec
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/DelegatingFieldParser.java
@@ -0,0 +1,47 @@
+/*
+ *  Copyright 2006 the mime4j 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 org.apache.james.mime4j.field;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class DelegatingFieldParser implements FieldParser {
+
+    private Map<String, FieldParser> parsers = new HashMap<String, FieldParser>();
+    private FieldParser defaultParser = new UnstructuredField.Parser();
+
+    /**
+     * Sets the parser used for the field named <code>name</code>.
+     * @param name the name of the field
+     * @param parser the parser for fields named <code>name</code>
+     */
+    public void setFieldParser(final String name, final FieldParser parser) {
+        parsers.put(name.toLowerCase(), parser);
+    }
+
+    public FieldParser getParser(final String name) {
+        final FieldParser field = parsers.get(name.toLowerCase());
+        if(field==null) {
+            return defaultParser;
+        }
+        return field;
+    }
+
+    public Field parse(final String name, final String body, final String raw) {
+        final FieldParser parser = getParser(name);
+        return parser.parse(name, body, raw);
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/Field.java b/src/org/apache/james/mime4j/field/Field.java
new file mode 100644
index 0000000..4dea5c5
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/Field.java
@@ -0,0 +1,192 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * The base class of all field classes.
+ *
+ * 
+ * @version $Id: Field.java,v 1.6 2004/10/25 07:26:46 ntherning Exp $
+ */
+public abstract class Field {
+    public static final String SENDER = "Sender";
+    public static final String FROM = "From";
+    public static final String TO = "To";
+    public static final String CC = "Cc";
+    public static final String BCC = "Bcc";
+    public static final String REPLY_TO = "Reply-To";
+    public static final String RESENT_SENDER = "Resent-Sender";
+    public static final String RESENT_FROM = "Resent-From";
+    public static final String RESENT_TO = "Resent-To";
+    public static final String RESENT_CC = "Resent-Cc";
+    public static final String RESENT_BCC = "Resent-Bcc";
+
+    public static final String DATE = "Date";
+    public static final String RESENT_DATE = "Resent-Date";
+
+    public static final String SUBJECT = "Subject";
+    public static final String CONTENT_TYPE = "Content-Type";
+    public static final String CONTENT_TRANSFER_ENCODING = 
+                                        "Content-Transfer-Encoding";
+    
+    private static final String FIELD_NAME_PATTERN = 
+        "^([\\x21-\\x39\\x3b-\\x7e]+)[ \t]*:";
+    private static final Pattern fieldNamePattern = 
+        Pattern.compile(FIELD_NAME_PATTERN);
+        
+    private static final DefaultFieldParser parser = new DefaultFieldParser();
+    
+    private final String name;
+    private final String body;
+    private final String raw;
+    
+    protected Field(final String name, final String body, final String raw) {
+        this.name = name;
+        this.body = body;
+        this.raw = raw;
+    }
+    
+    /**
+     * Parses the given string and returns an instance of the 
+     * <code>Field</code> class. The type of the class returned depends on
+     * the field name:
+     * <table>
+     *      <tr>
+     *          <td><em>Field name</em></td><td><em>Class returned</em></td>
+     *          <td>Content-Type</td><td>org.apache.james.mime4j.field.ContentTypeField</td>
+     *          <td>other</td><td>org.apache.james.mime4j.field.UnstructuredField</td>
+     *      </tr>
+     * </table>
+     * 
+     * @param s the string to parse.
+     * @return a <code>Field</code> instance.
+     * @throws IllegalArgumentException on parse errors.
+     */
+    public static Field parse(final String raw) {
+        
+        /*
+         * Unfold the field.
+         */
+        final String unfolded = raw.replaceAll("\r|\n", "");
+        
+        /*
+         * Split into name and value.
+         */
+        final Matcher fieldMatcher = fieldNamePattern.matcher(unfolded);
+        if (!fieldMatcher.find()) {
+            throw new IllegalArgumentException("Invalid field in string");
+        }
+        final String name = fieldMatcher.group(1);
+        
+        String body = unfolded.substring(fieldMatcher.end());
+        if (body.length() > 0 && body.charAt(0) == ' ') {
+            body = body.substring(1);
+        }
+        
+        return parser.parse(name, body, raw);
+    }
+    
+    /**
+     * Gets the default parser used to parse fields.
+     * @return the default field parser
+     */
+    public static DefaultFieldParser getParser() {
+        return parser;
+    }
+    
+    /**
+     * Gets the name of the field (<code>Subject</code>, 
+     * <code>From</code>, etc).
+     * 
+     * @return the field name.
+     */
+    public String getName() {
+        return name;
+    }
+    
+    /**
+     * Gets the original raw field string.
+     * 
+     * @return the original raw field string.
+     */
+    public String getRaw() {
+        return raw;
+    }
+    
+    /**
+     * Gets the unfolded, unparsed and possibly encoded (see RFC 2047) field 
+     * body string.
+     * 
+     * @return the unfolded unparsed field body string.
+     */
+    public String getBody() {
+        return body;
+    }
+    
+    /**
+     * Determines if this is a <code>Content-Type</code> field.
+     * 
+     * @return <code>true</code> if this is a <code>Content-Type</code> field,
+     *         <code>false</code> otherwise.
+     */
+    public boolean isContentType() {
+        return CONTENT_TYPE.equalsIgnoreCase(name);
+    }
+    
+    /**
+     * Determines if this is a <code>Subject</code> field.
+     * 
+     * @return <code>true</code> if this is a <code>Subject</code> field,
+     *         <code>false</code> otherwise.
+     */
+    public boolean isSubject() {
+        return SUBJECT.equalsIgnoreCase(name);
+    }
+    
+    /**
+     * Determines if this is a <code>From</code> field.
+     * 
+     * @return <code>true</code> if this is a <code>From</code> field,
+     *         <code>false</code> otherwise.
+     */
+    public boolean isFrom() {
+        return FROM.equalsIgnoreCase(name);
+    }
+    
+    /**
+     * Determines if this is a <code>To</code> field.
+     * 
+     * @return <code>true</code> if this is a <code>To</code> field,
+     *         <code>false</code> otherwise.
+     */
+    public boolean isTo() {
+        return TO.equalsIgnoreCase(name);
+    }
+    
+    /**
+     * @see #getRaw()
+     */
+    public String toString() {
+        return raw;
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/FieldParser.java b/src/org/apache/james/mime4j/field/FieldParser.java
new file mode 100644
index 0000000..78aaf13
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/FieldParser.java
@@ -0,0 +1,21 @@
+/*
+ *  Copyright 2006 the mime4j 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 org.apache.james.mime4j.field;
+
+public interface FieldParser {
+    
+    Field parse(final String name, final String body, final String raw);
+}
diff --git a/src/org/apache/james/mime4j/field/MailboxField.java b/src/org/apache/james/mime4j/field/MailboxField.java
new file mode 100644
index 0000000..f159800
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/MailboxField.java
@@ -0,0 +1,70 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+import org.apache.james.mime4j.field.address.AddressList;
+import org.apache.james.mime4j.field.address.Mailbox;
+import org.apache.james.mime4j.field.address.MailboxList;
+import org.apache.james.mime4j.field.address.parser.ParseException;
+
+public class MailboxField extends Field {
+    private final Mailbox mailbox;
+    private final ParseException parseException;
+
+    protected MailboxField(final String name, final String body, final String raw, final Mailbox mailbox, final ParseException parseException) {
+        super(name, body, raw);
+        this.mailbox = mailbox;
+        this.parseException = parseException;
+    }
+
+    public Mailbox getMailbox() {
+        return mailbox;
+    }
+
+    public ParseException getParseException() {
+        return parseException;
+    }
+    
+    public static class Parser implements FieldParser {
+        private static Log log = LogFactory.getLog(Parser.class);
+
+        public Field parse(final String name, final String body, final String raw) {
+            Mailbox mailbox = null;
+            ParseException parseException = null;
+            try {
+                MailboxList mailboxList = AddressList.parse(body).flatten();
+                if (mailboxList.size() > 0) {
+                    mailbox = mailboxList.get(0);
+                }
+            }
+            catch (ParseException e) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Parsing value '" + body + "': "+ e.getMessage());
+                }
+                parseException = e;
+            }
+            return new MailboxField(name, body, raw, mailbox, parseException);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/MailboxListField.java b/src/org/apache/james/mime4j/field/MailboxListField.java
new file mode 100644
index 0000000..23378d4
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/MailboxListField.java
@@ -0,0 +1,67 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+import org.apache.james.mime4j.field.address.AddressList;
+import org.apache.james.mime4j.field.address.MailboxList;
+import org.apache.james.mime4j.field.address.parser.ParseException;
+
+public class MailboxListField extends Field {
+    
+    private MailboxList mailboxList;
+    private ParseException parseException;
+
+    protected MailboxListField(final String name, final String body, final String raw, final MailboxList mailboxList, final ParseException parseException) {
+        super(name, body, raw);
+        this.mailboxList = mailboxList;
+        this.parseException = parseException;
+    }
+
+    public MailboxList getMailboxList() {
+        return mailboxList;
+    }
+
+    public ParseException getParseException() {
+        return parseException;
+    }
+    
+    public static class Parser implements FieldParser {
+        private static Log log = LogFactory.getLog(Parser.class);
+
+        public Field parse(final String name, final String body, final String raw) {
+            MailboxList mailboxList = null;
+            ParseException parseException = null;
+            try {
+                mailboxList = AddressList.parse(body).flatten();
+            }
+            catch (ParseException e) {
+                if (log.isDebugEnabled()) {
+                    log.debug("Parsing value '" + body + "': "+ e.getMessage());
+                }
+                parseException = e;
+            }
+            return new MailboxListField(name, body, raw, mailboxList, parseException);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/UnstructuredField.java b/src/org/apache/james/mime4j/field/UnstructuredField.java
new file mode 100644
index 0000000..6084e44
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/UnstructuredField.java
@@ -0,0 +1,49 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field;
+
+import org.apache.james.mime4j.decoder.DecoderUtil;
+
+
+/**
+ * Simple unstructured field such as <code>Subject</code>.
+ *
+ * 
+ * @version $Id: UnstructuredField.java,v 1.3 2004/10/25 07:26:46 ntherning Exp $
+ */
+public class UnstructuredField extends Field {
+    private String value;
+    
+    protected UnstructuredField(String name, String body, String raw, String value) {
+        super(name, body, raw);
+        this.value = value;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public static class Parser implements FieldParser {
+        public Field parse(final String name, final String body, final String raw) {
+            final String value = DecoderUtil.decodeEncodedWords(body);
+            return new UnstructuredField(name, body, raw, value);
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/address/Address.java b/src/org/apache/james/mime4j/field/address/Address.java
new file mode 100644
index 0000000..3e24e91
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/Address.java
@@ -0,0 +1,52 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import java.util.ArrayList;
+
+/**
+ * The abstract base for classes that represent RFC2822 addresses.
+ * This includes groups and mailboxes.
+ *
+ * Currently, no public methods are introduced on this class.
+ *
+ *
+ */
+public abstract class Address {
+
+	/**
+	 * Adds any mailboxes represented by this address
+	 * into the given ArrayList. Note that this method
+	 * has default (package) access, so a doAddMailboxesTo
+	 * method is needed to allow the behavior to be
+	 * overridden by subclasses.
+	 */
+	final void addMailboxesTo(ArrayList<Address> results) {
+		doAddMailboxesTo(results);
+	}
+
+	/**
+	 * Adds any mailboxes represented by this address
+	 * into the given ArrayList. Must be overridden by
+	 * concrete subclasses.
+	 */
+	protected abstract void doAddMailboxesTo(ArrayList<Address> results);
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/AddressList.java b/src/org/apache/james/mime4j/field/address/AddressList.java
new file mode 100644
index 0000000..1829e79
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/AddressList.java
@@ -0,0 +1,138 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import org.apache.james.mime4j.field.address.parser.AddressListParser;
+import org.apache.james.mime4j.field.address.parser.ParseException;
+
+import java.io.StringReader;
+import java.util.ArrayList;
+
+/**
+ * An immutable, random-access list of Address objects.
+ *
+ *
+ */
+public class AddressList {
+
+	private ArrayList<Address> addresses;
+
+	/**
+	 * @param addresses An ArrayList that contains only Address objects.
+	 * @param dontCopy true iff it is not possible for the addresses ArrayList to be modified by someone else.
+	 */
+	public AddressList(ArrayList<Address> addresses, boolean dontCopy) {
+		if (addresses != null)
+			this.addresses = (dontCopy ? addresses : new ArrayList<Address>(addresses));
+		else
+			this.addresses = new ArrayList<Address>(0);
+	}
+
+	/**
+	 * The number of elements in this list.
+	 */
+	public int size() {
+		return addresses.size();
+	}
+
+	/**
+	 * Gets an address.
+	 */
+	public Address get(int index) {
+		if (0 > index || size() <= index)
+			throw new IndexOutOfBoundsException();
+		return addresses.get(index);
+	}
+
+	/**
+	 * Returns a flat list of all mailboxes represented
+	 * in this address list. Use this if you don't care
+	 * about grouping.
+	 */
+	public MailboxList flatten() {
+		// in the common case, all addresses are mailboxes
+		boolean groupDetected = false;
+		for (int i = 0; i < size(); i++) {
+			if (!(get(i) instanceof Mailbox)) {
+				groupDetected = true;
+				break;
+			}
+		}
+
+		if (!groupDetected)
+			return new MailboxList(addresses, true);
+
+		ArrayList<Address> results = new ArrayList<Address>();
+		for (int i = 0; i < size(); i++) {
+			Address addr = get(i);
+			addr.addMailboxesTo(results);
+		}
+
+		// copy-on-construct this time, because subclasses
+		// could have held onto a reference to the results
+		return new MailboxList(results, false);
+	}
+
+	/**
+	 * Dumps a representation of this address list to
+	 * stdout, for debugging purposes.
+	 */
+	public void print() {
+		for (int i = 0; i < size(); i++) {
+			Address addr = get(i);
+			System.out.println(addr.toString());
+		}
+	}
+
+	/**
+	 * Parse the address list string, such as the value
+	 * of a From, To, Cc, Bcc, Sender, or Reply-To
+	 * header.
+	 *
+	 * The string MUST be unfolded already.
+	 */
+	public static AddressList parse(String rawAddressList) throws ParseException {
+		AddressListParser parser = new AddressListParser(new StringReader(rawAddressList));
+		return Builder.getInstance().buildAddressList(parser.parse());
+	}
+
+	/**
+	 * Test console.
+	 */
+	public static void main(String[] args) throws Exception {
+		java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));
+		while (true) {
+			try {
+				System.out.print("> ");
+				String line = reader.readLine();
+				if (line.length() == 0 || line.toLowerCase().equals("exit") || line.toLowerCase().equals("quit")) {
+					System.out.println("Goodbye.");
+					return;
+				}
+				AddressList list = parse(line);
+				list.print();
+			}
+			catch(Exception e) {
+				e.printStackTrace();
+				Thread.sleep(300);
+			}
+		}
+	}
+}
diff --git a/src/org/apache/james/mime4j/field/address/Builder.java b/src/org/apache/james/mime4j/field/address/Builder.java
new file mode 100644
index 0000000..3bcd15b
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/Builder.java
@@ -0,0 +1,243 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import org.apache.james.mime4j.decoder.DecoderUtil;
+import org.apache.james.mime4j.field.address.parser.ASTaddr_spec;
+import org.apache.james.mime4j.field.address.parser.ASTaddress;
+import org.apache.james.mime4j.field.address.parser.ASTaddress_list;
+import org.apache.james.mime4j.field.address.parser.ASTangle_addr;
+import org.apache.james.mime4j.field.address.parser.ASTdomain;
+import org.apache.james.mime4j.field.address.parser.ASTgroup_body;
+import org.apache.james.mime4j.field.address.parser.ASTlocal_part;
+import org.apache.james.mime4j.field.address.parser.ASTmailbox;
+import org.apache.james.mime4j.field.address.parser.ASTname_addr;
+import org.apache.james.mime4j.field.address.parser.ASTphrase;
+import org.apache.james.mime4j.field.address.parser.ASTroute;
+import org.apache.james.mime4j.field.address.parser.Node;
+import org.apache.james.mime4j.field.address.parser.SimpleNode;
+import org.apache.james.mime4j.field.address.parser.Token;
+
+/**
+ * Transforms the JJTree-generated abstract syntax tree
+ * into a graph of org.apache.james.mime4j.field.address objects.
+ *
+ *
+ */
+class Builder {
+
+	private static Builder singleton = new Builder();
+
+	public static Builder getInstance() {
+		return singleton;
+	}
+
+
+
+	public AddressList buildAddressList(ASTaddress_list node) {
+		ArrayList<Address> list = new ArrayList<Address>();
+		for (int i = 0; i < node.jjtGetNumChildren(); i++) {
+			ASTaddress childNode = (ASTaddress) node.jjtGetChild(i);
+			Address address = buildAddress(childNode);
+			list.add(address);
+		}
+		return new AddressList(list, true);
+	}
+
+	private Address buildAddress(ASTaddress node) {
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		Node n = it.nextNode();
+		if (n instanceof ASTaddr_spec) {
+			return buildAddrSpec((ASTaddr_spec)n);
+		}
+		else if (n instanceof ASTangle_addr) {
+			return buildAngleAddr((ASTangle_addr)n);
+		}
+		else if (n instanceof ASTphrase) {
+			String name = buildString((ASTphrase)n, false);
+			Node n2 = it.nextNode();
+			if (n2 instanceof ASTgroup_body) {
+				return new Group(name, buildGroupBody((ASTgroup_body)n2));
+			}
+			else if (n2 instanceof ASTangle_addr) {
+                name = DecoderUtil.decodeEncodedWords(name);
+				return new NamedMailbox(name, buildAngleAddr((ASTangle_addr)n2));
+			}
+			else {
+				throw new IllegalStateException();
+			}
+		}
+		else {
+			throw new IllegalStateException();
+		}
+	}
+
+
+
+	private MailboxList buildGroupBody(ASTgroup_body node) {
+		ArrayList<Address> results = new ArrayList<Address>();
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		while (it.hasNext()) {
+			Node n = it.nextNode();
+			if (n instanceof ASTmailbox)
+				results.add(buildMailbox((ASTmailbox)n));
+			else
+				throw new IllegalStateException();
+		}
+		return new MailboxList(results, true);
+	}
+
+	private Mailbox buildMailbox(ASTmailbox node) {
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		Node n = it.nextNode();
+		if (n instanceof ASTaddr_spec) {
+			return buildAddrSpec((ASTaddr_spec)n);
+		}
+		else if (n instanceof ASTangle_addr) {
+			return buildAngleAddr((ASTangle_addr)n);
+		}
+		else if (n instanceof ASTname_addr) {
+			return buildNameAddr((ASTname_addr)n);
+		}
+		else {
+			throw new IllegalStateException();
+		}
+	}
+
+	private NamedMailbox buildNameAddr(ASTname_addr node) {
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		Node n = it.nextNode();
+		String name;
+		if (n instanceof ASTphrase) {
+			name = buildString((ASTphrase)n, false);
+		}
+		else {
+			throw new IllegalStateException();
+		}
+
+		n = it.nextNode();
+		if (n instanceof ASTangle_addr) {
+            name = DecoderUtil.decodeEncodedWords(name);
+			return new NamedMailbox(name, buildAngleAddr((ASTangle_addr) n));
+		}
+		else {
+			throw new IllegalStateException();
+		}
+	}
+
+	private Mailbox buildAngleAddr(ASTangle_addr node) {
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		DomainList route = null;
+		Node n = it.nextNode();
+		if (n instanceof ASTroute) {
+			route = buildRoute((ASTroute)n);
+			n = it.nextNode();
+		}
+		else if (n instanceof ASTaddr_spec)
+			; // do nothing
+		else
+			throw new IllegalStateException();
+
+		if (n instanceof ASTaddr_spec)
+			return buildAddrSpec(route, (ASTaddr_spec)n);
+		else
+			throw new IllegalStateException();
+	}
+
+	private DomainList buildRoute(ASTroute node) {
+		ArrayList<String> results = new ArrayList<String>(node.jjtGetNumChildren());
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		while (it.hasNext()) {
+			Node n = it.nextNode();
+			if (n instanceof ASTdomain)
+				results.add(buildString((ASTdomain)n, true));
+			else
+				throw new IllegalStateException();
+		}
+		return new DomainList(results, true);
+	}
+
+	private Mailbox buildAddrSpec(ASTaddr_spec node) {
+		return buildAddrSpec(null, node);
+	}
+	private Mailbox buildAddrSpec(DomainList route, ASTaddr_spec node) {
+		ChildNodeIterator it = new ChildNodeIterator(node);
+		String localPart = buildString((ASTlocal_part)it.nextNode(), true);
+		String domain = buildString((ASTdomain)it.nextNode(), true);
+		return new Mailbox(route, localPart, domain);
+	}
+
+
+	private String buildString(SimpleNode node, boolean stripSpaces) {
+		Token head = node.firstToken;
+		Token tail = node.lastToken;
+		StringBuffer out = new StringBuffer();
+
+		while (head != tail) {
+			out.append(head.image);
+			head = head.next;
+			if (!stripSpaces)
+				addSpecials(out, head.specialToken);
+		}
+		out.append(tail.image);
+
+		return out.toString();
+	}
+
+	private void addSpecials(StringBuffer out, Token specialToken) {
+		if (specialToken != null) {
+			addSpecials(out, specialToken.specialToken);
+			out.append(specialToken.image);
+		}
+	}
+
+	private static class ChildNodeIterator implements Iterator<Node> {
+
+		private SimpleNode simpleNode;
+		private int index;
+		private int len;
+
+		public ChildNodeIterator(SimpleNode simpleNode) {
+			this.simpleNode = simpleNode;
+			this.len = simpleNode.jjtGetNumChildren();
+			this.index = 0;
+		}
+
+		public void remove() {
+			throw new UnsupportedOperationException();
+		}
+
+		public boolean hasNext() {
+			return index < len;
+		}
+
+		public Node next() {
+			return nextNode();
+		}
+
+		public Node nextNode() {
+			return simpleNode.jjtGetChild(index++);
+		}
+
+	}
+}
diff --git a/src/org/apache/james/mime4j/field/address/DomainList.java b/src/org/apache/james/mime4j/field/address/DomainList.java
new file mode 100644
index 0000000..49b0f3b
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/DomainList.java
@@ -0,0 +1,76 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import java.util.ArrayList;
+
+/**
+ * An immutable, random-access list of Strings (that
+ * are supposedly domain names or domain literals).
+ *
+ *
+ */
+public class DomainList {
+	private ArrayList<String> domains;
+
+	/**
+	 * @param domains An ArrayList that contains only String objects.
+	 * @param dontCopy true iff it is not possible for the domains ArrayList to be modified by someone else.
+	 */
+	public DomainList(ArrayList<String> domains, boolean dontCopy) {
+		if (domains != null)
+			this.domains = (dontCopy ? domains : new ArrayList<String>(domains));
+		else
+			this.domains = new ArrayList<String>(0);
+	}
+
+	/**
+	 * The number of elements in this list.
+	 */
+	public int size() {
+		return domains.size();
+	}
+
+	/**
+	 * Gets the domain name or domain literal at the
+	 * specified index.
+	 * @throws IndexOutOfBoundsException If index is &lt; 0 or &gt;= size().
+	 */
+	public String get(int index) {
+		if (0 > index || size() <= index)
+			throw new IndexOutOfBoundsException();
+		return domains.get(index);
+	}
+
+	/**
+	 * Returns the list of domains formatted as a route
+	 * string (not including the trailing ':').
+	 */
+	public String toRouteString() {
+		StringBuffer out = new StringBuffer();
+		for (int i = 0; i < domains.size(); i++) {
+			out.append("@");
+			out.append(get(i));
+			if (i + 1 < domains.size())
+				out.append(",");
+		}
+		return out.toString();
+	}
+}
diff --git a/src/org/apache/james/mime4j/field/address/Group.java b/src/org/apache/james/mime4j/field/address/Group.java
new file mode 100644
index 0000000..c0ab7f7
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/Group.java
@@ -0,0 +1,75 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import java.util.ArrayList;
+
+/**
+ * A named group of zero or more mailboxes.
+ *
+ *
+ */
+public class Group extends Address {
+	private String name;
+	private MailboxList mailboxList;
+
+	/**
+	 * @param name The group name.
+	 * @param mailboxes The mailboxes in this group.
+	 */
+	public Group(String name, MailboxList mailboxes) {
+		this.name = name;
+		this.mailboxList = mailboxes;
+	}
+
+	/**
+	 * Returns the group name.
+	 */
+	public String getName() {
+		return name;
+	}
+
+	/**
+	 * Returns the mailboxes in this group.
+	 */
+	public MailboxList getMailboxes() {
+		return mailboxList;
+	}
+
+	@Override
+	public String toString() {
+		StringBuffer buf = new StringBuffer();
+		buf.append(name);
+		buf.append(":");
+		for (int i = 0; i < mailboxList.size(); i++) {
+			buf.append(mailboxList.get(i).toString());
+			if (i + 1 < mailboxList.size())
+				buf.append(",");
+		}
+		buf.append(";");
+		return buf.toString();
+	}
+
+	@Override
+	protected void doAddMailboxesTo(ArrayList<Address> results) {
+		for (int i = 0; i < mailboxList.size(); i++)
+			results.add(mailboxList.get(i));
+	}
+}
diff --git a/src/org/apache/james/mime4j/field/address/Mailbox.java b/src/org/apache/james/mime4j/field/address/Mailbox.java
new file mode 100644
index 0000000..25f2548
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/Mailbox.java
@@ -0,0 +1,121 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import java.util.ArrayList;
+
+/**
+ * Represents a single e-mail address.
+ *
+ *
+ */
+public class Mailbox extends Address {
+	private DomainList route;
+	private String localPart;
+	private String domain;
+
+	/**
+	 * Creates a mailbox without a route. Routes are obsolete.
+	 * @param localPart The part of the e-mail address to the left of the "@".
+	 * @param domain The part of the e-mail address to the right of the "@".
+	 */
+	public Mailbox(String localPart, String domain) {
+		this(null, localPart, domain);
+	}
+
+	/**
+	 * Creates a mailbox with a route. Routes are obsolete.
+	 * @param route The zero or more domains that make up the route. Can be null.
+	 * @param localPart The part of the e-mail address to the left of the "@".
+	 * @param domain The part of the e-mail address to the right of the "@".
+	 */
+	public Mailbox(DomainList route, String localPart, String domain) {
+		this.route = route;
+		this.localPart = localPart;
+		this.domain = domain;
+	}
+
+	/**
+	 * Returns the route list.
+	 */
+	public DomainList getRoute() {
+		return route;
+	}
+
+	/**
+	 * Returns the left part of the e-mail address
+	 * (before "@").
+	 */
+	public String getLocalPart() {
+		return localPart;
+	}
+
+	/**
+	 * Returns the right part of the e-mail address
+	 * (after "@").
+	 */
+	public String getDomain() {
+		return domain;
+	}
+
+	/**
+	 * Formats the address as a string, not including
+	 * the route.
+	 *
+	 * @see #getAddressString(boolean)
+	 */
+	public String getAddressString() {
+		return getAddressString(false);
+	}
+
+	/**
+	 * Note that this value may not be usable
+	 * for transport purposes, only display purposes.
+	 *
+	 * For example, if the unparsed address was
+	 *
+	 *   <"Joe Cheng"@joecheng.com>
+	 *
+	 * this method would return
+	 *
+	 *   <Joe Cheng@joecheng.com>
+	 *
+	 * which is not valid for transport; the local part
+	 * would need to be re-quoted.
+	 *
+	 * @param includeRoute true if the route should be included if it exists.
+	 */
+	public String getAddressString(boolean includeRoute) {
+		return "<" + (!includeRoute || route == null ? "" : route.toRouteString() + ":")
+			+ localPart
+			+ (domain == null ? "" : "@")
+			+ domain + ">";
+	}
+
+	@Override
+	protected final void doAddMailboxesTo(ArrayList<Address> results) {
+		results.add(this);
+	}
+
+	@Override
+	public String toString() {
+		return getAddressString();
+	}
+}
diff --git a/src/org/apache/james/mime4j/field/address/MailboxList.java b/src/org/apache/james/mime4j/field/address/MailboxList.java
new file mode 100644
index 0000000..2c9efb3
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/MailboxList.java
@@ -0,0 +1,71 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+import java.util.ArrayList;
+
+/**
+ * An immutable, random-access list of Mailbox objects.
+ *
+ *
+ */
+public class MailboxList {
+
+	private ArrayList<Address> mailboxes;
+
+	/**
+	 * @param mailboxes An ArrayList that contains only Mailbox objects.
+	 * @param dontCopy true iff it is not possible for the mailboxes ArrayList to be modified by someone else.
+	 */
+	public MailboxList(ArrayList<Address> mailboxes, boolean dontCopy) {
+		if (mailboxes != null)
+			this.mailboxes = (dontCopy ? mailboxes : new ArrayList<Address>(mailboxes));
+		else
+			this.mailboxes = new ArrayList<Address>(0);
+	}
+
+	/**
+	 * The number of elements in this list.
+	 */
+	public int size() {
+		return mailboxes.size();
+	}
+
+	/**
+	 * Gets an address.
+	 */
+	public Mailbox get(int index) {
+		if (0 > index || size() <= index)
+			throw new IndexOutOfBoundsException();
+		return (Mailbox)mailboxes.get(index);
+	}
+
+	/**
+	 * Dumps a representation of this mailbox list to
+	 * stdout, for debugging purposes.
+	 */
+	public void print() {
+		for (int i = 0; i < size(); i++) {
+			Mailbox mailbox = get(i);
+			System.out.println(mailbox.toString());
+		}
+	}
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/NamedMailbox.java b/src/org/apache/james/mime4j/field/address/NamedMailbox.java
new file mode 100644
index 0000000..4b83060
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/NamedMailbox.java
@@ -0,0 +1,71 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address;
+
+/**
+ * A Mailbox that has a name/description.
+ *
+ *
+ */
+public class NamedMailbox extends Mailbox {
+	private String name;
+
+	/**
+	 * @see Mailbox#Mailbox(String, String)
+	 */
+	public NamedMailbox(String name, String localPart, String domain) {
+		super(localPart, domain);
+		this.name = name;
+	}
+
+	/**
+	 * @see Mailbox#Mailbox(DomainList, String, String)
+	 */
+	public NamedMailbox(String name, DomainList route, String localPart, String domain) {
+		super(route, localPart, domain);
+		this.name = name;
+	}
+
+	/**
+	 * Creates a named mailbox based on an unnamed mailbox.
+	 */
+	public NamedMailbox(String name, Mailbox baseMailbox) {
+		super(baseMailbox.getRoute(), baseMailbox.getLocalPart(), baseMailbox.getDomain());
+		this.name = name;
+	}
+
+	/**
+	 * Returns the name of the mailbox.
+	 */
+	public String getName() {
+		return this.name;
+	}
+
+	/**
+	 * Same features (or problems) as Mailbox.getAddressString(boolean),
+	 * only more so.
+	 *
+	 * @see Mailbox#getAddressString(boolean)
+	 */
+	@Override
+	public String getAddressString(boolean includeRoute) {
+		return (name == null ? "" : name + " ") + super.getAddressString(includeRoute);
+	}
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTaddr_spec.java b/src/org/apache/james/mime4j/field/address/parser/ASTaddr_spec.java
new file mode 100644
index 0000000..4d56d00
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTaddr_spec.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTaddr_spec.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTaddr_spec extends SimpleNode {
+  public ASTaddr_spec(int id) {
+    super(id);
+  }
+
+  public ASTaddr_spec(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTaddress.java b/src/org/apache/james/mime4j/field/address/parser/ASTaddress.java
new file mode 100644
index 0000000..47bdeda
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTaddress.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTaddress.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTaddress extends SimpleNode {
+  public ASTaddress(int id) {
+    super(id);
+  }
+
+  public ASTaddress(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTaddress_list.java b/src/org/apache/james/mime4j/field/address/parser/ASTaddress_list.java
new file mode 100644
index 0000000..737840e
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTaddress_list.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTaddress_list.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTaddress_list extends SimpleNode {
+  public ASTaddress_list(int id) {
+    super(id);
+  }
+
+  public ASTaddress_list(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTangle_addr.java b/src/org/apache/james/mime4j/field/address/parser/ASTangle_addr.java
new file mode 100644
index 0000000..8cb8f42
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTangle_addr.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTangle_addr.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTangle_addr extends SimpleNode {
+  public ASTangle_addr(int id) {
+    super(id);
+  }
+
+  public ASTangle_addr(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTdomain.java b/src/org/apache/james/mime4j/field/address/parser/ASTdomain.java
new file mode 100644
index 0000000..b526643
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTdomain.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTdomain.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTdomain extends SimpleNode {
+  public ASTdomain(int id) {
+    super(id);
+  }
+
+  public ASTdomain(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTgroup_body.java b/src/org/apache/james/mime4j/field/address/parser/ASTgroup_body.java
new file mode 100644
index 0000000..f6017b9
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTgroup_body.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTgroup_body.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTgroup_body extends SimpleNode {
+  public ASTgroup_body(int id) {
+    super(id);
+  }
+
+  public ASTgroup_body(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTlocal_part.java b/src/org/apache/james/mime4j/field/address/parser/ASTlocal_part.java
new file mode 100644
index 0000000..5c244fa
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTlocal_part.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTlocal_part.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTlocal_part extends SimpleNode {
+  public ASTlocal_part(int id) {
+    super(id);
+  }
+
+  public ASTlocal_part(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTmailbox.java b/src/org/apache/james/mime4j/field/address/parser/ASTmailbox.java
new file mode 100644
index 0000000..aeb469d
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTmailbox.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTmailbox.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTmailbox extends SimpleNode {
+  public ASTmailbox(int id) {
+    super(id);
+  }
+
+  public ASTmailbox(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTname_addr.java b/src/org/apache/james/mime4j/field/address/parser/ASTname_addr.java
new file mode 100644
index 0000000..846c731
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTname_addr.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTname_addr.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTname_addr extends SimpleNode {
+  public ASTname_addr(int id) {
+    super(id);
+  }
+
+  public ASTname_addr(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTphrase.java b/src/org/apache/james/mime4j/field/address/parser/ASTphrase.java
new file mode 100644
index 0000000..7d711c5
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTphrase.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTphrase.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTphrase extends SimpleNode {
+  public ASTphrase(int id) {
+    super(id);
+  }
+
+  public ASTphrase(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ASTroute.java b/src/org/apache/james/mime4j/field/address/parser/ASTroute.java
new file mode 100644
index 0000000..54ea115
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ASTroute.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. ASTroute.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class ASTroute extends SimpleNode {
+  public ASTroute(int id) {
+    super(id);
+  }
+
+  public ASTroute(AddressListParser p, int id) {
+    super(p, id);
+  }
+
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/AddressListParser.java b/src/org/apache/james/mime4j/field/address/parser/AddressListParser.java
new file mode 100644
index 0000000..8094df0
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/AddressListParser.java
@@ -0,0 +1,977 @@
+/* Generated By:JJTree&JavaCC: Do not edit this line. AddressListParser.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+public class AddressListParser/*@bgen(jjtree)*/implements AddressListParserTreeConstants, AddressListParserConstants {/*@bgen(jjtree)*/
+  protected JJTAddressListParserState jjtree = new JJTAddressListParserState();public static void main(String args[]) throws ParseException {
+                while (true) {
+                    try {
+                                AddressListParser parser = new AddressListParser(System.in);
+                        parser.parseLine();
+                        ((SimpleNode)parser.jjtree.rootNode()).dump("> ");
+                    } catch (Exception x) {
+                                x.printStackTrace();
+                                return;
+                    }
+                }
+    }
+
+    private static void log(String msg) {
+        System.out.print(msg);
+    }
+
+    public ASTaddress_list parse() throws ParseException {
+        try {
+            parseAll();
+            return (ASTaddress_list)jjtree.rootNode();
+        } catch (TokenMgrError tme) {
+            throw new ParseException(tme.getMessage());
+        }
+    }
+
+
+    void jjtreeOpenNodeScope(Node n) {
+        ((SimpleNode)n).firstToken = getToken(1);
+    }
+
+    void jjtreeCloseNodeScope(Node n) {
+        ((SimpleNode)n).lastToken = getToken(0);
+    }
+
+  final public void parseLine() throws ParseException {
+    address_list();
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 1:
+      jj_consume_token(1);
+      break;
+    default:
+      jj_la1[0] = jj_gen;
+      ;
+    }
+    jj_consume_token(2);
+  }
+
+  final public void parseAll() throws ParseException {
+    address_list();
+    jj_consume_token(0);
+  }
+
+  final public void address_list() throws ParseException {
+ /*@bgen(jjtree) address_list */
+  ASTaddress_list jjtn000 = new ASTaddress_list(JJTADDRESS_LIST);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case 6:
+      case DOTATOM:
+      case QUOTEDSTRING:
+        address();
+        break;
+      default:
+        jj_la1[1] = jj_gen;
+        ;
+      }
+      label_1:
+      while (true) {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 3:
+          ;
+          break;
+        default:
+          jj_la1[2] = jj_gen;
+          break label_1;
+        }
+        jj_consume_token(3);
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 6:
+        case DOTATOM:
+        case QUOTEDSTRING:
+          address();
+          break;
+        default:
+          jj_la1[3] = jj_gen;
+          ;
+        }
+      }
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void address() throws ParseException {
+ /*@bgen(jjtree) address */
+  ASTaddress jjtn000 = new ASTaddress(JJTADDRESS);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      if (jj_2_1(2147483647)) {
+        addr_spec();
+      } else {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 6:
+          angle_addr();
+          break;
+        case DOTATOM:
+        case QUOTEDSTRING:
+          phrase();
+          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          case 4:
+            group_body();
+            break;
+          case 6:
+            angle_addr();
+            break;
+          default:
+            jj_la1[4] = jj_gen;
+            jj_consume_token(-1);
+            throw new ParseException();
+          }
+          break;
+        default:
+          jj_la1[5] = jj_gen;
+          jj_consume_token(-1);
+          throw new ParseException();
+        }
+      }
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void mailbox() throws ParseException {
+ /*@bgen(jjtree) mailbox */
+  ASTmailbox jjtn000 = new ASTmailbox(JJTMAILBOX);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      if (jj_2_2(2147483647)) {
+        addr_spec();
+      } else {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 6:
+          angle_addr();
+          break;
+        case DOTATOM:
+        case QUOTEDSTRING:
+          name_addr();
+          break;
+        default:
+          jj_la1[6] = jj_gen;
+          jj_consume_token(-1);
+          throw new ParseException();
+        }
+      }
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void name_addr() throws ParseException {
+ /*@bgen(jjtree) name_addr */
+  ASTname_addr jjtn000 = new ASTname_addr(JJTNAME_ADDR);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      phrase();
+      angle_addr();
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void group_body() throws ParseException {
+ /*@bgen(jjtree) group_body */
+  ASTgroup_body jjtn000 = new ASTgroup_body(JJTGROUP_BODY);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      jj_consume_token(4);
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case 6:
+      case DOTATOM:
+      case QUOTEDSTRING:
+        mailbox();
+        break;
+      default:
+        jj_la1[7] = jj_gen;
+        ;
+      }
+      label_2:
+      while (true) {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 3:
+          ;
+          break;
+        default:
+          jj_la1[8] = jj_gen;
+          break label_2;
+        }
+        jj_consume_token(3);
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 6:
+        case DOTATOM:
+        case QUOTEDSTRING:
+          mailbox();
+          break;
+        default:
+          jj_la1[9] = jj_gen;
+          ;
+        }
+      }
+      jj_consume_token(5);
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void angle_addr() throws ParseException {
+ /*@bgen(jjtree) angle_addr */
+  ASTangle_addr jjtn000 = new ASTangle_addr(JJTANGLE_ADDR);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      jj_consume_token(6);
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case 8:
+        route();
+        break;
+      default:
+        jj_la1[10] = jj_gen;
+        ;
+      }
+      addr_spec();
+      jj_consume_token(7);
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void route() throws ParseException {
+ /*@bgen(jjtree) route */
+  ASTroute jjtn000 = new ASTroute(JJTROUTE);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      jj_consume_token(8);
+      domain();
+      label_3:
+      while (true) {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 3:
+        case 8:
+          ;
+          break;
+        default:
+          jj_la1[11] = jj_gen;
+          break label_3;
+        }
+        label_4:
+        while (true) {
+          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          case 3:
+            ;
+            break;
+          default:
+            jj_la1[12] = jj_gen;
+            break label_4;
+          }
+          jj_consume_token(3);
+        }
+        jj_consume_token(8);
+        domain();
+      }
+      jj_consume_token(4);
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void phrase() throws ParseException {
+ /*@bgen(jjtree) phrase */
+  ASTphrase jjtn000 = new ASTphrase(JJTPHRASE);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      label_5:
+      while (true) {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case DOTATOM:
+          jj_consume_token(DOTATOM);
+          break;
+        case QUOTEDSTRING:
+          jj_consume_token(QUOTEDSTRING);
+          break;
+        default:
+          jj_la1[13] = jj_gen;
+          jj_consume_token(-1);
+          throw new ParseException();
+        }
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case DOTATOM:
+        case QUOTEDSTRING:
+          ;
+          break;
+        default:
+          jj_la1[14] = jj_gen;
+          break label_5;
+        }
+      }
+    } finally {
+  if (jjtc000) {
+    jjtree.closeNodeScope(jjtn000, true);
+    jjtreeCloseNodeScope(jjtn000);
+  }
+    }
+  }
+
+  final public void addr_spec() throws ParseException {
+ /*@bgen(jjtree) addr_spec */
+  ASTaddr_spec jjtn000 = new ASTaddr_spec(JJTADDR_SPEC);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+    try {
+      local_part();
+      jj_consume_token(8);
+      domain();
+    } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            {if (true) throw (RuntimeException)jjte000;}
+          }
+          if (jjte000 instanceof ParseException) {
+            {if (true) throw (ParseException)jjte000;}
+          }
+          {if (true) throw (Error)jjte000;}
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void local_part() throws ParseException {
+ /*@bgen(jjtree) local_part */
+  ASTlocal_part jjtn000 = new ASTlocal_part(JJTLOCAL_PART);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);Token t;
+    try {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case DOTATOM:
+        t = jj_consume_token(DOTATOM);
+        break;
+      case QUOTEDSTRING:
+        t = jj_consume_token(QUOTEDSTRING);
+        break;
+      default:
+        jj_la1[15] = jj_gen;
+        jj_consume_token(-1);
+        throw new ParseException();
+      }
+      label_6:
+      while (true) {
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 9:
+        case DOTATOM:
+        case QUOTEDSTRING:
+          ;
+          break;
+        default:
+          jj_la1[16] = jj_gen;
+          break label_6;
+        }
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case 9:
+          t = jj_consume_token(9);
+          break;
+        default:
+          jj_la1[17] = jj_gen;
+          ;
+        }
+                        if (t.image.charAt(t.image.length() - 1) != '.' || t.kind == AddressListParserConstants.QUOTEDSTRING)
+                                {if (true) throw new ParseException("Words in local part must be separated by '.'");}
+        switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+        case DOTATOM:
+          t = jj_consume_token(DOTATOM);
+          break;
+        case QUOTEDSTRING:
+          t = jj_consume_token(QUOTEDSTRING);
+          break;
+        default:
+          jj_la1[18] = jj_gen;
+          jj_consume_token(-1);
+          throw new ParseException();
+        }
+      }
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final public void domain() throws ParseException {
+ /*@bgen(jjtree) domain */
+  ASTdomain jjtn000 = new ASTdomain(JJTDOMAIN);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);Token t;
+    try {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case DOTATOM:
+        t = jj_consume_token(DOTATOM);
+        label_7:
+        while (true) {
+          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          case 9:
+          case DOTATOM:
+            ;
+            break;
+          default:
+            jj_la1[19] = jj_gen;
+            break label_7;
+          }
+          switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+          case 9:
+            t = jj_consume_token(9);
+            break;
+          default:
+            jj_la1[20] = jj_gen;
+            ;
+          }
+                                if (t.image.charAt(t.image.length() - 1) != '.')
+                                        {if (true) throw new ParseException("Atoms in domain names must be separated by '.'");}
+          t = jj_consume_token(DOTATOM);
+        }
+        break;
+      case DOMAINLITERAL:
+        jj_consume_token(DOMAINLITERAL);
+        break;
+      default:
+        jj_la1[21] = jj_gen;
+        jj_consume_token(-1);
+        throw new ParseException();
+      }
+    } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+    }
+  }
+
+  final private boolean jj_2_1(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_1(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(0, xla); }
+  }
+
+  final private boolean jj_2_2(int xla) {
+    jj_la = xla; jj_lastpos = jj_scanpos = token;
+    try { return !jj_3_2(); }
+    catch(LookaheadSuccess ls) { return true; }
+    finally { jj_save(1, xla); }
+  }
+
+  final private boolean jj_3R_11() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(9)) jj_scanpos = xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(14)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(31)) return true;
+    }
+    return false;
+  }
+
+  final private boolean jj_3R_13() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(9)) jj_scanpos = xsp;
+    if (jj_scan_token(DOTATOM)) return true;
+    return false;
+  }
+
+  final private boolean jj_3R_8() {
+    if (jj_3R_9()) return true;
+    if (jj_scan_token(8)) return true;
+    if (jj_3R_10()) return true;
+    return false;
+  }
+
+  final private boolean jj_3_1() {
+    if (jj_3R_8()) return true;
+    return false;
+  }
+
+  final private boolean jj_3R_12() {
+    if (jj_scan_token(DOTATOM)) return true;
+    Token xsp;
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_13()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  final private boolean jj_3R_10() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_3R_12()) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(18)) return true;
+    }
+    return false;
+  }
+
+  final private boolean jj_3_2() {
+    if (jj_3R_8()) return true;
+    return false;
+  }
+
+  final private boolean jj_3R_9() {
+    Token xsp;
+    xsp = jj_scanpos;
+    if (jj_scan_token(14)) {
+    jj_scanpos = xsp;
+    if (jj_scan_token(31)) return true;
+    }
+    while (true) {
+      xsp = jj_scanpos;
+      if (jj_3R_11()) { jj_scanpos = xsp; break; }
+    }
+    return false;
+  }
+
+  public AddressListParserTokenManager token_source;
+  SimpleCharStream jj_input_stream;
+  public Token token, jj_nt;
+  private int jj_ntk;
+  private Token jj_scanpos, jj_lastpos;
+  private int jj_la;
+  public boolean lookingAhead = false;
+  private boolean jj_semLA;
+  private int jj_gen;
+  final private int[] jj_la1 = new int[22];
+  static private int[] jj_la1_0;
+  static private int[] jj_la1_1;
+  static {
+      jj_la1_0();
+      jj_la1_1();
+   }
+   private static void jj_la1_0() {
+      jj_la1_0 = new int[] {0x2,0x80004040,0x8,0x80004040,0x50,0x80004040,0x80004040,0x80004040,0x8,0x80004040,0x100,0x108,0x8,0x80004000,0x80004000,0x80004000,0x80004200,0x200,0x80004000,0x4200,0x200,0x44000,};
+   }
+   private static void jj_la1_1() {
+      jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
+   }
+  final private JJCalls[] jj_2_rtns = new JJCalls[2];
+  private boolean jj_rescan = false;
+  private int jj_gc = 0;
+
+  public AddressListParser(java.io.InputStream stream) {
+     this(stream, null);
+  }
+  public AddressListParser(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source = new AddressListParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 22; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  public void ReInit(java.io.InputStream stream) {
+     ReInit(stream, null);
+  }
+  public void ReInit(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jjtree.reset();
+    jj_gen = 0;
+    for (int i = 0; i < 22; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  public AddressListParser(java.io.Reader stream) {
+    jj_input_stream = new SimpleCharStream(stream, 1, 1);
+    token_source = new AddressListParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 22; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  public void ReInit(java.io.Reader stream) {
+    jj_input_stream.ReInit(stream, 1, 1);
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jjtree.reset();
+    jj_gen = 0;
+    for (int i = 0; i < 22; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  public AddressListParser(AddressListParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 22; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  public void ReInit(AddressListParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jjtree.reset();
+    jj_gen = 0;
+    for (int i = 0; i < 22; i++) jj_la1[i] = -1;
+    for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
+  }
+
+  final private Token jj_consume_token(int kind) throws ParseException {
+    Token oldToken;
+    if ((oldToken = token).next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    if (token.kind == kind) {
+      jj_gen++;
+      if (++jj_gc > 100) {
+        jj_gc = 0;
+        for (int i = 0; i < jj_2_rtns.length; i++) {
+          JJCalls c = jj_2_rtns[i];
+          while (c != null) {
+            if (c.gen < jj_gen) c.first = null;
+            c = c.next;
+          }
+        }
+      }
+      return token;
+    }
+    token = oldToken;
+    jj_kind = kind;
+    throw generateParseException();
+  }
+
+  static private final class LookaheadSuccess extends java.lang.Error { }
+  final private LookaheadSuccess jj_ls = new LookaheadSuccess();
+  final private boolean jj_scan_token(int kind) {
+    if (jj_scanpos == jj_lastpos) {
+      jj_la--;
+      if (jj_scanpos.next == null) {
+        jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
+      } else {
+        jj_lastpos = jj_scanpos = jj_scanpos.next;
+      }
+    } else {
+      jj_scanpos = jj_scanpos.next;
+    }
+    if (jj_rescan) {
+      int i = 0; Token tok = token;
+      while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
+      if (tok != null) jj_add_error_token(kind, i);
+    }
+    if (jj_scanpos.kind != kind) return true;
+    if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
+    return false;
+  }
+
+  final public Token getNextToken() {
+    if (token.next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    jj_gen++;
+    return token;
+  }
+
+  final public Token getToken(int index) {
+    Token t = lookingAhead ? jj_scanpos : token;
+    for (int i = 0; i < index; i++) {
+      if (t.next != null) t = t.next;
+      else t = t.next = token_source.getNextToken();
+    }
+    return t;
+  }
+
+  final private int jj_ntk() {
+    if ((jj_nt=token.next) == null)
+      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+    else
+      return (jj_ntk = jj_nt.kind);
+  }
+
+  private java.util.Vector<int[]> jj_expentries = new java.util.Vector<int[]>();
+  private int[] jj_expentry;
+  private int jj_kind = -1;
+  private int[] jj_lasttokens = new int[100];
+  private int jj_endpos;
+
+  private void jj_add_error_token(int kind, int pos) {
+    if (pos >= 100) return;
+    if (pos == jj_endpos + 1) {
+      jj_lasttokens[jj_endpos++] = kind;
+    } else if (jj_endpos != 0) {
+      jj_expentry = new int[jj_endpos];
+      for (int i = 0; i < jj_endpos; i++) {
+        jj_expentry[i] = jj_lasttokens[i];
+      }
+      boolean exists = false;
+      for (java.util.Enumeration<int[]> e = jj_expentries.elements(); e.hasMoreElements();) {
+        int[] oldentry = e.nextElement();
+        if (oldentry.length == jj_expentry.length) {
+          exists = true;
+          for (int i = 0; i < jj_expentry.length; i++) {
+            if (oldentry[i] != jj_expentry[i]) {
+              exists = false;
+              break;
+            }
+          }
+          if (exists) break;
+        }
+      }
+      if (!exists) jj_expentries.addElement(jj_expentry);
+      if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
+    }
+  }
+
+  public ParseException generateParseException() {
+    jj_expentries.removeAllElements();
+    boolean[] la1tokens = new boolean[34];
+    for (int i = 0; i < 34; i++) {
+      la1tokens[i] = false;
+    }
+    if (jj_kind >= 0) {
+      la1tokens[jj_kind] = true;
+      jj_kind = -1;
+    }
+    for (int i = 0; i < 22; i++) {
+      if (jj_la1[i] == jj_gen) {
+        for (int j = 0; j < 32; j++) {
+          if ((jj_la1_0[i] & (1<<j)) != 0) {
+            la1tokens[j] = true;
+          }
+          if ((jj_la1_1[i] & (1<<j)) != 0) {
+            la1tokens[32+j] = true;
+          }
+        }
+      }
+    }
+    for (int i = 0; i < 34; i++) {
+      if (la1tokens[i]) {
+        jj_expentry = new int[1];
+        jj_expentry[0] = i;
+        jj_expentries.addElement(jj_expentry);
+      }
+    }
+    jj_endpos = 0;
+    jj_rescan_token();
+    jj_add_error_token(0, 0);
+    int[][] exptokseq = new int[jj_expentries.size()][];
+    for (int i = 0; i < jj_expentries.size(); i++) {
+      exptokseq[i] = jj_expentries.elementAt(i);
+    }
+    return new ParseException(token, exptokseq, tokenImage);
+  }
+
+  final public void enable_tracing() {
+  }
+
+  final public void disable_tracing() {
+  }
+
+  final private void jj_rescan_token() {
+    jj_rescan = true;
+    for (int i = 0; i < 2; i++) {
+    try {
+      JJCalls p = jj_2_rtns[i];
+      do {
+        if (p.gen > jj_gen) {
+          jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
+          switch (i) {
+            case 0: jj_3_1(); break;
+            case 1: jj_3_2(); break;
+          }
+        }
+        p = p.next;
+      } while (p != null);
+      } catch(LookaheadSuccess ls) { }
+    }
+    jj_rescan = false;
+  }
+
+  final private void jj_save(int index, int xla) {
+    JJCalls p = jj_2_rtns[index];
+    while (p.gen > jj_gen) {
+      if (p.next == null) { p = p.next = new JJCalls(); break; }
+      p = p.next;
+    }
+    p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
+  }
+
+  static final class JJCalls {
+    int gen;
+    Token first;
+    int arg;
+    JJCalls next;
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/AddressListParser.jj b/src/org/apache/james/mime4j/field/address/parser/AddressListParser.jj
new file mode 100644
index 0000000..c14277b
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/AddressListParser.jj
@@ -0,0 +1,595 @@
+/*@bgen(jjtree) Generated By:JJTree: Do not edit this line. /Users/jason/Projects/apache-mime4j-0.3/target/generated-sources/jjtree/org/apache/james/mime4j/field/address/parser/AddressListParser.jj */
+/*@egen*//****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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.                                           *
+ ****************************************************************/
+
+
+/**
+ * RFC2822 address list parser.
+ *
+ * Created 9/17/2004
+ * by Joe Cheng <code@joecheng.com>
+ */
+
+options {
+	STATIC=false;
+	LOOKAHEAD=1;                                                                                                                               
+	//DEBUG_PARSER=true;
+	//DEBUG_TOKEN_MANAGER=true;
+}
+
+PARSER_BEGIN(AddressListParser)
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+public class AddressListParser/*@bgen(jjtree)*/implements AddressListParserTreeConstants/*@egen*/ {/*@bgen(jjtree)*/
+  protected JJTAddressListParserState jjtree = new JJTAddressListParserState();
+
+/*@egen*/
+    public static void main(String args[]) throws ParseException {
+		while (true) {
+		    try {
+				AddressListParser parser = new AddressListParser(System.in);
+		    	parser.parseLine();
+		    	((SimpleNode)parser.jjtree.rootNode()).dump("> ");
+		    } catch (Exception x) {
+				x.printStackTrace();
+				return;
+		    }
+		}
+    }
+    
+    private static void log(String msg) {
+    	System.out.print(msg);
+    }
+    
+    public ASTaddress_list parse() throws ParseException {
+        try {
+    	    parseAll();
+    	    return (ASTaddress_list)jjtree.rootNode();
+    	} catch (TokenMgrError tme) {
+    	    throw new ParseException(tme.getMessage());
+    	}
+    }
+    
+    
+    void jjtreeOpenNodeScope(Node n) {
+    	((SimpleNode)n).firstToken = getToken(1);
+    }
+    
+    void jjtreeCloseNodeScope(Node n) {
+    	((SimpleNode)n).lastToken = getToken(0);
+    }
+}
+
+PARSER_END(AddressListParser)
+
+void parseLine()       :
+{}
+{
+	address_list() ["\r"] "\n"
+}
+
+void parseAll()       :
+{}
+{
+	address_list() <EOF>
+}
+
+void address_list() :
+{/*@bgen(jjtree) address_list */
+  ASTaddress_list jjtn000 = new ASTaddress_list(JJTADDRESS_LIST);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) address_list */
+        try {
+/*@egen*/
+	[ address() ]
+	(
+		","
+		[ address() ]
+	)*/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void address() :
+{/*@bgen(jjtree) address */
+  ASTaddress jjtn000 = new ASTaddress(JJTADDRESS);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) address */
+        try {
+/*@egen*/
+	LOOKAHEAD(2147483647)
+	addr_spec()
+|	angle_addr()
+|	( phrase() (group_body() | angle_addr()) )/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void mailbox() :
+{/*@bgen(jjtree) mailbox */
+  ASTmailbox jjtn000 = new ASTmailbox(JJTMAILBOX);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) mailbox */
+        try {
+/*@egen*/
+	LOOKAHEAD(2147483647)
+	addr_spec()
+|	angle_addr()
+|	name_addr()/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void name_addr() :
+{/*@bgen(jjtree) name_addr */
+  ASTname_addr jjtn000 = new ASTname_addr(JJTNAME_ADDR);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) name_addr */
+        try {
+/*@egen*/
+	phrase() angle_addr()/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void group_body() :
+{/*@bgen(jjtree) group_body */
+  ASTgroup_body jjtn000 = new ASTgroup_body(JJTGROUP_BODY);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) group_body */
+        try {
+/*@egen*/
+	":"
+	[ mailbox() ]
+	(
+		","
+		[ mailbox() ]
+	)*
+	";"/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void angle_addr() :
+{/*@bgen(jjtree) angle_addr */
+  ASTangle_addr jjtn000 = new ASTangle_addr(JJTANGLE_ADDR);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) angle_addr */
+        try {
+/*@egen*/
+	"<" [ route() ] addr_spec() ">"/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void route() :
+{/*@bgen(jjtree) route */
+  ASTroute jjtn000 = new ASTroute(JJTROUTE);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) route */
+        try {
+/*@egen*/
+	"@" domain() ( (",")* "@" domain() )* ":"/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void phrase() :
+{/*@bgen(jjtree) phrase */
+  ASTphrase jjtn000 = new ASTphrase(JJTPHRASE);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) phrase */
+try {
+/*@egen*/
+(	<DOTATOM>
+|	<QUOTEDSTRING>
+)+/*@bgen(jjtree)*/
+} finally {
+  if (jjtc000) {
+    jjtree.closeNodeScope(jjtn000, true);
+    jjtreeCloseNodeScope(jjtn000);
+  }
+}
+/*@egen*/
+}
+
+void addr_spec() :
+{/*@bgen(jjtree) addr_spec */
+  ASTaddr_spec jjtn000 = new ASTaddr_spec(JJTADDR_SPEC);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/}
+{/*@bgen(jjtree) addr_spec */
+        try {
+/*@egen*/
+	( local_part() "@" domain() )/*@bgen(jjtree)*/
+        } catch (Throwable jjte000) {
+          if (jjtc000) {
+            jjtree.clearNodeScope(jjtn000);
+            jjtc000 = false;
+          } else {
+            jjtree.popNode();
+          }
+          if (jjte000 instanceof RuntimeException) {
+            throw (RuntimeException)jjte000;
+          }
+          if (jjte000 instanceof ParseException) {
+            throw (ParseException)jjte000;
+          }
+          throw (Error)jjte000;
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void local_part() :
+{/*@bgen(jjtree) local_part */
+  ASTlocal_part jjtn000 = new ASTlocal_part(JJTLOCAL_PART);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/ Token t; }
+{/*@bgen(jjtree) local_part */
+        try {
+/*@egen*/
+	( t=<DOTATOM> | t=<QUOTEDSTRING> )
+	(	[t="."]
+		{
+			if (t.image.charAt(t.image.length() - 1) != '.' || t.kind == AddressListParserConstants.QUOTEDSTRING)
+				throw new ParseException("Words in local part must be separated by '.'");
+		}
+		(	t=<DOTATOM> | t=<QUOTEDSTRING> )
+	)*/*@bgen(jjtree)*/
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+void domain() :
+{/*@bgen(jjtree) domain */
+  ASTdomain jjtn000 = new ASTdomain(JJTDOMAIN);
+  boolean jjtc000 = true;
+  jjtree.openNodeScope(jjtn000);
+  jjtreeOpenNodeScope(jjtn000);
+/*@egen*/ Token t; }
+{/*@bgen(jjtree) domain */
+        try {
+/*@egen*/
+	(	t=<DOTATOM>
+		(	[t="."]
+			{
+				if (t.image.charAt(t.image.length() - 1) != '.')
+					throw new ParseException("Atoms in domain names must be separated by '.'");
+			}
+			t=<DOTATOM>
+		)*
+	)
+|	<DOMAINLITERAL>/*@bgen(jjtree)*/
+        } finally {
+          if (jjtc000) {
+            jjtree.closeNodeScope(jjtn000, true);
+            jjtreeCloseNodeScope(jjtn000);
+          }
+        }
+/*@egen*/
+}
+
+SPECIAL_TOKEN :
+{
+ 	< WS: ( [" ", "\t"] )+ >
+}
+
+TOKEN :
+{
+	< #ALPHA: ["a" - "z", "A" - "Z"] >
+|	< #DIGIT: ["0" - "9"] >
+|	< #ATEXT: ( <ALPHA> | <DIGIT>
+			  | "!" | "#" | "$" | "%"
+			  | "&" | "'" | "*" | "+"
+			  | "-" | "/" | "=" | "?"
+			  | "^" | "_" | "`" | "{"
+			  | "|" | "}" | "~"
+			  )>
+|	< DOTATOM: <ATEXT> ( <ATEXT> | "." )* >
+}
+
+TOKEN_MGR_DECLS :
+{
+	// Keeps track of how many levels of comment nesting
+	// we've encountered.  This is only used when the 2nd
+	// level is reached, for example ((this)), not (this).
+	// This is because the outermost level must be treated
+	// specially anyway, because the outermost ")" has a 
+	// different token type than inner ")" instances.
+	static int commentNest;
+}
+
+MORE :
+{
+	// domain literal
+	"[" : INDOMAINLITERAL
+}
+
+<INDOMAINLITERAL>
+MORE :
+{
+	< <QUOTEDPAIR>> { image.deleteCharAt(image.length() - 2); }
+|	< ~["[", "]", "\\"] >
+}
+
+<INDOMAINLITERAL>
+TOKEN :
+{
+	< DOMAINLITERAL: "]" > { matchedToken.image = image.toString(); }: DEFAULT
+}
+
+MORE :
+{
+	// starts a comment
+	"(" : INCOMMENT
+}
+
+<INCOMMENT>
+SKIP :
+{
+	// ends a comment
+	< COMMENT: ")" > : DEFAULT
+	// if this is ever changed to not be a SKIP, need
+	// to make sure matchedToken.token = token.toString()
+	// is called.
+}
+
+<INCOMMENT>
+MORE :
+{
+	< <QUOTEDPAIR>> { image.deleteCharAt(image.length() - 2); }
+|	"(" { commentNest = 1; } : NESTED_COMMENT
+|	< <ANY>>
+}
+
+<NESTED_COMMENT>
+MORE :
+{
+	< <QUOTEDPAIR>> { image.deleteCharAt(image.length() - 2); }
+|	"(" { ++commentNest; }
+|	")" { --commentNest; if (commentNest == 0) SwitchTo(INCOMMENT); }
+|	< <ANY>>
+}
+
+
+// QUOTED STRINGS
+
+MORE :
+{
+	"\"" { image.deleteCharAt(image.length() - 1); } : INQUOTEDSTRING
+}
+
+<INQUOTEDSTRING>
+MORE :
+{
+	< <QUOTEDPAIR>> { image.deleteCharAt(image.length() - 2); }
+|	< (~["\"", "\\"])+ >
+}
+
+<INQUOTEDSTRING>
+TOKEN :
+{
+	< QUOTEDSTRING: "\"" > { matchedToken.image = image.substring(0, image.length() - 1); } : DEFAULT
+}
+
+// GLOBALS
+
+<*>
+TOKEN :
+{
+	< #QUOTEDPAIR: "\\" <ANY> >
+|	< #ANY: ~[] >
+}
+
+// ERROR!
+/*
+
+<*>
+TOKEN :
+{
+	< UNEXPECTED_CHAR: <ANY> >
+}
+
+*/
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/field/address/parser/AddressListParserConstants.java b/src/org/apache/james/mime4j/field/address/parser/AddressListParserConstants.java
new file mode 100644
index 0000000..006a082
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/AddressListParserConstants.java
@@ -0,0 +1,76 @@
+/* Generated By:JJTree&JavaCC: Do not edit this line. AddressListParserConstants.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+public interface AddressListParserConstants {
+
+  int EOF = 0;
+  int WS = 10;
+  int ALPHA = 11;
+  int DIGIT = 12;
+  int ATEXT = 13;
+  int DOTATOM = 14;
+  int DOMAINLITERAL = 18;
+  int COMMENT = 20;
+  int QUOTEDSTRING = 31;
+  int QUOTEDPAIR = 32;
+  int ANY = 33;
+
+  int DEFAULT = 0;
+  int INDOMAINLITERAL = 1;
+  int INCOMMENT = 2;
+  int NESTED_COMMENT = 3;
+  int INQUOTEDSTRING = 4;
+
+  String[] tokenImage = {
+    "<EOF>",
+    "\"\\r\"",
+    "\"\\n\"",
+    "\",\"",
+    "\":\"",
+    "\";\"",
+    "\"<\"",
+    "\">\"",
+    "\"@\"",
+    "\".\"",
+    "<WS>",
+    "<ALPHA>",
+    "<DIGIT>",
+    "<ATEXT>",
+    "<DOTATOM>",
+    "\"[\"",
+    "<token of kind 16>",
+    "<token of kind 17>",
+    "\"]\"",
+    "\"(\"",
+    "\")\"",
+    "<token of kind 21>",
+    "\"(\"",
+    "<token of kind 23>",
+    "<token of kind 24>",
+    "\"(\"",
+    "\")\"",
+    "<token of kind 27>",
+    "\"\\\"\"",
+    "<token of kind 29>",
+    "<token of kind 30>",
+    "\"\\\"\"",
+    "<QUOTEDPAIR>",
+    "<ANY>",
+  };
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/AddressListParserTokenManager.java b/src/org/apache/james/mime4j/field/address/parser/AddressListParserTokenManager.java
new file mode 100644
index 0000000..d2dd88d
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/AddressListParserTokenManager.java
@@ -0,0 +1,1009 @@
+/* Generated By:JJTree&JavaCC: Do not edit this line. AddressListParserTokenManager.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+public class AddressListParserTokenManager implements AddressListParserConstants
+{
+        // Keeps track of how many levels of comment nesting
+        // we've encountered.  This is only used when the 2nd
+        // level is reached, for example ((this)), not (this).
+        // This is because the outermost level must be treated
+        // specially anyway, because the outermost ")" has a 
+        // different token type than inner ")" instances.
+        static int commentNest;
+  public  java.io.PrintStream debugStream = System.out;
+  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+private final int jjStopStringLiteralDfa_0(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_0(int pos, long active0)
+{
+   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+}
+private final int jjStopAtPos(int pos, int kind)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   return pos + 1;
+}
+private final int jjStartNfaWithStates_0(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_0(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_0()
+{
+   switch(curChar)
+   {
+      case 10:
+         return jjStopAtPos(0, 2);
+      case 13:
+         return jjStopAtPos(0, 1);
+      case 34:
+         return jjStopAtPos(0, 28);
+      case 40:
+         return jjStopAtPos(0, 19);
+      case 44:
+         return jjStopAtPos(0, 3);
+      case 46:
+         return jjStopAtPos(0, 9);
+      case 58:
+         return jjStopAtPos(0, 4);
+      case 59:
+         return jjStopAtPos(0, 5);
+      case 60:
+         return jjStopAtPos(0, 6);
+      case 62:
+         return jjStopAtPos(0, 7);
+      case 64:
+         return jjStopAtPos(0, 8);
+      case 91:
+         return jjStopAtPos(0, 15);
+      default :
+         return jjMoveNfa_0(1, 0);
+   }
+}
+private final void jjCheckNAdd(int state)
+{
+   if (jjrounds[state] != jjround)
+   {
+      jjstateSet[jjnewStateCnt++] = state;
+      jjrounds[state] = jjround;
+   }
+}
+private final void jjAddStates(int start, int end)
+{
+   do {
+      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+   } while (start++ != end);
+}
+private final void jjCheckNAddTwoStates(int state1, int state2)
+{
+   jjCheckNAdd(state1);
+   jjCheckNAdd(state2);
+}
+private final void jjCheckNAddStates(int start, int end)
+{
+   do {
+      jjCheckNAdd(jjnextStates[start]);
+   } while (start++ != end);
+}
+private final void jjCheckNAddStates(int start)
+{
+   jjCheckNAdd(jjnextStates[start]);
+   jjCheckNAdd(jjnextStates[start + 1]);
+}
+private final int jjMoveNfa_0(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 1:
+                  if ((0xa3ffacfa00000000L & l) != 0L)
+                  {
+                     if (kind > 14)
+                        kind = 14;
+                     jjCheckNAdd(2);
+                  }
+                  else if ((0x100000200L & l) != 0L)
+                  {
+                     if (kind > 10)
+                        kind = 10;
+                     jjCheckNAdd(0);
+                  }
+                  break;
+               case 0:
+                  if ((0x100000200L & l) == 0L)
+                     break;
+                  kind = 10;
+                  jjCheckNAdd(0);
+                  break;
+               case 2:
+                  if ((0xa3ffecfa00000000L & l) == 0L)
+                     break;
+                  if (kind > 14)
+                     kind = 14;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 1:
+               case 2:
+                  if ((0x7fffffffc7fffffeL & l) == 0L)
+                     break;
+                  if (kind > 14)
+                     kind = 14;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_2(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_2(int pos, long active0)
+{
+   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_2(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_2(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_2()
+{
+   switch(curChar)
+   {
+      case 40:
+         return jjStopAtPos(0, 22);
+      case 41:
+         return jjStopAtPos(0, 20);
+      default :
+         return jjMoveNfa_2(0, 0);
+   }
+}
+static final long[] jjbitVec0 = {
+   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+};
+private final int jjMoveNfa_2(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 23)
+                     kind = 23;
+                  break;
+               case 1:
+                  if (kind > 21)
+                     kind = 21;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 23)
+                     kind = 23;
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 21)
+                     kind = 21;
+                  break;
+               case 2:
+                  if (kind > 23)
+                     kind = 23;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 23)
+                     kind = 23;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 21)
+                     kind = 21;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_4(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_4(int pos, long active0)
+{
+   return jjMoveNfa_4(jjStopStringLiteralDfa_4(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_4(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_4(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_4()
+{
+   switch(curChar)
+   {
+      case 34:
+         return jjStopAtPos(0, 31);
+      default :
+         return jjMoveNfa_4(0, 0);
+   }
+}
+private final int jjMoveNfa_4(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+               case 2:
+                  if ((0xfffffffbffffffffL & l) == 0L)
+                     break;
+                  if (kind > 30)
+                     kind = 30;
+                  jjCheckNAdd(2);
+                  break;
+               case 1:
+                  if (kind > 29)
+                     kind = 29;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0xffffffffefffffffL & l) != 0L)
+                  {
+                     if (kind > 30)
+                        kind = 30;
+                     jjCheckNAdd(2);
+                  }
+                  else if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 29)
+                     kind = 29;
+                  break;
+               case 2:
+                  if ((0xffffffffefffffffL & l) == 0L)
+                     break;
+                  if (kind > 30)
+                     kind = 30;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+               case 2:
+                  if ((jjbitVec0[i2] & l2) == 0L)
+                     break;
+                  if (kind > 30)
+                     kind = 30;
+                  jjCheckNAdd(2);
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 29)
+                     kind = 29;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_3(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_3(int pos, long active0)
+{
+   return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_3(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_3(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_3()
+{
+   switch(curChar)
+   {
+      case 40:
+         return jjStopAtPos(0, 25);
+      case 41:
+         return jjStopAtPos(0, 26);
+      default :
+         return jjMoveNfa_3(0, 0);
+   }
+}
+private final int jjMoveNfa_3(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 27)
+                     kind = 27;
+                  break;
+               case 1:
+                  if (kind > 24)
+                     kind = 24;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 27)
+                     kind = 27;
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 24)
+                     kind = 24;
+                  break;
+               case 2:
+                  if (kind > 27)
+                     kind = 27;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 27)
+                     kind = 27;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 24)
+                     kind = 24;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_1(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_1(int pos, long active0)
+{
+   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_1(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_1(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_1()
+{
+   switch(curChar)
+   {
+      case 93:
+         return jjStopAtPos(0, 18);
+      default :
+         return jjMoveNfa_1(0, 0);
+   }
+}
+private final int jjMoveNfa_1(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 17)
+                     kind = 17;
+                  break;
+               case 1:
+                  if (kind > 16)
+                     kind = 16;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0xffffffffc7ffffffL & l) != 0L)
+                  {
+                     if (kind > 17)
+                        kind = 17;
+                  }
+                  else if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 16)
+                     kind = 16;
+                  break;
+               case 2:
+                  if ((0xffffffffc7ffffffL & l) != 0L && kind > 17)
+                     kind = 17;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
+                     kind = 17;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 16)
+                     kind = 16;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+static final int[] jjnextStates = {
+};
+public static final String[] jjstrLiteralImages = {
+"", "\15", "\12", "\54", "\72", "\73", "\74", "\76", "\100", "\56", null, null, 
+null, null, null, null, null, null, null, null, null, null, null, null, null, null, 
+null, null, null, null, null, null, null, null, };
+public static final String[] lexStateNames = {
+   "DEFAULT", 
+   "INDOMAINLITERAL", 
+   "INCOMMENT", 
+   "NESTED_COMMENT", 
+   "INQUOTEDSTRING", 
+};
+public static final int[] jjnewLexState = {
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, 2, 0, -1, 3, -1, -1, 
+   -1, -1, -1, 4, -1, -1, 0, -1, -1, 
+};
+static final long[] jjtoToken = {
+   0x800443ffL, 
+};
+static final long[] jjtoSkip = {
+   0x100400L, 
+};
+static final long[] jjtoSpecial = {
+   0x400L, 
+};
+static final long[] jjtoMore = {
+   0x7feb8000L, 
+};
+protected SimpleCharStream input_stream;
+private final int[] jjrounds = new int[3];
+private final int[] jjstateSet = new int[6];
+StringBuffer image;
+int jjimageLen;
+int lengthOfMatch;
+protected char curChar;
+public AddressListParserTokenManager(SimpleCharStream stream){
+   if (SimpleCharStream.staticFlag)
+      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+   input_stream = stream;
+}
+public AddressListParserTokenManager(SimpleCharStream stream, int lexState){
+   this(stream);
+   SwitchTo(lexState);
+}
+public void ReInit(SimpleCharStream stream)
+{
+   jjmatchedPos = jjnewStateCnt = 0;
+   curLexState = defaultLexState;
+   input_stream = stream;
+   ReInitRounds();
+}
+private final void ReInitRounds()
+{
+   int i;
+   jjround = 0x80000001;
+   for (i = 3; i-- > 0;)
+      jjrounds[i] = 0x80000000;
+}
+public void ReInit(SimpleCharStream stream, int lexState)
+{
+   ReInit(stream);
+   SwitchTo(lexState);
+}
+public void SwitchTo(int lexState)
+{
+   if (lexState >= 5 || lexState < 0)
+      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+   else
+      curLexState = lexState;
+}
+
+protected Token jjFillToken()
+{
+   Token t = Token.newToken(jjmatchedKind);
+   t.kind = jjmatchedKind;
+   String im = jjstrLiteralImages[jjmatchedKind];
+   t.image = (im == null) ? input_stream.GetImage() : im;
+   t.beginLine = input_stream.getBeginLine();
+   t.beginColumn = input_stream.getBeginColumn();
+   t.endLine = input_stream.getEndLine();
+   t.endColumn = input_stream.getEndColumn();
+   return t;
+}
+
+int curLexState = 0;
+int defaultLexState = 0;
+int jjnewStateCnt;
+int jjround;
+int jjmatchedPos;
+int jjmatchedKind;
+
+public Token getNextToken() 
+{
+  int kind;
+  Token specialToken = null;
+  Token matchedToken;
+  int curPos = 0;
+
+  EOFLoop :
+  for (;;)
+  {   
+   try   
+   {     
+      curChar = input_stream.BeginToken();
+   }     
+   catch(java.io.IOException e)
+   {        
+      jjmatchedKind = 0;
+      matchedToken = jjFillToken();
+      matchedToken.specialToken = specialToken;
+      return matchedToken;
+   }
+   image = null;
+   jjimageLen = 0;
+
+   for (;;)
+   {
+     switch(curLexState)
+     {
+       case 0:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_0();
+         break;
+       case 1:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_1();
+         break;
+       case 2:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_2();
+         break;
+       case 3:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_3();
+         break;
+       case 4:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_4();
+         break;
+     }
+     if (jjmatchedKind != 0x7fffffff)
+     {
+        if (jjmatchedPos + 1 < curPos)
+           input_stream.backup(curPos - jjmatchedPos - 1);
+        if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+        {
+           matchedToken = jjFillToken();
+           matchedToken.specialToken = specialToken;
+           TokenLexicalActions(matchedToken);
+       if (jjnewLexState[jjmatchedKind] != -1)
+         curLexState = jjnewLexState[jjmatchedKind];
+           return matchedToken;
+        }
+        else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+        {
+           if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+           {
+              matchedToken = jjFillToken();
+              if (specialToken == null)
+                 specialToken = matchedToken;
+              else
+              {
+                 matchedToken.specialToken = specialToken;
+                 specialToken = (specialToken.next = matchedToken);
+              }
+           }
+         if (jjnewLexState[jjmatchedKind] != -1)
+           curLexState = jjnewLexState[jjmatchedKind];
+           continue EOFLoop;
+        }
+        MoreLexicalActions();
+      if (jjnewLexState[jjmatchedKind] != -1)
+        curLexState = jjnewLexState[jjmatchedKind];
+        curPos = 0;
+        jjmatchedKind = 0x7fffffff;
+        try {
+           curChar = input_stream.readChar();
+           continue;
+        }
+        catch (java.io.IOException e1) { }
+     }
+     int error_line = input_stream.getEndLine();
+     int error_column = input_stream.getEndColumn();
+     String error_after = null;
+     boolean EOFSeen = false;
+     try { input_stream.readChar(); input_stream.backup(1); }
+     catch (java.io.IOException e1) {
+        EOFSeen = true;
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+        if (curChar == '\n' || curChar == '\r') {
+           error_line++;
+           error_column = 0;
+        }
+        else
+           error_column++;
+     }
+     if (!EOFSeen) {
+        input_stream.backup(1);
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+     }
+     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+   }
+  }
+}
+
+void MoreLexicalActions()
+{
+   jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+   switch(jjmatchedKind)
+   {
+      case 16 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 21 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 22 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              commentNest = 1;
+         break;
+      case 24 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 25 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              ++commentNest;
+         break;
+      case 26 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              --commentNest; if (commentNest == 0) SwitchTo(INCOMMENT);
+         break;
+      case 28 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+               image.deleteCharAt(image.length() - 1);
+         break;
+      case 29 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      default : 
+         break;
+   }
+}
+void TokenLexicalActions(Token matchedToken)
+{
+   switch(jjmatchedKind)
+   {
+      case 18 :
+        if (image == null)
+            image = new StringBuffer();
+            image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+                                 matchedToken.image = image.toString();
+         break;
+      case 31 :
+        if (image == null)
+            image = new StringBuffer();
+            image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+                                 matchedToken.image = image.substring(0, image.length() - 1);
+         break;
+      default : 
+         break;
+   }
+}
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/AddressListParserTreeConstants.java b/src/org/apache/james/mime4j/field/address/parser/AddressListParserTreeConstants.java
new file mode 100644
index 0000000..5987f19
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/AddressListParserTreeConstants.java
@@ -0,0 +1,35 @@
+/* Generated By:JJTree: Do not edit this line. /Users/jason/Projects/apache-mime4j-0.3/target/generated-sources/jjtree/org/apache/james/mime4j/field/address/parser/AddressListParserTreeConstants.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public interface AddressListParserTreeConstants
+{
+  public int JJTVOID = 0;
+  public int JJTADDRESS_LIST = 1;
+  public int JJTADDRESS = 2;
+  public int JJTMAILBOX = 3;
+  public int JJTNAME_ADDR = 4;
+  public int JJTGROUP_BODY = 5;
+  public int JJTANGLE_ADDR = 6;
+  public int JJTROUTE = 7;
+  public int JJTPHRASE = 8;
+  public int JJTADDR_SPEC = 9;
+  public int JJTLOCAL_PART = 10;
+  public int JJTDOMAIN = 11;
+
+
+  public String[] jjtNodeName = {
+    "void",
+    "address_list",
+    "address",
+    "mailbox",
+    "name_addr",
+    "group_body",
+    "angle_addr",
+    "route",
+    "phrase",
+    "addr_spec",
+    "local_part",
+    "domain",
+  };
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/AddressListParserVisitor.java b/src/org/apache/james/mime4j/field/address/parser/AddressListParserVisitor.java
new file mode 100644
index 0000000..8ec2fe7
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/AddressListParserVisitor.java
@@ -0,0 +1,19 @@
+/* Generated By:JJTree: Do not edit this line. /Users/jason/Projects/apache-mime4j-0.3/target/generated-sources/jjtree/org/apache/james/mime4j/field/address/parser/AddressListParserVisitor.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public interface AddressListParserVisitor
+{
+  public Object visit(SimpleNode node, Object data);
+  public Object visit(ASTaddress_list node, Object data);
+  public Object visit(ASTaddress node, Object data);
+  public Object visit(ASTmailbox node, Object data);
+  public Object visit(ASTname_addr node, Object data);
+  public Object visit(ASTgroup_body node, Object data);
+  public Object visit(ASTangle_addr node, Object data);
+  public Object visit(ASTroute node, Object data);
+  public Object visit(ASTphrase node, Object data);
+  public Object visit(ASTaddr_spec node, Object data);
+  public Object visit(ASTlocal_part node, Object data);
+  public Object visit(ASTdomain node, Object data);
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/BaseNode.java b/src/org/apache/james/mime4j/field/address/parser/BaseNode.java
new file mode 100644
index 0000000..7809746
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/BaseNode.java
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.address.parser;
+
+import org.apache.james.mime4j.field.address.parser.Node;
+import org.apache.james.mime4j.field.address.parser.Token;
+
+public abstract class BaseNode implements Node {
+  
+  public Token firstToken;
+  public Token lastToken;
+
+}
\ No newline at end of file
diff --git a/src/org/apache/james/mime4j/field/address/parser/JJTAddressListParserState.java b/src/org/apache/james/mime4j/field/address/parser/JJTAddressListParserState.java
new file mode 100644
index 0000000..08b5c5b
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/JJTAddressListParserState.java
@@ -0,0 +1,123 @@
+/* Generated By:JJTree: Do not edit this line. /Users/jason/Projects/apache-mime4j-0.3/target/generated-sources/jjtree/org/apache/james/mime4j/field/address/parser/JJTAddressListParserState.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+class JJTAddressListParserState {
+  private java.util.Stack<Node> nodes;
+  private java.util.Stack<Integer> marks;
+
+  private int sp;		// number of nodes on stack
+  private int mk;		// current mark
+  private boolean node_created;
+
+  JJTAddressListParserState() {
+    nodes = new java.util.Stack<Node>();
+    marks = new java.util.Stack<Integer>();
+    sp = 0;
+    mk = 0;
+  }
+
+  /* Determines whether the current node was actually closed and
+     pushed.  This should only be called in the final user action of a
+     node scope.  */
+  boolean nodeCreated() {
+    return node_created;
+  }
+
+  /* Call this to reinitialize the node stack.  It is called
+     automatically by the parser's ReInit() method. */
+  void reset() {
+    nodes.removeAllElements();
+    marks.removeAllElements();
+    sp = 0;
+    mk = 0;
+  }
+
+  /* Returns the root node of the AST.  It only makes sense to call
+     this after a successful parse. */
+  Node rootNode() {
+    return nodes.elementAt(0);
+  }
+
+  /* Pushes a node on to the stack. */
+  void pushNode(Node n) {
+    nodes.push(n);
+    ++sp;
+  }
+
+  /* Returns the node on the top of the stack, and remove it from the
+     stack.  */
+  Node popNode() {
+    if (--sp < mk) {
+      mk = marks.pop().intValue();
+    }
+    return nodes.pop();
+  }
+
+  /* Returns the node currently on the top of the stack. */
+  Node peekNode() {
+    return nodes.peek();
+  }
+
+  /* Returns the number of children on the stack in the current node
+     scope. */
+  int nodeArity() {
+    return sp - mk;
+  }
+
+
+  void clearNodeScope(Node n) {
+    while (sp > mk) {
+      popNode();
+    }
+    mk = marks.pop().intValue();
+  }
+
+
+  void openNodeScope(Node n) {
+    marks.push(new Integer(mk));
+    mk = sp;
+    n.jjtOpen();
+  }
+
+
+  /* A definite node is constructed from a specified number of
+     children.  That number of nodes are popped from the stack and
+     made the children of the definite node.  Then the definite node
+     is pushed on to the stack. */
+  void closeNodeScope(Node n, int num) {
+    mk = marks.pop().intValue();
+    while (num-- > 0) {
+      Node c = popNode();
+      c.jjtSetParent(n);
+      n.jjtAddChild(c, num);
+    }
+    n.jjtClose();
+    pushNode(n);
+    node_created = true;
+  }
+
+
+  /* A conditional node is constructed if its condition is true.  All
+     the nodes that have been pushed since the node was opened are
+     made children of the the conditional node, which is then pushed
+     on to the stack.  If the condition is false the node is not
+     constructed and they are left on the stack. */
+  void closeNodeScope(Node n, boolean condition) {
+    if (condition) {
+      int a = nodeArity();
+      mk = marks.pop().intValue();
+      while (a-- > 0) {
+	Node c = popNode();
+	c.jjtSetParent(n);
+	n.jjtAddChild(c, a);
+      }
+      n.jjtClose();
+      pushNode(n);
+      node_created = true;
+    } else {
+      mk = marks.pop().intValue();
+      node_created = false;
+    }
+  }
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/Node.java b/src/org/apache/james/mime4j/field/address/parser/Node.java
new file mode 100644
index 0000000..1588920
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/Node.java
@@ -0,0 +1,37 @@
+/* Generated By:JJTree: Do not edit this line. Node.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+/* All AST nodes must implement this interface.  It provides basic
+   machinery for constructing the parent and child relationships
+   between nodes. */
+
+public interface Node {
+
+  /** This method is called after the node has been made the current
+    node.  It indicates that child nodes can now be added to it. */
+  public void jjtOpen();
+
+  /** This method is called after all the child nodes have been
+    added. */
+  public void jjtClose();
+
+  /** This pair of methods are used to inform the node of its
+    parent. */
+  public void jjtSetParent(Node n);
+  public Node jjtGetParent();
+
+  /** This method tells the node to add its argument to the node's
+    list of children.  */
+  public void jjtAddChild(Node n, int i);
+
+  /** This method returns a child node.  The children are numbered
+     from zero, left to right. */
+  public Node jjtGetChild(int i);
+
+  /** Return the number of children the node has. */
+  public int jjtGetNumChildren();
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data);
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/ParseException.java b/src/org/apache/james/mime4j/field/address/parser/ParseException.java
new file mode 100644
index 0000000..e20146f
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/ParseException.java
@@ -0,0 +1,207 @@
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+/**
+ * This exception is thrown when parse errors are encountered.
+ * You can explicitly create objects of this exception type by
+ * calling the method generateParseException in the generated
+ * parser.
+ *
+ * You can modify this class to customize your error reporting
+ * mechanisms so long as you retain the public fields.
+ */
+public class ParseException extends Exception {
+
+  /**
+   * This constructor is used by the method "generateParseException"
+   * in the generated parser.  Calling this constructor generates
+   * a new object of this type with the fields "currentToken",
+   * "expectedTokenSequences", and "tokenImage" set.  The boolean
+   * flag "specialConstructor" is also set to true to indicate that
+   * this constructor was used to create this object.
+   * This constructor calls its super class with the empty string
+   * to force the "toString" method of parent class "Throwable" to
+   * print the error message in the form:
+   *     ParseException: <result of getMessage>
+   */
+  public ParseException(Token currentTokenVal,
+                        int[][] expectedTokenSequencesVal,
+                        String[] tokenImageVal
+                       )
+  {
+    super("");
+    specialConstructor = true;
+    currentToken = currentTokenVal;
+    expectedTokenSequences = expectedTokenSequencesVal;
+    tokenImage = tokenImageVal;
+  }
+
+  /**
+   * The following constructors are for use by you for whatever
+   * purpose you can think of.  Constructing the exception in this
+   * manner makes the exception behave in the normal way - i.e., as
+   * documented in the class "Throwable".  The fields "errorToken",
+   * "expectedTokenSequences", and "tokenImage" do not contain
+   * relevant information.  The JavaCC generated code does not use
+   * these constructors.
+   */
+
+  public ParseException() {
+    super();
+    specialConstructor = false;
+  }
+
+  public ParseException(String message) {
+    super(message);
+    specialConstructor = false;
+  }
+
+  /**
+   * This variable determines which constructor was used to create
+   * this object and thereby affects the semantics of the
+   * "getMessage" method (see below).
+   */
+  protected boolean specialConstructor;
+
+  /**
+   * This is the last token that has been consumed successfully.  If
+   * this object has been created due to a parse error, the token
+   * followng this token will (therefore) be the first error token.
+   */
+  public Token currentToken;
+
+  /**
+   * Each entry in this array is an array of integers.  Each array
+   * of integers represents a sequence of tokens (by their ordinal
+   * values) that is expected at this point of the parse.
+   */
+  public int[][] expectedTokenSequences;
+
+  /**
+   * This is a reference to the "tokenImage" array of the generated
+   * parser within which the parse error occurred.  This array is
+   * defined in the generated ...Constants interface.
+   */
+  public String[] tokenImage;
+
+  /**
+   * This method has the standard behavior when this object has been
+   * created using the standard constructors.  Otherwise, it uses
+   * "currentToken" and "expectedTokenSequences" to generate a parse
+   * error message and returns it.  If this object has been created
+   * due to a parse error, and you do not catch it (it gets thrown
+   * from the parser), then this method is called during the printing
+   * of the final stack trace, and hence the correct error message
+   * gets displayed.
+   */
+  public String getMessage() {
+    if (!specialConstructor) {
+      return super.getMessage();
+    }
+    StringBuffer expected = new StringBuffer();
+    int maxSize = 0;
+    for (int i = 0; i < expectedTokenSequences.length; i++) {
+      if (maxSize < expectedTokenSequences[i].length) {
+        maxSize = expectedTokenSequences[i].length;
+      }
+      for (int j = 0; j < expectedTokenSequences[i].length; j++) {
+        expected.append(tokenImage[expectedTokenSequences[i][j]]).append(" ");
+      }
+      if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
+        expected.append("...");
+      }
+      expected.append(eol).append("    ");
+    }
+    String retval = "Encountered \"";
+    Token tok = currentToken.next;
+    for (int i = 0; i < maxSize; i++) {
+      if (i != 0) retval += " ";
+      if (tok.kind == 0) {
+        retval += tokenImage[0];
+        break;
+      }
+      retval += add_escapes(tok.image);
+      tok = tok.next; 
+    }
+    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+    retval += "." + eol;
+    if (expectedTokenSequences.length == 1) {
+      retval += "Was expecting:" + eol + "    ";
+    } else {
+      retval += "Was expecting one of:" + eol + "    ";
+    }
+    retval += expected.toString();
+    return retval;
+  }
+
+  /**
+   * The end of line string for this machine.
+   */
+  protected String eol = System.getProperty("line.separator", "\n");
+ 
+  /**
+   * Used to convert raw characters to their escaped version
+   * when these raw version cannot be used as part of an ASCII
+   * string literal.
+   */
+  protected String add_escapes(String str) {
+      StringBuffer retval = new StringBuffer();
+      char ch;
+      for (int i = 0; i < str.length(); i++) {
+        switch (str.charAt(i))
+        {
+           case 0 :
+              continue;
+           case '\b':
+              retval.append("\\b");
+              continue;
+           case '\t':
+              retval.append("\\t");
+              continue;
+           case '\n':
+              retval.append("\\n");
+              continue;
+           case '\f':
+              retval.append("\\f");
+              continue;
+           case '\r':
+              retval.append("\\r");
+              continue;
+           case '\"':
+              retval.append("\\\"");
+              continue;
+           case '\'':
+              retval.append("\\\'");
+              continue;
+           case '\\':
+              retval.append("\\\\");
+              continue;
+           default:
+              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                 String s = "0000" + Integer.toString(ch, 16);
+                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+              } else {
+                 retval.append(ch);
+              }
+              continue;
+        }
+      }
+      return retval.toString();
+   }
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/SimpleCharStream.java b/src/org/apache/james/mime4j/field/address/parser/SimpleCharStream.java
new file mode 100644
index 0000000..c9ba0b4
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/SimpleCharStream.java
@@ -0,0 +1,454 @@
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+/**
+ * An implementation of interface CharStream, where the stream is assumed to
+ * contain only ASCII characters (without unicode processing).
+ */
+
+public class SimpleCharStream
+{
+  public static final boolean staticFlag = false;
+  int bufsize;
+  int available;
+  int tokenBegin;
+  public int bufpos = -1;
+  protected int bufline[];
+  protected int bufcolumn[];
+
+  protected int column = 0;
+  protected int line = 1;
+
+  protected boolean prevCharIsCR = false;
+  protected boolean prevCharIsLF = false;
+
+  protected java.io.Reader inputStream;
+
+  protected char[] buffer;
+  protected int maxNextCharInd = 0;
+  protected int inBuf = 0;
+  protected int tabSize = 8;
+
+  protected void setTabSize(int i) { tabSize = i; }
+  protected int getTabSize(int i) { return tabSize; }
+
+
+  protected void ExpandBuff(boolean wrapAround)
+  {
+     char[] newbuffer = new char[bufsize + 2048];
+     int newbufline[] = new int[bufsize + 2048];
+     int newbufcolumn[] = new int[bufsize + 2048];
+
+     try
+     {
+        if (wrapAround)
+        {
+           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+           System.arraycopy(buffer, 0, newbuffer,
+                                             bufsize - tokenBegin, bufpos);
+           buffer = newbuffer;
+
+           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+           System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
+           bufline = newbufline;
+
+           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+           System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
+           bufcolumn = newbufcolumn;
+
+           maxNextCharInd = (bufpos += (bufsize - tokenBegin));
+        }
+        else
+        {
+           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+           buffer = newbuffer;
+
+           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+           bufline = newbufline;
+
+           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+           bufcolumn = newbufcolumn;
+
+           maxNextCharInd = (bufpos -= tokenBegin);
+        }
+     }
+     catch (Throwable t)
+     {
+        throw new Error(t.getMessage());
+     }
+
+
+     bufsize += 2048;
+     available = bufsize;
+     tokenBegin = 0;
+  }
+
+  protected void FillBuff() throws java.io.IOException
+  {
+     if (maxNextCharInd == available)
+     {
+        if (available == bufsize)
+        {
+           if (tokenBegin > 2048)
+           {
+              bufpos = maxNextCharInd = 0;
+              available = tokenBegin;
+           }
+           else if (tokenBegin < 0)
+              bufpos = maxNextCharInd = 0;
+           else
+              ExpandBuff(false);
+        }
+        else if (available > tokenBegin)
+           available = bufsize;
+        else if ((tokenBegin - available) < 2048)
+           ExpandBuff(true);
+        else
+           available = tokenBegin;
+     }
+
+     int i;
+     try {
+        if ((i = inputStream.read(buffer, maxNextCharInd,
+                                    available - maxNextCharInd)) == -1)
+        {
+           inputStream.close();
+           throw new java.io.IOException();
+        }
+        else
+           maxNextCharInd += i;
+        return;
+     }
+     catch(java.io.IOException e) {
+        --bufpos;
+        backup(0);
+        if (tokenBegin == -1)
+           tokenBegin = bufpos;
+        throw e;
+     }
+  }
+
+  public char BeginToken() throws java.io.IOException
+  {
+     tokenBegin = -1;
+     char c = readChar();
+     tokenBegin = bufpos;
+
+     return c;
+  }
+
+  protected void UpdateLineColumn(char c)
+  {
+     column++;
+
+     if (prevCharIsLF)
+     {
+        prevCharIsLF = false;
+        line += (column = 1);
+     }
+     else if (prevCharIsCR)
+     {
+        prevCharIsCR = false;
+        if (c == '\n')
+        {
+           prevCharIsLF = true;
+        }
+        else
+           line += (column = 1);
+     }
+
+     switch (c)
+     {
+        case '\r' :
+           prevCharIsCR = true;
+           break;
+        case '\n' :
+           prevCharIsLF = true;
+           break;
+        case '\t' :
+           column--;
+           column += (tabSize - (column % tabSize));
+           break;
+        default :
+           break;
+     }
+
+     bufline[bufpos] = line;
+     bufcolumn[bufpos] = column;
+  }
+
+  public char readChar() throws java.io.IOException
+  {
+     if (inBuf > 0)
+     {
+        --inBuf;
+
+        if (++bufpos == bufsize)
+           bufpos = 0;
+
+        return buffer[bufpos];
+     }
+
+     if (++bufpos >= maxNextCharInd)
+        FillBuff();
+
+     char c = buffer[bufpos];
+
+     UpdateLineColumn(c);
+     return (c);
+  }
+
+  /**
+   * @deprecated 
+   * @see #getEndColumn
+   */
+  @Deprecated
+  public int getColumn() {
+     return bufcolumn[bufpos];
+  }
+
+  /**
+   * @deprecated 
+   * @see #getEndLine
+   */
+  @Deprecated
+  public int getLine() {
+     return bufline[bufpos];
+  }
+
+  public int getEndColumn() {
+     return bufcolumn[bufpos];
+  }
+
+  public int getEndLine() {
+     return bufline[bufpos];
+  }
+
+  public int getBeginColumn() {
+     return bufcolumn[tokenBegin];
+  }
+
+  public int getBeginLine() {
+     return bufline[tokenBegin];
+  }
+
+  public void backup(int amount) {
+
+    inBuf += amount;
+    if ((bufpos -= amount) < 0)
+       bufpos += bufsize;
+  }
+
+  public SimpleCharStream(java.io.Reader dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+    inputStream = dstream;
+    line = startline;
+    column = startcolumn - 1;
+
+    available = bufsize = buffersize;
+    buffer = new char[buffersize];
+    bufline = new int[buffersize];
+    bufcolumn = new int[buffersize];
+  }
+
+  public SimpleCharStream(java.io.Reader dstream, int startline,
+                          int startcolumn)
+  {
+     this(dstream, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.Reader dstream)
+  {
+     this(dstream, 1, 1, 4096);
+  }
+  public void ReInit(java.io.Reader dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+    inputStream = dstream;
+    line = startline;
+    column = startcolumn - 1;
+
+    if (buffer == null || buffersize != buffer.length)
+    {
+      available = bufsize = buffersize;
+      buffer = new char[buffersize];
+      bufline = new int[buffersize];
+      bufcolumn = new int[buffersize];
+    }
+    prevCharIsLF = prevCharIsCR = false;
+    tokenBegin = inBuf = maxNextCharInd = 0;
+    bufpos = -1;
+  }
+
+  public void ReInit(java.io.Reader dstream, int startline,
+                     int startcolumn)
+  {
+     ReInit(dstream, startline, startcolumn, 4096);
+  }
+
+  public void ReInit(java.io.Reader dstream)
+  {
+     ReInit(dstream, 1, 1, 4096);
+  }
+  public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
+  int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
+  {
+     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+     this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn) throws java.io.UnsupportedEncodingException
+  {
+     this(dstream, encoding, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, int startline,
+                          int startcolumn)
+  {
+     this(dstream, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
+  {
+     this(dstream, encoding, 1, 1, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream)
+  {
+     this(dstream, 1, 1, 4096);
+  }
+
+  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+  }
+
+  public void ReInit(java.io.InputStream dstream, int startline,
+                          int startcolumn, int buffersize)
+  {
+     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+  }
+
+  public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(dstream, encoding, 1, 1, 4096);
+  }
+
+  public void ReInit(java.io.InputStream dstream)
+  {
+     ReInit(dstream, 1, 1, 4096);
+  }
+  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                     int startcolumn) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(dstream, encoding, startline, startcolumn, 4096);
+  }
+  public void ReInit(java.io.InputStream dstream, int startline,
+                     int startcolumn)
+  {
+     ReInit(dstream, startline, startcolumn, 4096);
+  }
+  public String GetImage()
+  {
+     if (bufpos >= tokenBegin)
+        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
+     else
+        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
+                              new String(buffer, 0, bufpos + 1);
+  }
+
+  public char[] GetSuffix(int len)
+  {
+     char[] ret = new char[len];
+
+     if ((bufpos + 1) >= len)
+        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
+     else
+     {
+        System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
+                                                          len - bufpos - 1);
+        System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
+     }
+
+     return ret;
+  }
+
+  public void Done()
+  {
+     buffer = null;
+     bufline = null;
+     bufcolumn = null;
+  }
+
+  /**
+   * Method to adjust line and column numbers for the start of a token.
+   */
+  public void adjustBeginLineColumn(int newLine, int newCol)
+  {
+     int start = tokenBegin;
+     int len;
+
+     if (bufpos >= tokenBegin)
+     {
+        len = bufpos - tokenBegin + inBuf + 1;
+     }
+     else
+     {
+        len = bufsize - tokenBegin + bufpos + 1 + inBuf;
+     }
+
+     int i = 0, j = 0, k = 0;
+     int nextColDiff = 0, columnDiff = 0;
+
+     while (i < len &&
+            bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
+     {
+        bufline[j] = newLine;
+        nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
+        bufcolumn[j] = newCol + columnDiff;
+        columnDiff = nextColDiff;
+        i++;
+     } 
+
+     if (i < len)
+     {
+        bufline[j] = newLine++;
+        bufcolumn[j] = newCol + columnDiff;
+
+        while (i++ < len)
+        {
+           if (bufline[j = start % bufsize] != bufline[++start % bufsize])
+              bufline[j] = newLine++;
+           else
+              bufline[j] = newLine;
+        }
+     }
+
+     line = bufline[j];
+     column = bufcolumn[j];
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/SimpleNode.java b/src/org/apache/james/mime4j/field/address/parser/SimpleNode.java
new file mode 100644
index 0000000..9bf537e
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/SimpleNode.java
@@ -0,0 +1,87 @@
+/* Generated By:JJTree: Do not edit this line. SimpleNode.java */
+
+package org.apache.james.mime4j.field.address.parser;
+
+public class SimpleNode extends org.apache.james.mime4j.field.address.parser.BaseNode implements Node {
+  protected Node parent;
+  protected Node[] children;
+  protected int id;
+  protected AddressListParser parser;
+
+  public SimpleNode(int i) {
+    id = i;
+  }
+
+  public SimpleNode(AddressListParser p, int i) {
+    this(i);
+    parser = p;
+  }
+
+  public void jjtOpen() {
+  }
+
+  public void jjtClose() {
+  }
+  
+  public void jjtSetParent(Node n) { parent = n; }
+  public Node jjtGetParent() { return parent; }
+
+  public void jjtAddChild(Node n, int i) {
+    if (children == null) {
+      children = new Node[i + 1];
+    } else if (i >= children.length) {
+      Node c[] = new Node[i + 1];
+      System.arraycopy(children, 0, c, 0, children.length);
+      children = c;
+    }
+    children[i] = n;
+  }
+
+  public Node jjtGetChild(int i) {
+    return children[i];
+  }
+
+  public int jjtGetNumChildren() {
+    return (children == null) ? 0 : children.length;
+  }
+
+  /** Accept the visitor. **/
+  public Object jjtAccept(AddressListParserVisitor visitor, Object data) {
+    return visitor.visit(this, data);
+  }
+
+  /** Accept the visitor. **/
+  public Object childrenAccept(AddressListParserVisitor visitor, Object data) {
+    if (children != null) {
+      for (int i = 0; i < children.length; ++i) {
+        children[i].jjtAccept(visitor, data);
+      }
+    }
+    return data;
+  }
+
+  /* You can override these two methods in subclasses of SimpleNode to
+     customize the way the node appears when the tree is dumped.  If
+     your output uses more than one line you should override
+     toString(String), otherwise overriding toString() is probably all
+     you need to do. */
+
+  public String toString() { return AddressListParserTreeConstants.jjtNodeName[id]; }
+  public String toString(String prefix) { return prefix + toString(); }
+
+  /* Override this method if you want to customize how the node dumps
+     out its children. */
+
+  public void dump(String prefix) {
+    System.out.println(toString(prefix));
+    if (children != null) {
+      for (int i = 0; i < children.length; ++i) {
+	SimpleNode n = (SimpleNode)children[i];
+	if (n != null) {
+	  n.dump(prefix + " ");
+	}
+      }
+    }
+  }
+}
+
diff --git a/src/org/apache/james/mime4j/field/address/parser/Token.java b/src/org/apache/james/mime4j/field/address/parser/Token.java
new file mode 100644
index 0000000..2382e8e
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/Token.java
@@ -0,0 +1,96 @@
+/* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+/**
+ * Describes the input token stream.
+ */
+
+public class Token {
+
+  /**
+   * An integer that describes the kind of this token.  This numbering
+   * system is determined by JavaCCParser, and a table of these numbers is
+   * stored in the file ...Constants.java.
+   */
+  public int kind;
+
+  /**
+   * beginLine and beginColumn describe the position of the first character
+   * of this token; endLine and endColumn describe the position of the
+   * last character of this token.
+   */
+  public int beginLine, beginColumn, endLine, endColumn;
+
+  /**
+   * The string image of the token.
+   */
+  public String image;
+
+  /**
+   * A reference to the next regular (non-special) token from the input
+   * stream.  If this is the last token from the input stream, or if the
+   * token manager has not read tokens beyond this one, this field is
+   * set to null.  This is true only if this token is also a regular
+   * token.  Otherwise, see below for a description of the contents of
+   * this field.
+   */
+  public Token next;
+
+  /**
+   * This field is used to access special tokens that occur prior to this
+   * token, but after the immediately preceding regular (non-special) token.
+   * If there are no such special tokens, this field is set to null.
+   * When there are more than one such special token, this field refers
+   * to the last of these special tokens, which in turn refers to the next
+   * previous special token through its specialToken field, and so on
+   * until the first special token (whose specialToken field is null).
+   * The next fields of special tokens refer to other special tokens that
+   * immediately follow it (without an intervening regular token).  If there
+   * is no such token, this field is null.
+   */
+  public Token specialToken;
+
+  /**
+   * Returns the image.
+   */
+  public String toString()
+  {
+     return image;
+  }
+
+  /**
+   * Returns a new Token object, by default. However, if you want, you
+   * can create and return subclass objects based on the value of ofKind.
+   * Simply add the cases to the switch for all those special cases.
+   * For example, if you have a subclass of Token called IDToken that
+   * you want to create if ofKind is ID, simlpy add something like :
+   *
+   *    case MyParserConstants.ID : return new IDToken();
+   *
+   * to the following switch statement. Then you can cast matchedToken
+   * variable to the appropriate type and use it in your lexical actions.
+   */
+  public static final Token newToken(int ofKind)
+  {
+     switch(ofKind)
+     {
+       default : return new Token();
+     }
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/address/parser/TokenMgrError.java b/src/org/apache/james/mime4j/field/address/parser/TokenMgrError.java
new file mode 100644
index 0000000..0299c85
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/address/parser/TokenMgrError.java
@@ -0,0 +1,148 @@
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.address.parser;
+
+public class TokenMgrError extends Error
+{
+   /*
+    * Ordinals for various reasons why an Error of this type can be thrown.
+    */
+
+   /**
+    * Lexical error occured.
+    */
+   static final int LEXICAL_ERROR = 0;
+
+   /**
+    * An attempt wass made to create a second instance of a static token manager.
+    */
+   static final int STATIC_LEXER_ERROR = 1;
+
+   /**
+    * Tried to change to an invalid lexical state.
+    */
+   static final int INVALID_LEXICAL_STATE = 2;
+
+   /**
+    * Detected (and bailed out of) an infinite loop in the token manager.
+    */
+   static final int LOOP_DETECTED = 3;
+
+   /**
+    * Indicates the reason why the exception is thrown. It will have
+    * one of the above 4 values.
+    */
+   int errorCode;
+
+   /**
+    * Replaces unprintable characters by their espaced (or unicode escaped)
+    * equivalents in the given string
+    */
+   protected static final String addEscapes(String str) {
+      StringBuffer retval = new StringBuffer();
+      char ch;
+      for (int i = 0; i < str.length(); i++) {
+        switch (str.charAt(i))
+        {
+           case 0 :
+              continue;
+           case '\b':
+              retval.append("\\b");
+              continue;
+           case '\t':
+              retval.append("\\t");
+              continue;
+           case '\n':
+              retval.append("\\n");
+              continue;
+           case '\f':
+              retval.append("\\f");
+              continue;
+           case '\r':
+              retval.append("\\r");
+              continue;
+           case '\"':
+              retval.append("\\\"");
+              continue;
+           case '\'':
+              retval.append("\\\'");
+              continue;
+           case '\\':
+              retval.append("\\\\");
+              continue;
+           default:
+              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                 String s = "0000" + Integer.toString(ch, 16);
+                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+              } else {
+                 retval.append(ch);
+              }
+              continue;
+        }
+      }
+      return retval.toString();
+   }
+
+   /**
+    * Returns a detailed message for the Error when it is thrown by the
+    * token manager to indicate a lexical error.
+    * Parameters : 
+    *    EOFSeen     : indicates if EOF caused the lexicl error
+    *    curLexState : lexical state in which this error occured
+    *    errorLine   : line number when the error occured
+    *    errorColumn : column number when the error occured
+    *    errorAfter  : prefix that was seen before this error occured
+    *    curchar     : the offending character
+    * Note: You can customize the lexical error message by modifying this method.
+    */
+   protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
+      return("Lexical error at line " +
+           errorLine + ", column " +
+           errorColumn + ".  Encountered: " +
+           (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
+           "after : \"" + addEscapes(errorAfter) + "\"");
+   }
+
+   /**
+    * You can also modify the body of this method to customize your error messages.
+    * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
+    * of end-users concern, so you can return something like : 
+    *
+    *     "Internal Error : Please file a bug report .... "
+    *
+    * from this method for such cases in the release version of your parser.
+    */
+   public String getMessage() {
+      return super.getMessage();
+   }
+
+   /*
+    * Constructors of various flavors follow.
+    */
+
+   public TokenMgrError() {
+   }
+
+   public TokenMgrError(String message, int reason) {
+      super(message);
+      errorCode = reason;
+   }
+
+   public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
+      this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
+   }
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParser.java b/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParser.java
new file mode 100644
index 0000000..cacf3af
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParser.java
@@ -0,0 +1,268 @@
+/* Generated By:JavaCC: Do not edit this line. ContentTypeParser.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+
+import java.util.ArrayList;
+import java.util.Vector;
+
+public class ContentTypeParser implements ContentTypeParserConstants {
+
+        private String type;
+        private String subtype;
+        private ArrayList<String> paramNames = new ArrayList<String>();
+        private ArrayList<String> paramValues = new ArrayList<String>();
+
+        public String getType() { return type; }
+        public String getSubType() { return subtype; }
+        public ArrayList<String> getParamNames() { return paramNames; }
+        public ArrayList<String> getParamValues() { return paramValues; }
+
+    public static void main(String args[]) throws ParseException {
+        while (true) {
+            try {
+                ContentTypeParser parser = new ContentTypeParser(System.in);
+                parser.parseLine();
+            } catch (Exception x) {
+                x.printStackTrace();
+                return;
+            }
+        }
+    }
+
+  final public void parseLine() throws ParseException {
+    parse();
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 1:
+      jj_consume_token(1);
+      break;
+    default:
+      jj_la1[0] = jj_gen;
+      ;
+    }
+    jj_consume_token(2);
+  }
+
+  final public void parseAll() throws ParseException {
+    parse();
+    jj_consume_token(0);
+  }
+
+  final public void parse() throws ParseException {
+        Token type;
+        Token subtype;
+    type = jj_consume_token(ATOKEN);
+    jj_consume_token(3);
+    subtype = jj_consume_token(ATOKEN);
+                this.type = type.image;
+                this.subtype = subtype.image;
+    label_1:
+    while (true) {
+      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+      case 4:
+        ;
+        break;
+      default:
+        jj_la1[1] = jj_gen;
+        break label_1;
+      }
+      jj_consume_token(4);
+      parameter();
+    }
+  }
+
+  final public void parameter() throws ParseException {
+        Token attrib;
+        String val;
+    attrib = jj_consume_token(ATOKEN);
+    jj_consume_token(5);
+    val = value();
+                paramNames.add(attrib.image);
+                paramValues.add(val);
+  }
+
+  final public String value() throws ParseException {
+ Token t;
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case ATOKEN:
+      t = jj_consume_token(ATOKEN);
+      break;
+    case QUOTEDSTRING:
+      t = jj_consume_token(QUOTEDSTRING);
+      break;
+    default:
+      jj_la1[2] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+          {if (true) return t.image;}
+    throw new Error("Missing return statement in function");
+  }
+
+  public ContentTypeParserTokenManager token_source;
+  SimpleCharStream jj_input_stream;
+  public Token token, jj_nt;
+  private int jj_ntk;
+  private int jj_gen;
+  final private int[] jj_la1 = new int[3];
+  static private int[] jj_la1_0;
+  static {
+      jj_la1_0();
+   }
+   private static void jj_la1_0() {
+      jj_la1_0 = new int[] {0x2,0x10,0x280000,};
+   }
+
+  public ContentTypeParser(java.io.InputStream stream) {
+     this(stream, null);
+  }
+  public ContentTypeParser(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source = new ContentTypeParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 3; i++) jj_la1[i] = -1;
+  }
+
+  public void ReInit(java.io.InputStream stream) {
+     ReInit(stream, null);
+  }
+  public void ReInit(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 3; i++) jj_la1[i] = -1;
+  }
+
+  public ContentTypeParser(java.io.Reader stream) {
+    jj_input_stream = new SimpleCharStream(stream, 1, 1);
+    token_source = new ContentTypeParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 3; i++) jj_la1[i] = -1;
+  }
+
+  public void ReInit(java.io.Reader stream) {
+    jj_input_stream.ReInit(stream, 1, 1);
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 3; i++) jj_la1[i] = -1;
+  }
+
+  public ContentTypeParser(ContentTypeParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 3; i++) jj_la1[i] = -1;
+  }
+
+  public void ReInit(ContentTypeParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 3; i++) jj_la1[i] = -1;
+  }
+
+  final private Token jj_consume_token(int kind) throws ParseException {
+    Token oldToken;
+    if ((oldToken = token).next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    if (token.kind == kind) {
+      jj_gen++;
+      return token;
+    }
+    token = oldToken;
+    jj_kind = kind;
+    throw generateParseException();
+  }
+
+  final public Token getNextToken() {
+    if (token.next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    jj_gen++;
+    return token;
+  }
+
+  final public Token getToken(int index) {
+    Token t = token;
+    for (int i = 0; i < index; i++) {
+      if (t.next != null) t = t.next;
+      else t = t.next = token_source.getNextToken();
+    }
+    return t;
+  }
+
+  final private int jj_ntk() {
+    if ((jj_nt=token.next) == null)
+      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+    else
+      return (jj_ntk = jj_nt.kind);
+  }
+
+  private Vector<int[]> jj_expentries = new Vector<int[]>();
+  private int[] jj_expentry;
+  private int jj_kind = -1;
+
+  public ParseException generateParseException() {
+    jj_expentries.removeAllElements();
+    boolean[] la1tokens = new boolean[24];
+    for (int i = 0; i < 24; i++) {
+      la1tokens[i] = false;
+    }
+    if (jj_kind >= 0) {
+      la1tokens[jj_kind] = true;
+      jj_kind = -1;
+    }
+    for (int i = 0; i < 3; i++) {
+      if (jj_la1[i] == jj_gen) {
+        for (int j = 0; j < 32; j++) {
+          if ((jj_la1_0[i] & (1<<j)) != 0) {
+            la1tokens[j] = true;
+          }
+        }
+      }
+    }
+    for (int i = 0; i < 24; i++) {
+      if (la1tokens[i]) {
+        jj_expentry = new int[1];
+        jj_expentry[0] = i;
+        jj_expentries.addElement(jj_expentry);
+      }
+    }
+    int[][] exptokseq = new int[jj_expentries.size()][];
+    for (int i = 0; i < jj_expentries.size(); i++) {
+      exptokseq[i] = jj_expentries.elementAt(i);
+    }
+    return new ParseException(token, exptokseq, tokenImage);
+  }
+
+  final public void enable_tracing() {
+  }
+
+  final public void disable_tracing() {
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParserConstants.java b/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParserConstants.java
new file mode 100644
index 0000000..d933d80
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParserConstants.java
@@ -0,0 +1,62 @@
+/* Generated By:JavaCC: Do not edit this line. ContentTypeParserConstants.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+
+public interface ContentTypeParserConstants {
+
+  int EOF = 0;
+  int WS = 6;
+  int COMMENT = 8;
+  int QUOTEDSTRING = 19;
+  int DIGITS = 20;
+  int ATOKEN = 21;
+  int QUOTEDPAIR = 22;
+  int ANY = 23;
+
+  int DEFAULT = 0;
+  int INCOMMENT = 1;
+  int NESTED_COMMENT = 2;
+  int INQUOTEDSTRING = 3;
+
+  String[] tokenImage = {
+    "<EOF>",
+    "\"\\r\"",
+    "\"\\n\"",
+    "\"/\"",
+    "\";\"",
+    "\"=\"",
+    "<WS>",
+    "\"(\"",
+    "\")\"",
+    "<token of kind 9>",
+    "\"(\"",
+    "<token of kind 11>",
+    "<token of kind 12>",
+    "\"(\"",
+    "\")\"",
+    "<token of kind 15>",
+    "\"\\\"\"",
+    "<token of kind 17>",
+    "<token of kind 18>",
+    "\"\\\"\"",
+    "<DIGITS>",
+    "<ATOKEN>",
+    "<QUOTEDPAIR>",
+    "<ANY>",
+  };
+
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParserTokenManager.java b/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParserTokenManager.java
new file mode 100644
index 0000000..25b7aba
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/ContentTypeParserTokenManager.java
@@ -0,0 +1,877 @@
+/* Generated By:JavaCC: Do not edit this line. ContentTypeParserTokenManager.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+import java.util.ArrayList;
+
+public class ContentTypeParserTokenManager implements ContentTypeParserConstants
+{
+        // Keeps track of how many levels of comment nesting
+        // we've encountered.  This is only used when the 2nd
+        // level is reached, for example ((this)), not (this).
+        // This is because the outermost level must be treated
+        // specially anyway, because the outermost ")" has a
+        // different token type than inner ")" instances.
+        static int commentNest;
+  public  java.io.PrintStream debugStream = System.out;
+  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+private final int jjStopStringLiteralDfa_0(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_0(int pos, long active0)
+{
+   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+}
+private final int jjStopAtPos(int pos, int kind)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   return pos + 1;
+}
+private final int jjStartNfaWithStates_0(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_0(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_0()
+{
+   switch(curChar)
+   {
+      case 10:
+         return jjStartNfaWithStates_0(0, 2, 2);
+      case 13:
+         return jjStartNfaWithStates_0(0, 1, 2);
+      case 34:
+         return jjStopAtPos(0, 16);
+      case 40:
+         return jjStopAtPos(0, 7);
+      case 47:
+         return jjStopAtPos(0, 3);
+      case 59:
+         return jjStopAtPos(0, 4);
+      case 61:
+         return jjStopAtPos(0, 5);
+      default :
+         return jjMoveNfa_0(3, 0);
+   }
+}
+private final void jjCheckNAdd(int state)
+{
+   if (jjrounds[state] != jjround)
+   {
+      jjstateSet[jjnewStateCnt++] = state;
+      jjrounds[state] = jjround;
+   }
+}
+private final void jjAddStates(int start, int end)
+{
+   do {
+      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+   } while (start++ != end);
+}
+private final void jjCheckNAddTwoStates(int state1, int state2)
+{
+   jjCheckNAdd(state1);
+   jjCheckNAdd(state2);
+}
+private final void jjCheckNAddStates(int start, int end)
+{
+   do {
+      jjCheckNAdd(jjnextStates[start]);
+   } while (start++ != end);
+}
+private final void jjCheckNAddStates(int start)
+{
+   jjCheckNAdd(jjnextStates[start]);
+   jjCheckNAdd(jjnextStates[start + 1]);
+}
+static final long[] jjbitVec0 = {
+   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+};
+private final int jjMoveNfa_0(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 3:
+                  if ((0x3ff6cfafffffdffL & l) != 0L)
+                  {
+                     if (kind > 21)
+                        kind = 21;
+                     jjCheckNAdd(2);
+                  }
+                  else if ((0x100000200L & l) != 0L)
+                  {
+                     if (kind > 6)
+                        kind = 6;
+                     jjCheckNAdd(0);
+                  }
+                  if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 20)
+                        kind = 20;
+                     jjCheckNAdd(1);
+                  }
+                  break;
+               case 0:
+                  if ((0x100000200L & l) == 0L)
+                     break;
+                  kind = 6;
+                  jjCheckNAdd(0);
+                  break;
+               case 1:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  if (kind > 20)
+                     kind = 20;
+                  jjCheckNAdd(1);
+                  break;
+               case 2:
+                  if ((0x3ff6cfafffffdffL & l) == 0L)
+                     break;
+                  if (kind > 21)
+                     kind = 21;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 3:
+               case 2:
+                  if ((0xffffffffc7fffffeL & l) == 0L)
+                     break;
+                  kind = 21;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 3:
+               case 2:
+                  if ((jjbitVec0[i2] & l2) == 0L)
+                     break;
+                  if (kind > 21)
+                     kind = 21;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_1(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_1(int pos, long active0)
+{
+   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_1(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_1(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_1()
+{
+   switch(curChar)
+   {
+      case 40:
+         return jjStopAtPos(0, 10);
+      case 41:
+         return jjStopAtPos(0, 8);
+      default :
+         return jjMoveNfa_1(0, 0);
+   }
+}
+private final int jjMoveNfa_1(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 11)
+                     kind = 11;
+                  break;
+               case 1:
+                  if (kind > 9)
+                     kind = 9;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 11)
+                     kind = 11;
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 9)
+                     kind = 9;
+                  break;
+               case 2:
+                  if (kind > 11)
+                     kind = 11;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 11)
+                     kind = 11;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 9)
+                     kind = 9;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_3(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_3(int pos, long active0)
+{
+   return jjMoveNfa_3(jjStopStringLiteralDfa_3(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_3(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_3(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_3()
+{
+   switch(curChar)
+   {
+      case 34:
+         return jjStopAtPos(0, 19);
+      default :
+         return jjMoveNfa_3(0, 0);
+   }
+}
+private final int jjMoveNfa_3(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+               case 2:
+                  if ((0xfffffffbffffffffL & l) == 0L)
+                     break;
+                  if (kind > 18)
+                     kind = 18;
+                  jjCheckNAdd(2);
+                  break;
+               case 1:
+                  if (kind > 17)
+                     kind = 17;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0xffffffffefffffffL & l) != 0L)
+                  {
+                     if (kind > 18)
+                        kind = 18;
+                     jjCheckNAdd(2);
+                  }
+                  else if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 17)
+                     kind = 17;
+                  break;
+               case 2:
+                  if ((0xffffffffefffffffL & l) == 0L)
+                     break;
+                  if (kind > 18)
+                     kind = 18;
+                  jjCheckNAdd(2);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+               case 2:
+                  if ((jjbitVec0[i2] & l2) == 0L)
+                     break;
+                  if (kind > 18)
+                     kind = 18;
+                  jjCheckNAdd(2);
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 17)
+                     kind = 17;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_2(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_2(int pos, long active0)
+{
+   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_2(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_2(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_2()
+{
+   switch(curChar)
+   {
+      case 40:
+         return jjStopAtPos(0, 13);
+      case 41:
+         return jjStopAtPos(0, 14);
+      default :
+         return jjMoveNfa_2(0, 0);
+   }
+}
+private final int jjMoveNfa_2(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 15)
+                     kind = 15;
+                  break;
+               case 1:
+                  if (kind > 12)
+                     kind = 12;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 15)
+                     kind = 15;
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 12)
+                     kind = 12;
+                  break;
+               case 2:
+                  if (kind > 15)
+                     kind = 15;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 15)
+                     kind = 15;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 12)
+                     kind = 12;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+static final int[] jjnextStates = {
+};
+public static final String[] jjstrLiteralImages = {
+"", "\15", "\12", "\57", "\73", "\75", null, null, null, null, null, null, 
+null, null, null, null, null, null, null, null, null, null, null, null, };
+public static final String[] lexStateNames = {
+   "DEFAULT", 
+   "INCOMMENT", 
+   "NESTED_COMMENT", 
+   "INQUOTEDSTRING", 
+};
+public static final int[] jjnewLexState = {
+   -1, -1, -1, -1, -1, -1, -1, 1, 0, -1, 2, -1, -1, -1, -1, -1, 3, -1, -1, 0, -1, -1, -1, -1, 
+};
+static final long[] jjtoToken = {
+   0x38003fL, 
+};
+static final long[] jjtoSkip = {
+   0x140L, 
+};
+static final long[] jjtoSpecial = {
+   0x40L, 
+};
+static final long[] jjtoMore = {
+   0x7fe80L, 
+};
+protected SimpleCharStream input_stream;
+private final int[] jjrounds = new int[3];
+private final int[] jjstateSet = new int[6];
+StringBuffer image;
+int jjimageLen;
+int lengthOfMatch;
+protected char curChar;
+public ContentTypeParserTokenManager(SimpleCharStream stream){
+   if (SimpleCharStream.staticFlag)
+      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+   input_stream = stream;
+}
+public ContentTypeParserTokenManager(SimpleCharStream stream, int lexState){
+   this(stream);
+   SwitchTo(lexState);
+}
+public void ReInit(SimpleCharStream stream)
+{
+   jjmatchedPos = jjnewStateCnt = 0;
+   curLexState = defaultLexState;
+   input_stream = stream;
+   ReInitRounds();
+}
+private final void ReInitRounds()
+{
+   int i;
+   jjround = 0x80000001;
+   for (i = 3; i-- > 0;)
+      jjrounds[i] = 0x80000000;
+}
+public void ReInit(SimpleCharStream stream, int lexState)
+{
+   ReInit(stream);
+   SwitchTo(lexState);
+}
+public void SwitchTo(int lexState)
+{
+   if (lexState >= 4 || lexState < 0)
+      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+   else
+      curLexState = lexState;
+}
+
+protected Token jjFillToken()
+{
+   Token t = Token.newToken(jjmatchedKind);
+   t.kind = jjmatchedKind;
+   String im = jjstrLiteralImages[jjmatchedKind];
+   t.image = (im == null) ? input_stream.GetImage() : im;
+   t.beginLine = input_stream.getBeginLine();
+   t.beginColumn = input_stream.getBeginColumn();
+   t.endLine = input_stream.getEndLine();
+   t.endColumn = input_stream.getEndColumn();
+   return t;
+}
+
+int curLexState = 0;
+int defaultLexState = 0;
+int jjnewStateCnt;
+int jjround;
+int jjmatchedPos;
+int jjmatchedKind;
+
+public Token getNextToken() 
+{
+  int kind;
+  Token specialToken = null;
+  Token matchedToken;
+  int curPos = 0;
+
+  EOFLoop :
+  for (;;)
+  {   
+   try   
+   {     
+      curChar = input_stream.BeginToken();
+   }     
+   catch(java.io.IOException e)
+   {        
+      jjmatchedKind = 0;
+      matchedToken = jjFillToken();
+      matchedToken.specialToken = specialToken;
+      return matchedToken;
+   }
+   image = null;
+   jjimageLen = 0;
+
+   for (;;)
+   {
+     switch(curLexState)
+     {
+       case 0:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_0();
+         break;
+       case 1:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_1();
+         break;
+       case 2:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_2();
+         break;
+       case 3:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_3();
+         break;
+     }
+     if (jjmatchedKind != 0x7fffffff)
+     {
+        if (jjmatchedPos + 1 < curPos)
+           input_stream.backup(curPos - jjmatchedPos - 1);
+        if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+        {
+           matchedToken = jjFillToken();
+           matchedToken.specialToken = specialToken;
+           TokenLexicalActions(matchedToken);
+       if (jjnewLexState[jjmatchedKind] != -1)
+         curLexState = jjnewLexState[jjmatchedKind];
+           return matchedToken;
+        }
+        else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+        {
+           if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+           {
+              matchedToken = jjFillToken();
+              if (specialToken == null)
+                 specialToken = matchedToken;
+              else
+              {
+                 matchedToken.specialToken = specialToken;
+                 specialToken = (specialToken.next = matchedToken);
+              }
+           }
+         if (jjnewLexState[jjmatchedKind] != -1)
+           curLexState = jjnewLexState[jjmatchedKind];
+           continue EOFLoop;
+        }
+        MoreLexicalActions();
+      if (jjnewLexState[jjmatchedKind] != -1)
+        curLexState = jjnewLexState[jjmatchedKind];
+        curPos = 0;
+        jjmatchedKind = 0x7fffffff;
+        try {
+           curChar = input_stream.readChar();
+           continue;
+        }
+        catch (java.io.IOException e1) { }
+     }
+     int error_line = input_stream.getEndLine();
+     int error_column = input_stream.getEndColumn();
+     String error_after = null;
+     boolean EOFSeen = false;
+     try { input_stream.readChar(); input_stream.backup(1); }
+     catch (java.io.IOException e1) {
+        EOFSeen = true;
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+        if (curChar == '\n' || curChar == '\r') {
+           error_line++;
+           error_column = 0;
+        }
+        else
+           error_column++;
+     }
+     if (!EOFSeen) {
+        input_stream.backup(1);
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+     }
+     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+   }
+  }
+}
+
+void MoreLexicalActions()
+{
+   jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+   switch(jjmatchedKind)
+   {
+      case 9 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 10 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              commentNest = 1;
+         break;
+      case 12 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 13 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              ++commentNest;
+         break;
+      case 14 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              --commentNest; if (commentNest == 0) SwitchTo(INCOMMENT);
+         break;
+      case 16 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+               image.deleteCharAt(image.length() - 1);
+         break;
+      case 17 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      default : 
+         break;
+   }
+}
+void TokenLexicalActions(Token matchedToken)
+{
+   switch(jjmatchedKind)
+   {
+      case 19 :
+        if (image == null)
+            image = new StringBuffer();
+            image.append(input_stream.GetSuffix(jjimageLen + (lengthOfMatch = jjmatchedPos + 1)));
+                                 matchedToken.image = image.substring(0, image.length() - 1);
+         break;
+      default : 
+         break;
+   }
+}
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/ParseException.java b/src/org/apache/james/mime4j/field/contenttype/parser/ParseException.java
new file mode 100644
index 0000000..d9b69b2
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/ParseException.java
@@ -0,0 +1,207 @@
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+
+/**
+ * This exception is thrown when parse errors are encountered.
+ * You can explicitly create objects of this exception type by
+ * calling the method generateParseException in the generated
+ * parser.
+ *
+ * You can modify this class to customize your error reporting
+ * mechanisms so long as you retain the public fields.
+ */
+public class ParseException extends Exception {
+
+  /**
+   * This constructor is used by the method "generateParseException"
+   * in the generated parser.  Calling this constructor generates
+   * a new object of this type with the fields "currentToken",
+   * "expectedTokenSequences", and "tokenImage" set.  The boolean
+   * flag "specialConstructor" is also set to true to indicate that
+   * this constructor was used to create this object.
+   * This constructor calls its super class with the empty string
+   * to force the "toString" method of parent class "Throwable" to
+   * print the error message in the form:
+   *     ParseException: <result of getMessage>
+   */
+  public ParseException(Token currentTokenVal,
+                        int[][] expectedTokenSequencesVal,
+                        String[] tokenImageVal
+                       )
+  {
+    super("");
+    specialConstructor = true;
+    currentToken = currentTokenVal;
+    expectedTokenSequences = expectedTokenSequencesVal;
+    tokenImage = tokenImageVal;
+  }
+
+  /**
+   * The following constructors are for use by you for whatever
+   * purpose you can think of.  Constructing the exception in this
+   * manner makes the exception behave in the normal way - i.e., as
+   * documented in the class "Throwable".  The fields "errorToken",
+   * "expectedTokenSequences", and "tokenImage" do not contain
+   * relevant information.  The JavaCC generated code does not use
+   * these constructors.
+   */
+
+  public ParseException() {
+    super();
+    specialConstructor = false;
+  }
+
+  public ParseException(String message) {
+    super(message);
+    specialConstructor = false;
+  }
+
+  /**
+   * This variable determines which constructor was used to create
+   * this object and thereby affects the semantics of the
+   * "getMessage" method (see below).
+   */
+  protected boolean specialConstructor;
+
+  /**
+   * This is the last token that has been consumed successfully.  If
+   * this object has been created due to a parse error, the token
+   * followng this token will (therefore) be the first error token.
+   */
+  public Token currentToken;
+
+  /**
+   * Each entry in this array is an array of integers.  Each array
+   * of integers represents a sequence of tokens (by their ordinal
+   * values) that is expected at this point of the parse.
+   */
+  public int[][] expectedTokenSequences;
+
+  /**
+   * This is a reference to the "tokenImage" array of the generated
+   * parser within which the parse error occurred.  This array is
+   * defined in the generated ...Constants interface.
+   */
+  public String[] tokenImage;
+
+  /**
+   * This method has the standard behavior when this object has been
+   * created using the standard constructors.  Otherwise, it uses
+   * "currentToken" and "expectedTokenSequences" to generate a parse
+   * error message and returns it.  If this object has been created
+   * due to a parse error, and you do not catch it (it gets thrown
+   * from the parser), then this method is called during the printing
+   * of the final stack trace, and hence the correct error message
+   * gets displayed.
+   */
+  public String getMessage() {
+    if (!specialConstructor) {
+      return super.getMessage();
+    }
+    StringBuffer expected = new StringBuffer();
+    int maxSize = 0;
+    for (int i = 0; i < expectedTokenSequences.length; i++) {
+      if (maxSize < expectedTokenSequences[i].length) {
+        maxSize = expectedTokenSequences[i].length;
+      }
+      for (int j = 0; j < expectedTokenSequences[i].length; j++) {
+        expected.append(tokenImage[expectedTokenSequences[i][j]]).append(" ");
+      }
+      if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
+        expected.append("...");
+      }
+      expected.append(eol).append("    ");
+    }
+    String retval = "Encountered \"";
+    Token tok = currentToken.next;
+    for (int i = 0; i < maxSize; i++) {
+      if (i != 0) retval += " ";
+      if (tok.kind == 0) {
+        retval += tokenImage[0];
+        break;
+      }
+      retval += add_escapes(tok.image);
+      tok = tok.next; 
+    }
+    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+    retval += "." + eol;
+    if (expectedTokenSequences.length == 1) {
+      retval += "Was expecting:" + eol + "    ";
+    } else {
+      retval += "Was expecting one of:" + eol + "    ";
+    }
+    retval += expected.toString();
+    return retval;
+  }
+
+  /**
+   * The end of line string for this machine.
+   */
+  protected String eol = System.getProperty("line.separator", "\n");
+ 
+  /**
+   * Used to convert raw characters to their escaped version
+   * when these raw version cannot be used as part of an ASCII
+   * string literal.
+   */
+  protected String add_escapes(String str) {
+      StringBuffer retval = new StringBuffer();
+      char ch;
+      for (int i = 0; i < str.length(); i++) {
+        switch (str.charAt(i))
+        {
+           case 0 :
+              continue;
+           case '\b':
+              retval.append("\\b");
+              continue;
+           case '\t':
+              retval.append("\\t");
+              continue;
+           case '\n':
+              retval.append("\\n");
+              continue;
+           case '\f':
+              retval.append("\\f");
+              continue;
+           case '\r':
+              retval.append("\\r");
+              continue;
+           case '\"':
+              retval.append("\\\"");
+              continue;
+           case '\'':
+              retval.append("\\\'");
+              continue;
+           case '\\':
+              retval.append("\\\\");
+              continue;
+           default:
+              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                 String s = "0000" + Integer.toString(ch, 16);
+                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+              } else {
+                 retval.append(ch);
+              }
+              continue;
+        }
+      }
+      return retval.toString();
+   }
+
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/SimpleCharStream.java b/src/org/apache/james/mime4j/field/contenttype/parser/SimpleCharStream.java
new file mode 100644
index 0000000..ae035b7
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/SimpleCharStream.java
@@ -0,0 +1,454 @@
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+
+/**
+ * An implementation of interface CharStream, where the stream is assumed to
+ * contain only ASCII characters (without unicode processing).
+ */
+
+public class SimpleCharStream
+{
+  public static final boolean staticFlag = false;
+  int bufsize;
+  int available;
+  int tokenBegin;
+  public int bufpos = -1;
+  protected int bufline[];
+  protected int bufcolumn[];
+
+  protected int column = 0;
+  protected int line = 1;
+
+  protected boolean prevCharIsCR = false;
+  protected boolean prevCharIsLF = false;
+
+  protected java.io.Reader inputStream;
+
+  protected char[] buffer;
+  protected int maxNextCharInd = 0;
+  protected int inBuf = 0;
+  protected int tabSize = 8;
+
+  protected void setTabSize(int i) { tabSize = i; }
+  protected int getTabSize(int i) { return tabSize; }
+
+
+  protected void ExpandBuff(boolean wrapAround)
+  {
+     char[] newbuffer = new char[bufsize + 2048];
+     int newbufline[] = new int[bufsize + 2048];
+     int newbufcolumn[] = new int[bufsize + 2048];
+
+     try
+     {
+        if (wrapAround)
+        {
+           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+           System.arraycopy(buffer, 0, newbuffer,
+                                             bufsize - tokenBegin, bufpos);
+           buffer = newbuffer;
+
+           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+           System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
+           bufline = newbufline;
+
+           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+           System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
+           bufcolumn = newbufcolumn;
+
+           maxNextCharInd = (bufpos += (bufsize - tokenBegin));
+        }
+        else
+        {
+           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+           buffer = newbuffer;
+
+           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+           bufline = newbufline;
+
+           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+           bufcolumn = newbufcolumn;
+
+           maxNextCharInd = (bufpos -= tokenBegin);
+        }
+     }
+     catch (Throwable t)
+     {
+        throw new Error(t.getMessage());
+     }
+
+
+     bufsize += 2048;
+     available = bufsize;
+     tokenBegin = 0;
+  }
+
+  protected void FillBuff() throws java.io.IOException
+  {
+     if (maxNextCharInd == available)
+     {
+        if (available == bufsize)
+        {
+           if (tokenBegin > 2048)
+           {
+              bufpos = maxNextCharInd = 0;
+              available = tokenBegin;
+           }
+           else if (tokenBegin < 0)
+              bufpos = maxNextCharInd = 0;
+           else
+              ExpandBuff(false);
+        }
+        else if (available > tokenBegin)
+           available = bufsize;
+        else if ((tokenBegin - available) < 2048)
+           ExpandBuff(true);
+        else
+           available = tokenBegin;
+     }
+
+     int i;
+     try {
+        if ((i = inputStream.read(buffer, maxNextCharInd,
+                                    available - maxNextCharInd)) == -1)
+        {
+           inputStream.close();
+           throw new java.io.IOException();
+        }
+        else
+           maxNextCharInd += i;
+        return;
+     }
+     catch(java.io.IOException e) {
+        --bufpos;
+        backup(0);
+        if (tokenBegin == -1)
+           tokenBegin = bufpos;
+        throw e;
+     }
+  }
+
+  public char BeginToken() throws java.io.IOException
+  {
+     tokenBegin = -1;
+     char c = readChar();
+     tokenBegin = bufpos;
+
+     return c;
+  }
+
+  protected void UpdateLineColumn(char c)
+  {
+     column++;
+
+     if (prevCharIsLF)
+     {
+        prevCharIsLF = false;
+        line += (column = 1);
+     }
+     else if (prevCharIsCR)
+     {
+        prevCharIsCR = false;
+        if (c == '\n')
+        {
+           prevCharIsLF = true;
+        }
+        else
+           line += (column = 1);
+     }
+
+     switch (c)
+     {
+        case '\r' :
+           prevCharIsCR = true;
+           break;
+        case '\n' :
+           prevCharIsLF = true;
+           break;
+        case '\t' :
+           column--;
+           column += (tabSize - (column % tabSize));
+           break;
+        default :
+           break;
+     }
+
+     bufline[bufpos] = line;
+     bufcolumn[bufpos] = column;
+  }
+
+  public char readChar() throws java.io.IOException
+  {
+     if (inBuf > 0)
+     {
+        --inBuf;
+
+        if (++bufpos == bufsize)
+           bufpos = 0;
+
+        return buffer[bufpos];
+     }
+
+     if (++bufpos >= maxNextCharInd)
+        FillBuff();
+
+     char c = buffer[bufpos];
+
+     UpdateLineColumn(c);
+     return (c);
+  }
+
+  /**
+   * @deprecated 
+   * @see #getEndColumn
+   */
+  @Deprecated
+  public int getColumn() {
+     return bufcolumn[bufpos];
+  }
+
+  /**
+   * @deprecated 
+   * @see #getEndLine
+   */
+  @Deprecated
+  public int getLine() {
+     return bufline[bufpos];
+  }
+
+  public int getEndColumn() {
+     return bufcolumn[bufpos];
+  }
+
+  public int getEndLine() {
+     return bufline[bufpos];
+  }
+
+  public int getBeginColumn() {
+     return bufcolumn[tokenBegin];
+  }
+
+  public int getBeginLine() {
+     return bufline[tokenBegin];
+  }
+
+  public void backup(int amount) {
+
+    inBuf += amount;
+    if ((bufpos -= amount) < 0)
+       bufpos += bufsize;
+  }
+
+  public SimpleCharStream(java.io.Reader dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+    inputStream = dstream;
+    line = startline;
+    column = startcolumn - 1;
+
+    available = bufsize = buffersize;
+    buffer = new char[buffersize];
+    bufline = new int[buffersize];
+    bufcolumn = new int[buffersize];
+  }
+
+  public SimpleCharStream(java.io.Reader dstream, int startline,
+                          int startcolumn)
+  {
+     this(dstream, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.Reader dstream)
+  {
+     this(dstream, 1, 1, 4096);
+  }
+  public void ReInit(java.io.Reader dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+    inputStream = dstream;
+    line = startline;
+    column = startcolumn - 1;
+
+    if (buffer == null || buffersize != buffer.length)
+    {
+      available = bufsize = buffersize;
+      buffer = new char[buffersize];
+      bufline = new int[buffersize];
+      bufcolumn = new int[buffersize];
+    }
+    prevCharIsLF = prevCharIsCR = false;
+    tokenBegin = inBuf = maxNextCharInd = 0;
+    bufpos = -1;
+  }
+
+  public void ReInit(java.io.Reader dstream, int startline,
+                     int startcolumn)
+  {
+     ReInit(dstream, startline, startcolumn, 4096);
+  }
+
+  public void ReInit(java.io.Reader dstream)
+  {
+     ReInit(dstream, 1, 1, 4096);
+  }
+  public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
+  int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
+  {
+     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+     this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn) throws java.io.UnsupportedEncodingException
+  {
+     this(dstream, encoding, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, int startline,
+                          int startcolumn)
+  {
+     this(dstream, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
+  {
+     this(dstream, encoding, 1, 1, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream)
+  {
+     this(dstream, 1, 1, 4096);
+  }
+
+  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+  }
+
+  public void ReInit(java.io.InputStream dstream, int startline,
+                          int startcolumn, int buffersize)
+  {
+     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+  }
+
+  public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(dstream, encoding, 1, 1, 4096);
+  }
+
+  public void ReInit(java.io.InputStream dstream)
+  {
+     ReInit(dstream, 1, 1, 4096);
+  }
+  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                     int startcolumn) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(dstream, encoding, startline, startcolumn, 4096);
+  }
+  public void ReInit(java.io.InputStream dstream, int startline,
+                     int startcolumn)
+  {
+     ReInit(dstream, startline, startcolumn, 4096);
+  }
+  public String GetImage()
+  {
+     if (bufpos >= tokenBegin)
+        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
+     else
+        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
+                              new String(buffer, 0, bufpos + 1);
+  }
+
+  public char[] GetSuffix(int len)
+  {
+     char[] ret = new char[len];
+
+     if ((bufpos + 1) >= len)
+        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
+     else
+     {
+        System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
+                                                          len - bufpos - 1);
+        System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
+     }
+
+     return ret;
+  }
+
+  public void Done()
+  {
+     buffer = null;
+     bufline = null;
+     bufcolumn = null;
+  }
+
+  /**
+   * Method to adjust line and column numbers for the start of a token.
+   */
+  public void adjustBeginLineColumn(int newLine, int newCol)
+  {
+     int start = tokenBegin;
+     int len;
+
+     if (bufpos >= tokenBegin)
+     {
+        len = bufpos - tokenBegin + inBuf + 1;
+     }
+     else
+     {
+        len = bufsize - tokenBegin + bufpos + 1 + inBuf;
+     }
+
+     int i = 0, j = 0, k = 0;
+     int nextColDiff = 0, columnDiff = 0;
+
+     while (i < len &&
+            bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
+     {
+        bufline[j] = newLine;
+        nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
+        bufcolumn[j] = newCol + columnDiff;
+        columnDiff = nextColDiff;
+        i++;
+     } 
+
+     if (i < len)
+     {
+        bufline[j] = newLine++;
+        bufcolumn[j] = newCol + columnDiff;
+
+        while (i++ < len)
+        {
+           if (bufline[j = start % bufsize] != bufline[++start % bufsize])
+              bufline[j] = newLine++;
+           else
+              bufline[j] = newLine;
+        }
+     }
+
+     line = bufline[j];
+     column = bufcolumn[j];
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/Token.java b/src/org/apache/james/mime4j/field/contenttype/parser/Token.java
new file mode 100644
index 0000000..34e65ee
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/Token.java
@@ -0,0 +1,96 @@
+/* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+
+/**
+ * Describes the input token stream.
+ */
+
+public class Token {
+
+  /**
+   * An integer that describes the kind of this token.  This numbering
+   * system is determined by JavaCCParser, and a table of these numbers is
+   * stored in the file ...Constants.java.
+   */
+  public int kind;
+
+  /**
+   * beginLine and beginColumn describe the position of the first character
+   * of this token; endLine and endColumn describe the position of the
+   * last character of this token.
+   */
+  public int beginLine, beginColumn, endLine, endColumn;
+
+  /**
+   * The string image of the token.
+   */
+  public String image;
+
+  /**
+   * A reference to the next regular (non-special) token from the input
+   * stream.  If this is the last token from the input stream, or if the
+   * token manager has not read tokens beyond this one, this field is
+   * set to null.  This is true only if this token is also a regular
+   * token.  Otherwise, see below for a description of the contents of
+   * this field.
+   */
+  public Token next;
+
+  /**
+   * This field is used to access special tokens that occur prior to this
+   * token, but after the immediately preceding regular (non-special) token.
+   * If there are no such special tokens, this field is set to null.
+   * When there are more than one such special token, this field refers
+   * to the last of these special tokens, which in turn refers to the next
+   * previous special token through its specialToken field, and so on
+   * until the first special token (whose specialToken field is null).
+   * The next fields of special tokens refer to other special tokens that
+   * immediately follow it (without an intervening regular token).  If there
+   * is no such token, this field is null.
+   */
+  public Token specialToken;
+
+  /**
+   * Returns the image.
+   */
+  public String toString()
+  {
+     return image;
+  }
+
+  /**
+   * Returns a new Token object, by default. However, if you want, you
+   * can create and return subclass objects based on the value of ofKind.
+   * Simply add the cases to the switch for all those special cases.
+   * For example, if you have a subclass of Token called IDToken that
+   * you want to create if ofKind is ID, simlpy add something like :
+   *
+   *    case MyParserConstants.ID : return new IDToken();
+   *
+   * to the following switch statement. Then you can cast matchedToken
+   * variable to the appropriate type and use it in your lexical actions.
+   */
+  public static final Token newToken(int ofKind)
+  {
+     switch(ofKind)
+     {
+       default : return new Token();
+     }
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/contenttype/parser/TokenMgrError.java b/src/org/apache/james/mime4j/field/contenttype/parser/TokenMgrError.java
new file mode 100644
index 0000000..ea5a782
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/contenttype/parser/TokenMgrError.java
@@ -0,0 +1,148 @@
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.contenttype.parser;
+
+public class TokenMgrError extends Error
+{
+   /*
+    * Ordinals for various reasons why an Error of this type can be thrown.
+    */
+
+   /**
+    * Lexical error occured.
+    */
+   static final int LEXICAL_ERROR = 0;
+
+   /**
+    * An attempt wass made to create a second instance of a static token manager.
+    */
+   static final int STATIC_LEXER_ERROR = 1;
+
+   /**
+    * Tried to change to an invalid lexical state.
+    */
+   static final int INVALID_LEXICAL_STATE = 2;
+
+   /**
+    * Detected (and bailed out of) an infinite loop in the token manager.
+    */
+   static final int LOOP_DETECTED = 3;
+
+   /**
+    * Indicates the reason why the exception is thrown. It will have
+    * one of the above 4 values.
+    */
+   int errorCode;
+
+   /**
+    * Replaces unprintable characters by their espaced (or unicode escaped)
+    * equivalents in the given string
+    */
+   protected static final String addEscapes(String str) {
+      StringBuffer retval = new StringBuffer();
+      char ch;
+      for (int i = 0; i < str.length(); i++) {
+        switch (str.charAt(i))
+        {
+           case 0 :
+              continue;
+           case '\b':
+              retval.append("\\b");
+              continue;
+           case '\t':
+              retval.append("\\t");
+              continue;
+           case '\n':
+              retval.append("\\n");
+              continue;
+           case '\f':
+              retval.append("\\f");
+              continue;
+           case '\r':
+              retval.append("\\r");
+              continue;
+           case '\"':
+              retval.append("\\\"");
+              continue;
+           case '\'':
+              retval.append("\\\'");
+              continue;
+           case '\\':
+              retval.append("\\\\");
+              continue;
+           default:
+              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                 String s = "0000" + Integer.toString(ch, 16);
+                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+              } else {
+                 retval.append(ch);
+              }
+              continue;
+        }
+      }
+      return retval.toString();
+   }
+
+   /**
+    * Returns a detailed message for the Error when it is thrown by the
+    * token manager to indicate a lexical error.
+    * Parameters : 
+    *    EOFSeen     : indicates if EOF caused the lexicl error
+    *    curLexState : lexical state in which this error occured
+    *    errorLine   : line number when the error occured
+    *    errorColumn : column number when the error occured
+    *    errorAfter  : prefix that was seen before this error occured
+    *    curchar     : the offending character
+    * Note: You can customize the lexical error message by modifying this method.
+    */
+   protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
+      return("Lexical error at line " +
+           errorLine + ", column " +
+           errorColumn + ".  Encountered: " +
+           (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
+           "after : \"" + addEscapes(errorAfter) + "\"");
+   }
+
+   /**
+    * You can also modify the body of this method to customize your error messages.
+    * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
+    * of end-users concern, so you can return something like : 
+    *
+    *     "Internal Error : Please file a bug report .... "
+    *
+    * from this method for such cases in the release version of your parser.
+    */
+   public String getMessage() {
+      return super.getMessage();
+   }
+
+   /*
+    * Constructors of various flavors follow.
+    */
+
+   public TokenMgrError() {
+   }
+
+   public TokenMgrError(String message, int reason) {
+      super(message);
+      errorCode = reason;
+   }
+
+   public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
+      this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
+   }
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/DateTime.java b/src/org/apache/james/mime4j/field/datetime/DateTime.java
new file mode 100644
index 0000000..506ff54
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/DateTime.java
@@ -0,0 +1,127 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.field.datetime;
+
+import org.apache.james.mime4j.field.datetime.parser.DateTimeParser;
+import org.apache.james.mime4j.field.datetime.parser.ParseException;
+import org.apache.james.mime4j.field.datetime.parser.TokenMgrError;
+
+import java.util.Date;
+import java.util.Calendar;
+import java.util.TimeZone;
+import java.util.GregorianCalendar;
+import java.io.StringReader;
+
+public class DateTime {
+    private final Date date;
+    private final int year;
+    private final int month;
+    private final int day;
+    private final int hour;
+    private final int minute;
+    private final int second;
+    private final int timeZone;
+
+    public DateTime(String yearString, int month, int day, int hour, int minute, int second, int timeZone) {
+        this.year = convertToYear(yearString);
+        this.date = convertToDate(year, month, day, hour, minute, second, timeZone);
+        this.month = month;
+        this.day = day;
+        this.hour = hour;
+        this.minute = minute;
+        this.second = second;
+        this.timeZone = timeZone;
+    }
+
+    private int convertToYear(String yearString) {
+        int year = Integer.parseInt(yearString);
+        switch (yearString.length()) {
+            case 1:
+            case 2:
+                if (year >= 0 && year < 50)
+                    return 2000 + year;
+                else
+                    return 1900 + year;
+            case 3:
+                return 1900 + year;
+            default:
+                return year;
+        }
+    }
+
+    public static Date convertToDate(int year, int month, int day, int hour, int minute, int second, int timeZone) {
+        Calendar c = new GregorianCalendar(TimeZone.getTimeZone("GMT+0"));
+        c.set(year, month - 1, day, hour, minute, second);
+        c.set(Calendar.MILLISECOND, 0);
+
+        if (timeZone != Integer.MIN_VALUE) {
+            int minutes = ((timeZone / 100) * 60) + timeZone % 100;
+            c.add(Calendar.MINUTE, -1 * minutes);
+        }
+
+        return c.getTime();
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public int getYear() {
+        return year;
+    }
+
+    public int getMonth() {
+        return month;
+    }
+
+    public int getDay() {
+        return day;
+    }
+
+    public int getHour() {
+        return hour;
+    }
+
+    public int getMinute() {
+        return minute;
+    }
+
+    public int getSecond() {
+        return second;
+    }
+
+    public int getTimeZone() {
+        return timeZone;
+    }
+
+    public void print() {
+        System.out.println(getYear() + " " + getMonth() + " " + getDay() + "; " + getHour() + " " + getMinute() + " " + getSecond() + " " + getTimeZone());
+    }
+
+
+    public static DateTime parse(String dateString) throws ParseException {
+        try {
+            return new DateTimeParser(new StringReader(dateString)).parseAll();
+        }
+        catch (TokenMgrError err) {
+            throw new ParseException(err.getMessage());
+        }
+    }
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParser.java b/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParser.java
new file mode 100644
index 0000000..43edebb
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParser.java
@@ -0,0 +1,570 @@
+/* Generated By:JavaCC: Do not edit this line. DateTimeParser.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+
+import org.apache.james.mime4j.field.datetime.DateTime;
+
+import java.util.Vector;
+
+public class DateTimeParser implements DateTimeParserConstants {
+    private static final boolean ignoreMilitaryZoneOffset = true;
+
+    public static void main(String args[]) throws ParseException {
+                while (true) {
+                    try {
+                                DateTimeParser parser = new DateTimeParser(System.in);
+                        parser.parseLine();
+                    } catch (Exception x) {
+                                x.printStackTrace();
+                                return;
+                    }
+                }
+    }
+
+    private static int parseDigits(Token token) {
+        return Integer.parseInt(token.image, 10);
+    }
+
+    private static int getMilitaryZoneOffset(char c) {
+        if (ignoreMilitaryZoneOffset)
+            return 0;
+
+        c = Character.toUpperCase(c);
+
+        switch (c) {
+            case 'A': return 1;
+            case 'B': return 2;
+            case 'C': return 3;
+            case 'D': return 4;
+            case 'E': return 5;
+            case 'F': return 6;
+            case 'G': return 7;
+            case 'H': return 8;
+            case 'I': return 9;
+            case 'K': return 10;
+            case 'L': return 11;
+            case 'M': return 12;
+
+            case 'N': return -1;
+            case 'O': return -2;
+            case 'P': return -3;
+            case 'Q': return -4;
+            case 'R': return -5;
+            case 'S': return -6;
+            case 'T': return -7;
+            case 'U': return -8;
+            case 'V': return -9;
+            case 'W': return -10;
+            case 'X': return -11;
+            case 'Y': return -12;
+
+            case 'Z': return 0;
+            default: return 0;
+        }
+    }
+
+    private static class Time {
+        private int hour;
+        private int minute;
+        private int second;
+        private int zone;
+
+        public Time(int hour, int minute, int second, int zone) {
+            this.hour = hour;
+            this.minute = minute;
+            this.second = second;
+            this.zone = zone;
+        }
+
+        public int getHour() { return hour; }
+        public int getMinute() { return minute; }
+        public int getSecond() { return second; }
+        public int getZone() { return zone; }
+    }
+
+    private static class Date {
+        private String year;
+        private int month;
+        private int day;
+
+        public Date(String year, int month, int day) {
+            this.year = year;
+            this.month = month;
+            this.day = day;
+        }
+
+        public String getYear() { return year; }
+        public int getMonth() { return month; }
+        public int getDay() { return day; }
+    }
+
+  final public DateTime parseLine() throws ParseException {
+ DateTime dt;
+    dt = date_time();
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 1:
+      jj_consume_token(1);
+      break;
+    default:
+      jj_la1[0] = jj_gen;
+      ;
+    }
+    jj_consume_token(2);
+          {if (true) return dt;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public DateTime parseAll() throws ParseException {
+ DateTime dt;
+    dt = date_time();
+    jj_consume_token(0);
+          {if (true) return dt;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public DateTime date_time() throws ParseException {
+ Date d; Time t;
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 4:
+    case 5:
+    case 6:
+    case 7:
+    case 8:
+    case 9:
+    case 10:
+      day_of_week();
+      jj_consume_token(3);
+      break;
+    default:
+      jj_la1[1] = jj_gen;
+      ;
+    }
+    d = date();
+    t = time();
+            {if (true) return new DateTime(
+                    d.getYear(),
+                    d.getMonth(),
+                    d.getDay(),
+                    t.getHour(),
+                    t.getMinute(),
+                    t.getSecond(),
+                    t.getZone());}    // time zone offset
+
+    throw new Error("Missing return statement in function");
+  }
+
+  final public String day_of_week() throws ParseException {
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 4:
+      jj_consume_token(4);
+      break;
+    case 5:
+      jj_consume_token(5);
+      break;
+    case 6:
+      jj_consume_token(6);
+      break;
+    case 7:
+      jj_consume_token(7);
+      break;
+    case 8:
+      jj_consume_token(8);
+      break;
+    case 9:
+      jj_consume_token(9);
+      break;
+    case 10:
+      jj_consume_token(10);
+      break;
+    default:
+      jj_la1[2] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+      {if (true) return token.image;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Date date() throws ParseException {
+ int d, m; String y;
+    d = day();
+    m = month();
+    y = year();
+      {if (true) return new Date(y, m, d);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int day() throws ParseException {
+ Token t;
+    t = jj_consume_token(DIGITS);
+                 {if (true) return parseDigits(t);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int month() throws ParseException {
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 11:
+      jj_consume_token(11);
+            {if (true) return 1;}
+      break;
+    case 12:
+      jj_consume_token(12);
+            {if (true) return 2;}
+      break;
+    case 13:
+      jj_consume_token(13);
+            {if (true) return 3;}
+      break;
+    case 14:
+      jj_consume_token(14);
+            {if (true) return 4;}
+      break;
+    case 15:
+      jj_consume_token(15);
+            {if (true) return 5;}
+      break;
+    case 16:
+      jj_consume_token(16);
+            {if (true) return 6;}
+      break;
+    case 17:
+      jj_consume_token(17);
+            {if (true) return 7;}
+      break;
+    case 18:
+      jj_consume_token(18);
+            {if (true) return 8;}
+      break;
+    case 19:
+      jj_consume_token(19);
+            {if (true) return 9;}
+      break;
+    case 20:
+      jj_consume_token(20);
+            {if (true) return 10;}
+      break;
+    case 21:
+      jj_consume_token(21);
+            {if (true) return 11;}
+      break;
+    case 22:
+      jj_consume_token(22);
+            {if (true) return 12;}
+      break;
+    default:
+      jj_la1[3] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+    throw new Error("Missing return statement in function");
+  }
+
+  final public String year() throws ParseException {
+ Token t;
+    t = jj_consume_token(DIGITS);
+                 {if (true) return t.image;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public Time time() throws ParseException {
+ int h, m, s=0, z;
+    h = hour();
+    jj_consume_token(23);
+    m = minute();
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 23:
+      jj_consume_token(23);
+      s = second();
+      break;
+    default:
+      jj_la1[4] = jj_gen;
+      ;
+    }
+    z = zone();
+      {if (true) return new Time(h, m, s, z);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int hour() throws ParseException {
+ Token t;
+    t = jj_consume_token(DIGITS);
+                 {if (true) return parseDigits(t);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int minute() throws ParseException {
+ Token t;
+    t = jj_consume_token(DIGITS);
+                 {if (true) return parseDigits(t);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int second() throws ParseException {
+ Token t;
+    t = jj_consume_token(DIGITS);
+                 {if (true) return parseDigits(t);}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int zone() throws ParseException {
+  Token t, u; int z;
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case OFFSETDIR:
+      t = jj_consume_token(OFFSETDIR);
+      u = jj_consume_token(DIGITS);
+                                              z=parseDigits(u)*(t.image.equals("-") ? -1 : 1);
+      break;
+    case 25:
+    case 26:
+    case 27:
+    case 28:
+    case 29:
+    case 30:
+    case 31:
+    case 32:
+    case 33:
+    case 34:
+    case MILITARY_ZONE:
+      z = obs_zone();
+      break;
+    default:
+      jj_la1[5] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+      {if (true) return z;}
+    throw new Error("Missing return statement in function");
+  }
+
+  final public int obs_zone() throws ParseException {
+ Token t; int z;
+    switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
+    case 25:
+      jj_consume_token(25);
+            z=0;
+      break;
+    case 26:
+      jj_consume_token(26);
+            z=0;
+      break;
+    case 27:
+      jj_consume_token(27);
+            z=-5;
+      break;
+    case 28:
+      jj_consume_token(28);
+            z=-4;
+      break;
+    case 29:
+      jj_consume_token(29);
+            z=-6;
+      break;
+    case 30:
+      jj_consume_token(30);
+            z=-5;
+      break;
+    case 31:
+      jj_consume_token(31);
+            z=-7;
+      break;
+    case 32:
+      jj_consume_token(32);
+            z=-6;
+      break;
+    case 33:
+      jj_consume_token(33);
+            z=-8;
+      break;
+    case 34:
+      jj_consume_token(34);
+            z=-7;
+      break;
+    case MILITARY_ZONE:
+      t = jj_consume_token(MILITARY_ZONE);
+                                                             z=getMilitaryZoneOffset(t.image.charAt(0));
+      break;
+    default:
+      jj_la1[6] = jj_gen;
+      jj_consume_token(-1);
+      throw new ParseException();
+    }
+      {if (true) return z * 100;}
+    throw new Error("Missing return statement in function");
+  }
+
+  public DateTimeParserTokenManager token_source;
+  SimpleCharStream jj_input_stream;
+  public Token token, jj_nt;
+  private int jj_ntk;
+  private int jj_gen;
+  final private int[] jj_la1 = new int[7];
+  static private int[] jj_la1_0;
+  static private int[] jj_la1_1;
+  static {
+      jj_la1_0();
+      jj_la1_1();
+   }
+   private static void jj_la1_0() {
+      jj_la1_0 = new int[] {0x2,0x7f0,0x7f0,0x7ff800,0x800000,0xff000000,0xfe000000,};
+   }
+   private static void jj_la1_1() {
+      jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x0,0xf,0xf,};
+   }
+
+  public DateTimeParser(java.io.InputStream stream) {
+     this(stream, null);
+  }
+  public DateTimeParser(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source = new DateTimeParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 7; i++) jj_la1[i] = -1;
+  }
+
+  public void ReInit(java.io.InputStream stream) {
+     ReInit(stream, null);
+  }
+  public void ReInit(java.io.InputStream stream, String encoding) {
+    try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 7; i++) jj_la1[i] = -1;
+  }
+
+  public DateTimeParser(java.io.Reader stream) {
+    jj_input_stream = new SimpleCharStream(stream, 1, 1);
+    token_source = new DateTimeParserTokenManager(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 7; i++) jj_la1[i] = -1;
+  }
+
+  public void ReInit(java.io.Reader stream) {
+    jj_input_stream.ReInit(stream, 1, 1);
+    token_source.ReInit(jj_input_stream);
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 7; i++) jj_la1[i] = -1;
+  }
+
+  public DateTimeParser(DateTimeParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 7; i++) jj_la1[i] = -1;
+  }
+
+  public void ReInit(DateTimeParserTokenManager tm) {
+    token_source = tm;
+    token = new Token();
+    jj_ntk = -1;
+    jj_gen = 0;
+    for (int i = 0; i < 7; i++) jj_la1[i] = -1;
+  }
+
+  final private Token jj_consume_token(int kind) throws ParseException {
+    Token oldToken;
+    if ((oldToken = token).next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    if (token.kind == kind) {
+      jj_gen++;
+      return token;
+    }
+    token = oldToken;
+    jj_kind = kind;
+    throw generateParseException();
+  }
+
+  final public Token getNextToken() {
+    if (token.next != null) token = token.next;
+    else token = token.next = token_source.getNextToken();
+    jj_ntk = -1;
+    jj_gen++;
+    return token;
+  }
+
+  final public Token getToken(int index) {
+    Token t = token;
+    for (int i = 0; i < index; i++) {
+      if (t.next != null) t = t.next;
+      else t = t.next = token_source.getNextToken();
+    }
+    return t;
+  }
+
+  final private int jj_ntk() {
+    if ((jj_nt=token.next) == null)
+      return (jj_ntk = (token.next=token_source.getNextToken()).kind);
+    else
+      return (jj_ntk = jj_nt.kind);
+  }
+
+  private Vector<int[]> jj_expentries = new Vector<int[]>();
+  private int[] jj_expentry;
+  private int jj_kind = -1;
+
+  public ParseException generateParseException() {
+    jj_expentries.removeAllElements();
+    boolean[] la1tokens = new boolean[49];
+    for (int i = 0; i < 49; i++) {
+      la1tokens[i] = false;
+    }
+    if (jj_kind >= 0) {
+      la1tokens[jj_kind] = true;
+      jj_kind = -1;
+    }
+    for (int i = 0; i < 7; i++) {
+      if (jj_la1[i] == jj_gen) {
+        for (int j = 0; j < 32; j++) {
+          if ((jj_la1_0[i] & (1<<j)) != 0) {
+            la1tokens[j] = true;
+          }
+          if ((jj_la1_1[i] & (1<<j)) != 0) {
+            la1tokens[32+j] = true;
+          }
+        }
+      }
+    }
+    for (int i = 0; i < 49; i++) {
+      if (la1tokens[i]) {
+        jj_expentry = new int[1];
+        jj_expentry[0] = i;
+        jj_expentries.addElement(jj_expentry);
+      }
+    }
+    int[][] exptokseq = new int[jj_expentries.size()][];
+    for (int i = 0; i < jj_expentries.size(); i++) {
+      exptokseq[i] = jj_expentries.elementAt(i);
+    }
+    return new ParseException(token, exptokseq, tokenImage);
+  }
+
+  final public void enable_tracing() {
+  }
+
+  final public void disable_tracing() {
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParserConstants.java b/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParserConstants.java
new file mode 100644
index 0000000..2c203db
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParserConstants.java
@@ -0,0 +1,86 @@
+/* Generated By:JavaCC: Do not edit this line. DateTimeParserConstants.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+
+public interface DateTimeParserConstants {
+
+  int EOF = 0;
+  int OFFSETDIR = 24;
+  int MILITARY_ZONE = 35;
+  int WS = 36;
+  int COMMENT = 38;
+  int DIGITS = 46;
+  int QUOTEDPAIR = 47;
+  int ANY = 48;
+
+  int DEFAULT = 0;
+  int INCOMMENT = 1;
+  int NESTED_COMMENT = 2;
+
+  String[] tokenImage = {
+    "<EOF>",
+    "\"\\r\"",
+    "\"\\n\"",
+    "\",\"",
+    "\"Mon\"",
+    "\"Tue\"",
+    "\"Wed\"",
+    "\"Thu\"",
+    "\"Fri\"",
+    "\"Sat\"",
+    "\"Sun\"",
+    "\"Jan\"",
+    "\"Feb\"",
+    "\"Mar\"",
+    "\"Apr\"",
+    "\"May\"",
+    "\"Jun\"",
+    "\"Jul\"",
+    "\"Aug\"",
+    "\"Sep\"",
+    "\"Oct\"",
+    "\"Nov\"",
+    "\"Dec\"",
+    "\":\"",
+    "<OFFSETDIR>",
+    "\"UT\"",
+    "\"GMT\"",
+    "\"EST\"",
+    "\"EDT\"",
+    "\"CST\"",
+    "\"CDT\"",
+    "\"MST\"",
+    "\"MDT\"",
+    "\"PST\"",
+    "\"PDT\"",
+    "<MILITARY_ZONE>",
+    "<WS>",
+    "\"(\"",
+    "\")\"",
+    "<token of kind 39>",
+    "\"(\"",
+    "<token of kind 41>",
+    "<token of kind 42>",
+    "\"(\"",
+    "\")\"",
+    "<token of kind 45>",
+    "<DIGITS>",
+    "<QUOTEDPAIR>",
+    "<ANY>",
+  };
+
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParserTokenManager.java b/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParserTokenManager.java
new file mode 100644
index 0000000..4b2d2fd
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/DateTimeParserTokenManager.java
@@ -0,0 +1,882 @@
+/* Generated By:JavaCC: Do not edit this line. DateTimeParserTokenManager.java */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+import org.apache.james.mime4j.field.datetime.DateTime;
+import java.util.Calendar;
+
+public class DateTimeParserTokenManager implements DateTimeParserConstants
+{
+        // Keeps track of how many levels of comment nesting
+        // we've encountered.  This is only used when the 2nd
+        // level is reached, for example ((this)), not (this).
+        // This is because the outermost level must be treated
+        // specially anyway, because the outermost ")" has a
+        // different token type than inner ")" instances.
+        static int commentNest;
+  public  java.io.PrintStream debugStream = System.out;
+  public  void setDebugStream(java.io.PrintStream ds) { debugStream = ds; }
+private final int jjStopStringLiteralDfa_0(int pos, long active0)
+{
+   switch (pos)
+   {
+      case 0:
+         if ((active0 & 0x7fe7cf7f0L) != 0L)
+         {
+            jjmatchedKind = 35;
+            return -1;
+         }
+         return -1;
+      case 1:
+         if ((active0 & 0x7fe7cf7f0L) != 0L)
+         {
+            if (jjmatchedPos == 0)
+            {
+               jjmatchedKind = 35;
+               jjmatchedPos = 0;
+            }
+            return -1;
+         }
+         return -1;
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_0(int pos, long active0)
+{
+   return jjMoveNfa_0(jjStopStringLiteralDfa_0(pos, active0), pos + 1);
+}
+private final int jjStopAtPos(int pos, int kind)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   return pos + 1;
+}
+private final int jjStartNfaWithStates_0(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_0(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_0()
+{
+   switch(curChar)
+   {
+      case 10:
+         return jjStopAtPos(0, 2);
+      case 13:
+         return jjStopAtPos(0, 1);
+      case 40:
+         return jjStopAtPos(0, 37);
+      case 44:
+         return jjStopAtPos(0, 3);
+      case 58:
+         return jjStopAtPos(0, 23);
+      case 65:
+         return jjMoveStringLiteralDfa1_0(0x44000L);
+      case 67:
+         return jjMoveStringLiteralDfa1_0(0x60000000L);
+      case 68:
+         return jjMoveStringLiteralDfa1_0(0x400000L);
+      case 69:
+         return jjMoveStringLiteralDfa1_0(0x18000000L);
+      case 70:
+         return jjMoveStringLiteralDfa1_0(0x1100L);
+      case 71:
+         return jjMoveStringLiteralDfa1_0(0x4000000L);
+      case 74:
+         return jjMoveStringLiteralDfa1_0(0x30800L);
+      case 77:
+         return jjMoveStringLiteralDfa1_0(0x18000a010L);
+      case 78:
+         return jjMoveStringLiteralDfa1_0(0x200000L);
+      case 79:
+         return jjMoveStringLiteralDfa1_0(0x100000L);
+      case 80:
+         return jjMoveStringLiteralDfa1_0(0x600000000L);
+      case 83:
+         return jjMoveStringLiteralDfa1_0(0x80600L);
+      case 84:
+         return jjMoveStringLiteralDfa1_0(0xa0L);
+      case 85:
+         return jjMoveStringLiteralDfa1_0(0x2000000L);
+      case 87:
+         return jjMoveStringLiteralDfa1_0(0x40L);
+      default :
+         return jjMoveNfa_0(0, 0);
+   }
+}
+private final int jjMoveStringLiteralDfa1_0(long active0)
+{
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(0, active0);
+      return 1;
+   }
+   switch(curChar)
+   {
+      case 68:
+         return jjMoveStringLiteralDfa2_0(active0, 0x550000000L);
+      case 77:
+         return jjMoveStringLiteralDfa2_0(active0, 0x4000000L);
+      case 83:
+         return jjMoveStringLiteralDfa2_0(active0, 0x2a8000000L);
+      case 84:
+         if ((active0 & 0x2000000L) != 0L)
+            return jjStopAtPos(1, 25);
+         break;
+      case 97:
+         return jjMoveStringLiteralDfa2_0(active0, 0xaa00L);
+      case 99:
+         return jjMoveStringLiteralDfa2_0(active0, 0x100000L);
+      case 101:
+         return jjMoveStringLiteralDfa2_0(active0, 0x481040L);
+      case 104:
+         return jjMoveStringLiteralDfa2_0(active0, 0x80L);
+      case 111:
+         return jjMoveStringLiteralDfa2_0(active0, 0x200010L);
+      case 112:
+         return jjMoveStringLiteralDfa2_0(active0, 0x4000L);
+      case 114:
+         return jjMoveStringLiteralDfa2_0(active0, 0x100L);
+      case 117:
+         return jjMoveStringLiteralDfa2_0(active0, 0x70420L);
+      default :
+         break;
+   }
+   return jjStartNfa_0(0, active0);
+}
+private final int jjMoveStringLiteralDfa2_0(long old0, long active0)
+{
+   if (((active0 &= old0)) == 0L)
+      return jjStartNfa_0(0, old0); 
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) {
+      jjStopStringLiteralDfa_0(1, active0);
+      return 2;
+   }
+   switch(curChar)
+   {
+      case 84:
+         if ((active0 & 0x4000000L) != 0L)
+            return jjStopAtPos(2, 26);
+         else if ((active0 & 0x8000000L) != 0L)
+            return jjStopAtPos(2, 27);
+         else if ((active0 & 0x10000000L) != 0L)
+            return jjStopAtPos(2, 28);
+         else if ((active0 & 0x20000000L) != 0L)
+            return jjStopAtPos(2, 29);
+         else if ((active0 & 0x40000000L) != 0L)
+            return jjStopAtPos(2, 30);
+         else if ((active0 & 0x80000000L) != 0L)
+            return jjStopAtPos(2, 31);
+         else if ((active0 & 0x100000000L) != 0L)
+            return jjStopAtPos(2, 32);
+         else if ((active0 & 0x200000000L) != 0L)
+            return jjStopAtPos(2, 33);
+         else if ((active0 & 0x400000000L) != 0L)
+            return jjStopAtPos(2, 34);
+         break;
+      case 98:
+         if ((active0 & 0x1000L) != 0L)
+            return jjStopAtPos(2, 12);
+         break;
+      case 99:
+         if ((active0 & 0x400000L) != 0L)
+            return jjStopAtPos(2, 22);
+         break;
+      case 100:
+         if ((active0 & 0x40L) != 0L)
+            return jjStopAtPos(2, 6);
+         break;
+      case 101:
+         if ((active0 & 0x20L) != 0L)
+            return jjStopAtPos(2, 5);
+         break;
+      case 103:
+         if ((active0 & 0x40000L) != 0L)
+            return jjStopAtPos(2, 18);
+         break;
+      case 105:
+         if ((active0 & 0x100L) != 0L)
+            return jjStopAtPos(2, 8);
+         break;
+      case 108:
+         if ((active0 & 0x20000L) != 0L)
+            return jjStopAtPos(2, 17);
+         break;
+      case 110:
+         if ((active0 & 0x10L) != 0L)
+            return jjStopAtPos(2, 4);
+         else if ((active0 & 0x400L) != 0L)
+            return jjStopAtPos(2, 10);
+         else if ((active0 & 0x800L) != 0L)
+            return jjStopAtPos(2, 11);
+         else if ((active0 & 0x10000L) != 0L)
+            return jjStopAtPos(2, 16);
+         break;
+      case 112:
+         if ((active0 & 0x80000L) != 0L)
+            return jjStopAtPos(2, 19);
+         break;
+      case 114:
+         if ((active0 & 0x2000L) != 0L)
+            return jjStopAtPos(2, 13);
+         else if ((active0 & 0x4000L) != 0L)
+            return jjStopAtPos(2, 14);
+         break;
+      case 116:
+         if ((active0 & 0x200L) != 0L)
+            return jjStopAtPos(2, 9);
+         else if ((active0 & 0x100000L) != 0L)
+            return jjStopAtPos(2, 20);
+         break;
+      case 117:
+         if ((active0 & 0x80L) != 0L)
+            return jjStopAtPos(2, 7);
+         break;
+      case 118:
+         if ((active0 & 0x200000L) != 0L)
+            return jjStopAtPos(2, 21);
+         break;
+      case 121:
+         if ((active0 & 0x8000L) != 0L)
+            return jjStopAtPos(2, 15);
+         break;
+      default :
+         break;
+   }
+   return jjStartNfa_0(1, active0);
+}
+private final void jjCheckNAdd(int state)
+{
+   if (jjrounds[state] != jjround)
+   {
+      jjstateSet[jjnewStateCnt++] = state;
+      jjrounds[state] = jjround;
+   }
+}
+private final void jjAddStates(int start, int end)
+{
+   do {
+      jjstateSet[jjnewStateCnt++] = jjnextStates[start];
+   } while (start++ != end);
+}
+private final void jjCheckNAddTwoStates(int state1, int state2)
+{
+   jjCheckNAdd(state1);
+   jjCheckNAdd(state2);
+}
+private final void jjCheckNAddStates(int start, int end)
+{
+   do {
+      jjCheckNAdd(jjnextStates[start]);
+   } while (start++ != end);
+}
+private final void jjCheckNAddStates(int start)
+{
+   jjCheckNAdd(jjnextStates[start]);
+   jjCheckNAdd(jjnextStates[start + 1]);
+}
+private final int jjMoveNfa_0(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 4;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0x3ff000000000000L & l) != 0L)
+                  {
+                     if (kind > 46)
+                        kind = 46;
+                     jjCheckNAdd(3);
+                  }
+                  else if ((0x100000200L & l) != 0L)
+                  {
+                     if (kind > 36)
+                        kind = 36;
+                     jjCheckNAdd(2);
+                  }
+                  else if ((0x280000000000L & l) != 0L)
+                  {
+                     if (kind > 24)
+                        kind = 24;
+                  }
+                  break;
+               case 2:
+                  if ((0x100000200L & l) == 0L)
+                     break;
+                  kind = 36;
+                  jjCheckNAdd(2);
+                  break;
+               case 3:
+                  if ((0x3ff000000000000L & l) == 0L)
+                     break;
+                  kind = 46;
+                  jjCheckNAdd(3);
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((0x7fffbfe07fffbfeL & l) != 0L)
+                     kind = 35;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 4 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_1(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_1(int pos, long active0)
+{
+   return jjMoveNfa_1(jjStopStringLiteralDfa_1(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_1(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_1(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_1()
+{
+   switch(curChar)
+   {
+      case 40:
+         return jjStopAtPos(0, 40);
+      case 41:
+         return jjStopAtPos(0, 38);
+      default :
+         return jjMoveNfa_1(0, 0);
+   }
+}
+static final long[] jjbitVec0 = {
+   0x0L, 0x0L, 0xffffffffffffffffL, 0xffffffffffffffffL
+};
+private final int jjMoveNfa_1(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 41)
+                     kind = 41;
+                  break;
+               case 1:
+                  if (kind > 39)
+                     kind = 39;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 41)
+                     kind = 41;
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 39)
+                     kind = 39;
+                  break;
+               case 2:
+                  if (kind > 41)
+                     kind = 41;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 41)
+                     kind = 41;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 39)
+                     kind = 39;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+private final int jjStopStringLiteralDfa_2(int pos, long active0)
+{
+   switch (pos)
+   {
+      default :
+         return -1;
+   }
+}
+private final int jjStartNfa_2(int pos, long active0)
+{
+   return jjMoveNfa_2(jjStopStringLiteralDfa_2(pos, active0), pos + 1);
+}
+private final int jjStartNfaWithStates_2(int pos, int kind, int state)
+{
+   jjmatchedKind = kind;
+   jjmatchedPos = pos;
+   try { curChar = input_stream.readChar(); }
+   catch(java.io.IOException e) { return pos + 1; }
+   return jjMoveNfa_2(state, pos + 1);
+}
+private final int jjMoveStringLiteralDfa0_2()
+{
+   switch(curChar)
+   {
+      case 40:
+         return jjStopAtPos(0, 43);
+      case 41:
+         return jjStopAtPos(0, 44);
+      default :
+         return jjMoveNfa_2(0, 0);
+   }
+}
+private final int jjMoveNfa_2(int startState, int curPos)
+{
+   int[] nextStates;
+   int startsAt = 0;
+   jjnewStateCnt = 3;
+   int i = 1;
+   jjstateSet[0] = startState;
+   int j, kind = 0x7fffffff;
+   for (;;)
+   {
+      if (++jjround == 0x7fffffff)
+         ReInitRounds();
+      if (curChar < 64)
+      {
+         long l = 1L << curChar;
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 45)
+                     kind = 45;
+                  break;
+               case 1:
+                  if (kind > 42)
+                     kind = 42;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else if (curChar < 128)
+      {
+         long l = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if (kind > 45)
+                     kind = 45;
+                  if (curChar == 92)
+                     jjstateSet[jjnewStateCnt++] = 1;
+                  break;
+               case 1:
+                  if (kind > 42)
+                     kind = 42;
+                  break;
+               case 2:
+                  if (kind > 45)
+                     kind = 45;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      else
+      {
+         int i2 = (curChar & 0xff) >> 6;
+         long l2 = 1L << (curChar & 077);
+         MatchLoop: do
+         {
+            switch(jjstateSet[--i])
+            {
+               case 0:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 45)
+                     kind = 45;
+                  break;
+               case 1:
+                  if ((jjbitVec0[i2] & l2) != 0L && kind > 42)
+                     kind = 42;
+                  break;
+               default : break;
+            }
+         } while(i != startsAt);
+      }
+      if (kind != 0x7fffffff)
+      {
+         jjmatchedKind = kind;
+         jjmatchedPos = curPos;
+         kind = 0x7fffffff;
+      }
+      ++curPos;
+      if ((i = jjnewStateCnt) == (startsAt = 3 - (jjnewStateCnt = startsAt)))
+         return curPos;
+      try { curChar = input_stream.readChar(); }
+      catch(java.io.IOException e) { return curPos; }
+   }
+}
+static final int[] jjnextStates = {
+};
+public static final String[] jjstrLiteralImages = {
+"", "\15", "\12", "\54", "\115\157\156", "\124\165\145", "\127\145\144", 
+"\124\150\165", "\106\162\151", "\123\141\164", "\123\165\156", "\112\141\156", 
+"\106\145\142", "\115\141\162", "\101\160\162", "\115\141\171", "\112\165\156", 
+"\112\165\154", "\101\165\147", "\123\145\160", "\117\143\164", "\116\157\166", 
+"\104\145\143", "\72", null, "\125\124", "\107\115\124", "\105\123\124", "\105\104\124", 
+"\103\123\124", "\103\104\124", "\115\123\124", "\115\104\124", "\120\123\124", 
+"\120\104\124", null, null, null, null, null, null, null, null, null, null, null, null, null, 
+null, };
+public static final String[] lexStateNames = {
+   "DEFAULT", 
+   "INCOMMENT", 
+   "NESTED_COMMENT", 
+};
+public static final int[] jjnewLexState = {
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 
+   -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, 
+};
+static final long[] jjtoToken = {
+   0x400fffffffffL, 
+};
+static final long[] jjtoSkip = {
+   0x5000000000L, 
+};
+static final long[] jjtoSpecial = {
+   0x1000000000L, 
+};
+static final long[] jjtoMore = {
+   0x3fa000000000L, 
+};
+protected SimpleCharStream input_stream;
+private final int[] jjrounds = new int[4];
+private final int[] jjstateSet = new int[8];
+StringBuffer image;
+int jjimageLen;
+int lengthOfMatch;
+protected char curChar;
+public DateTimeParserTokenManager(SimpleCharStream stream){
+   if (SimpleCharStream.staticFlag)
+      throw new Error("ERROR: Cannot use a static CharStream class with a non-static lexical analyzer.");
+   input_stream = stream;
+}
+public DateTimeParserTokenManager(SimpleCharStream stream, int lexState){
+   this(stream);
+   SwitchTo(lexState);
+}
+public void ReInit(SimpleCharStream stream)
+{
+   jjmatchedPos = jjnewStateCnt = 0;
+   curLexState = defaultLexState;
+   input_stream = stream;
+   ReInitRounds();
+}
+private final void ReInitRounds()
+{
+   int i;
+   jjround = 0x80000001;
+   for (i = 4; i-- > 0;)
+      jjrounds[i] = 0x80000000;
+}
+public void ReInit(SimpleCharStream stream, int lexState)
+{
+   ReInit(stream);
+   SwitchTo(lexState);
+}
+public void SwitchTo(int lexState)
+{
+   if (lexState >= 3 || lexState < 0)
+      throw new TokenMgrError("Error: Ignoring invalid lexical state : " + lexState + ". State unchanged.", TokenMgrError.INVALID_LEXICAL_STATE);
+   else
+      curLexState = lexState;
+}
+
+protected Token jjFillToken()
+{
+   Token t = Token.newToken(jjmatchedKind);
+   t.kind = jjmatchedKind;
+   String im = jjstrLiteralImages[jjmatchedKind];
+   t.image = (im == null) ? input_stream.GetImage() : im;
+   t.beginLine = input_stream.getBeginLine();
+   t.beginColumn = input_stream.getBeginColumn();
+   t.endLine = input_stream.getEndLine();
+   t.endColumn = input_stream.getEndColumn();
+   return t;
+}
+
+int curLexState = 0;
+int defaultLexState = 0;
+int jjnewStateCnt;
+int jjround;
+int jjmatchedPos;
+int jjmatchedKind;
+
+public Token getNextToken() 
+{
+  int kind;
+  Token specialToken = null;
+  Token matchedToken;
+  int curPos = 0;
+
+  EOFLoop :
+  for (;;)
+  {   
+   try   
+   {     
+      curChar = input_stream.BeginToken();
+   }     
+   catch(java.io.IOException e)
+   {        
+      jjmatchedKind = 0;
+      matchedToken = jjFillToken();
+      matchedToken.specialToken = specialToken;
+      return matchedToken;
+   }
+   image = null;
+   jjimageLen = 0;
+
+   for (;;)
+   {
+     switch(curLexState)
+     {
+       case 0:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_0();
+         break;
+       case 1:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_1();
+         break;
+       case 2:
+         jjmatchedKind = 0x7fffffff;
+         jjmatchedPos = 0;
+         curPos = jjMoveStringLiteralDfa0_2();
+         break;
+     }
+     if (jjmatchedKind != 0x7fffffff)
+     {
+        if (jjmatchedPos + 1 < curPos)
+           input_stream.backup(curPos - jjmatchedPos - 1);
+        if ((jjtoToken[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+        {
+           matchedToken = jjFillToken();
+           matchedToken.specialToken = specialToken;
+       if (jjnewLexState[jjmatchedKind] != -1)
+         curLexState = jjnewLexState[jjmatchedKind];
+           return matchedToken;
+        }
+        else if ((jjtoSkip[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+        {
+           if ((jjtoSpecial[jjmatchedKind >> 6] & (1L << (jjmatchedKind & 077))) != 0L)
+           {
+              matchedToken = jjFillToken();
+              if (specialToken == null)
+                 specialToken = matchedToken;
+              else
+              {
+                 matchedToken.specialToken = specialToken;
+                 specialToken = (specialToken.next = matchedToken);
+              }
+           }
+         if (jjnewLexState[jjmatchedKind] != -1)
+           curLexState = jjnewLexState[jjmatchedKind];
+           continue EOFLoop;
+        }
+        MoreLexicalActions();
+      if (jjnewLexState[jjmatchedKind] != -1)
+        curLexState = jjnewLexState[jjmatchedKind];
+        curPos = 0;
+        jjmatchedKind = 0x7fffffff;
+        try {
+           curChar = input_stream.readChar();
+           continue;
+        }
+        catch (java.io.IOException e1) { }
+     }
+     int error_line = input_stream.getEndLine();
+     int error_column = input_stream.getEndColumn();
+     String error_after = null;
+     boolean EOFSeen = false;
+     try { input_stream.readChar(); input_stream.backup(1); }
+     catch (java.io.IOException e1) {
+        EOFSeen = true;
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+        if (curChar == '\n' || curChar == '\r') {
+           error_line++;
+           error_column = 0;
+        }
+        else
+           error_column++;
+     }
+     if (!EOFSeen) {
+        input_stream.backup(1);
+        error_after = curPos <= 1 ? "" : input_stream.GetImage();
+     }
+     throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR);
+   }
+  }
+}
+
+void MoreLexicalActions()
+{
+   jjimageLen += (lengthOfMatch = jjmatchedPos + 1);
+   switch(jjmatchedKind)
+   {
+      case 39 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 40 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              commentNest = 1;
+         break;
+      case 42 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+                          image.deleteCharAt(image.length() - 2);
+         break;
+      case 43 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              ++commentNest;
+         break;
+      case 44 :
+         if (image == null)
+            image = new StringBuffer();
+         image.append(input_stream.GetSuffix(jjimageLen));
+         jjimageLen = 0;
+              --commentNest; if (commentNest == 0) SwitchTo(INCOMMENT);
+         break;
+      default : 
+         break;
+   }
+}
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/ParseException.java b/src/org/apache/james/mime4j/field/datetime/parser/ParseException.java
new file mode 100644
index 0000000..13b3ff0
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/ParseException.java
@@ -0,0 +1,207 @@
+/* Generated By:JavaCC: Do not edit this line. ParseException.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+
+/**
+ * This exception is thrown when parse errors are encountered.
+ * You can explicitly create objects of this exception type by
+ * calling the method generateParseException in the generated
+ * parser.
+ *
+ * You can modify this class to customize your error reporting
+ * mechanisms so long as you retain the public fields.
+ */
+public class ParseException extends Exception {
+
+  /**
+   * This constructor is used by the method "generateParseException"
+   * in the generated parser.  Calling this constructor generates
+   * a new object of this type with the fields "currentToken",
+   * "expectedTokenSequences", and "tokenImage" set.  The boolean
+   * flag "specialConstructor" is also set to true to indicate that
+   * this constructor was used to create this object.
+   * This constructor calls its super class with the empty string
+   * to force the "toString" method of parent class "Throwable" to
+   * print the error message in the form:
+   *     ParseException: <result of getMessage>
+   */
+  public ParseException(Token currentTokenVal,
+                        int[][] expectedTokenSequencesVal,
+                        String[] tokenImageVal
+                       )
+  {
+    super("");
+    specialConstructor = true;
+    currentToken = currentTokenVal;
+    expectedTokenSequences = expectedTokenSequencesVal;
+    tokenImage = tokenImageVal;
+  }
+
+  /**
+   * The following constructors are for use by you for whatever
+   * purpose you can think of.  Constructing the exception in this
+   * manner makes the exception behave in the normal way - i.e., as
+   * documented in the class "Throwable".  The fields "errorToken",
+   * "expectedTokenSequences", and "tokenImage" do not contain
+   * relevant information.  The JavaCC generated code does not use
+   * these constructors.
+   */
+
+  public ParseException() {
+    super();
+    specialConstructor = false;
+  }
+
+  public ParseException(String message) {
+    super(message);
+    specialConstructor = false;
+  }
+
+  /**
+   * This variable determines which constructor was used to create
+   * this object and thereby affects the semantics of the
+   * "getMessage" method (see below).
+   */
+  protected boolean specialConstructor;
+
+  /**
+   * This is the last token that has been consumed successfully.  If
+   * this object has been created due to a parse error, the token
+   * followng this token will (therefore) be the first error token.
+   */
+  public Token currentToken;
+
+  /**
+   * Each entry in this array is an array of integers.  Each array
+   * of integers represents a sequence of tokens (by their ordinal
+   * values) that is expected at this point of the parse.
+   */
+  public int[][] expectedTokenSequences;
+
+  /**
+   * This is a reference to the "tokenImage" array of the generated
+   * parser within which the parse error occurred.  This array is
+   * defined in the generated ...Constants interface.
+   */
+  public String[] tokenImage;
+
+  /**
+   * This method has the standard behavior when this object has been
+   * created using the standard constructors.  Otherwise, it uses
+   * "currentToken" and "expectedTokenSequences" to generate a parse
+   * error message and returns it.  If this object has been created
+   * due to a parse error, and you do not catch it (it gets thrown
+   * from the parser), then this method is called during the printing
+   * of the final stack trace, and hence the correct error message
+   * gets displayed.
+   */
+  public String getMessage() {
+    if (!specialConstructor) {
+      return super.getMessage();
+    }
+    StringBuffer expected = new StringBuffer();
+    int maxSize = 0;
+    for (int i = 0; i < expectedTokenSequences.length; i++) {
+      if (maxSize < expectedTokenSequences[i].length) {
+        maxSize = expectedTokenSequences[i].length;
+      }
+      for (int j = 0; j < expectedTokenSequences[i].length; j++) {
+        expected.append(tokenImage[expectedTokenSequences[i][j]]).append(" ");
+      }
+      if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
+        expected.append("...");
+      }
+      expected.append(eol).append("    ");
+    }
+    String retval = "Encountered \"";
+    Token tok = currentToken.next;
+    for (int i = 0; i < maxSize; i++) {
+      if (i != 0) retval += " ";
+      if (tok.kind == 0) {
+        retval += tokenImage[0];
+        break;
+      }
+      retval += add_escapes(tok.image);
+      tok = tok.next; 
+    }
+    retval += "\" at line " + currentToken.next.beginLine + ", column " + currentToken.next.beginColumn;
+    retval += "." + eol;
+    if (expectedTokenSequences.length == 1) {
+      retval += "Was expecting:" + eol + "    ";
+    } else {
+      retval += "Was expecting one of:" + eol + "    ";
+    }
+    retval += expected.toString();
+    return retval;
+  }
+
+  /**
+   * The end of line string for this machine.
+   */
+  protected String eol = System.getProperty("line.separator", "\n");
+ 
+  /**
+   * Used to convert raw characters to their escaped version
+   * when these raw version cannot be used as part of an ASCII
+   * string literal.
+   */
+  protected String add_escapes(String str) {
+      StringBuffer retval = new StringBuffer();
+      char ch;
+      for (int i = 0; i < str.length(); i++) {
+        switch (str.charAt(i))
+        {
+           case 0 :
+              continue;
+           case '\b':
+              retval.append("\\b");
+              continue;
+           case '\t':
+              retval.append("\\t");
+              continue;
+           case '\n':
+              retval.append("\\n");
+              continue;
+           case '\f':
+              retval.append("\\f");
+              continue;
+           case '\r':
+              retval.append("\\r");
+              continue;
+           case '\"':
+              retval.append("\\\"");
+              continue;
+           case '\'':
+              retval.append("\\\'");
+              continue;
+           case '\\':
+              retval.append("\\\\");
+              continue;
+           default:
+              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                 String s = "0000" + Integer.toString(ch, 16);
+                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+              } else {
+                 retval.append(ch);
+              }
+              continue;
+        }
+      }
+      return retval.toString();
+   }
+
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/SimpleCharStream.java b/src/org/apache/james/mime4j/field/datetime/parser/SimpleCharStream.java
new file mode 100644
index 0000000..2724529
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/SimpleCharStream.java
@@ -0,0 +1,454 @@
+/* Generated By:JavaCC: Do not edit this line. SimpleCharStream.java Version 4.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+
+/**
+ * An implementation of interface CharStream, where the stream is assumed to
+ * contain only ASCII characters (without unicode processing).
+ */
+
+public class SimpleCharStream
+{
+  public static final boolean staticFlag = false;
+  int bufsize;
+  int available;
+  int tokenBegin;
+  public int bufpos = -1;
+  protected int bufline[];
+  protected int bufcolumn[];
+
+  protected int column = 0;
+  protected int line = 1;
+
+  protected boolean prevCharIsCR = false;
+  protected boolean prevCharIsLF = false;
+
+  protected java.io.Reader inputStream;
+
+  protected char[] buffer;
+  protected int maxNextCharInd = 0;
+  protected int inBuf = 0;
+  protected int tabSize = 8;
+
+  protected void setTabSize(int i) { tabSize = i; }
+  protected int getTabSize(int i) { return tabSize; }
+
+
+  protected void ExpandBuff(boolean wrapAround)
+  {
+     char[] newbuffer = new char[bufsize + 2048];
+     int newbufline[] = new int[bufsize + 2048];
+     int newbufcolumn[] = new int[bufsize + 2048];
+
+     try
+     {
+        if (wrapAround)
+        {
+           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+           System.arraycopy(buffer, 0, newbuffer,
+                                             bufsize - tokenBegin, bufpos);
+           buffer = newbuffer;
+
+           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+           System.arraycopy(bufline, 0, newbufline, bufsize - tokenBegin, bufpos);
+           bufline = newbufline;
+
+           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+           System.arraycopy(bufcolumn, 0, newbufcolumn, bufsize - tokenBegin, bufpos);
+           bufcolumn = newbufcolumn;
+
+           maxNextCharInd = (bufpos += (bufsize - tokenBegin));
+        }
+        else
+        {
+           System.arraycopy(buffer, tokenBegin, newbuffer, 0, bufsize - tokenBegin);
+           buffer = newbuffer;
+
+           System.arraycopy(bufline, tokenBegin, newbufline, 0, bufsize - tokenBegin);
+           bufline = newbufline;
+
+           System.arraycopy(bufcolumn, tokenBegin, newbufcolumn, 0, bufsize - tokenBegin);
+           bufcolumn = newbufcolumn;
+
+           maxNextCharInd = (bufpos -= tokenBegin);
+        }
+     }
+     catch (Throwable t)
+     {
+        throw new Error(t.getMessage());
+     }
+
+
+     bufsize += 2048;
+     available = bufsize;
+     tokenBegin = 0;
+  }
+
+  protected void FillBuff() throws java.io.IOException
+  {
+     if (maxNextCharInd == available)
+     {
+        if (available == bufsize)
+        {
+           if (tokenBegin > 2048)
+           {
+              bufpos = maxNextCharInd = 0;
+              available = tokenBegin;
+           }
+           else if (tokenBegin < 0)
+              bufpos = maxNextCharInd = 0;
+           else
+              ExpandBuff(false);
+        }
+        else if (available > tokenBegin)
+           available = bufsize;
+        else if ((tokenBegin - available) < 2048)
+           ExpandBuff(true);
+        else
+           available = tokenBegin;
+     }
+
+     int i;
+     try {
+        if ((i = inputStream.read(buffer, maxNextCharInd,
+                                    available - maxNextCharInd)) == -1)
+        {
+           inputStream.close();
+           throw new java.io.IOException();
+        }
+        else
+           maxNextCharInd += i;
+        return;
+     }
+     catch(java.io.IOException e) {
+        --bufpos;
+        backup(0);
+        if (tokenBegin == -1)
+           tokenBegin = bufpos;
+        throw e;
+     }
+  }
+
+  public char BeginToken() throws java.io.IOException
+  {
+     tokenBegin = -1;
+     char c = readChar();
+     tokenBegin = bufpos;
+
+     return c;
+  }
+
+  protected void UpdateLineColumn(char c)
+  {
+     column++;
+
+     if (prevCharIsLF)
+     {
+        prevCharIsLF = false;
+        line += (column = 1);
+     }
+     else if (prevCharIsCR)
+     {
+        prevCharIsCR = false;
+        if (c == '\n')
+        {
+           prevCharIsLF = true;
+        }
+        else
+           line += (column = 1);
+     }
+
+     switch (c)
+     {
+        case '\r' :
+           prevCharIsCR = true;
+           break;
+        case '\n' :
+           prevCharIsLF = true;
+           break;
+        case '\t' :
+           column--;
+           column += (tabSize - (column % tabSize));
+           break;
+        default :
+           break;
+     }
+
+     bufline[bufpos] = line;
+     bufcolumn[bufpos] = column;
+  }
+
+  public char readChar() throws java.io.IOException
+  {
+     if (inBuf > 0)
+     {
+        --inBuf;
+
+        if (++bufpos == bufsize)
+           bufpos = 0;
+
+        return buffer[bufpos];
+     }
+
+     if (++bufpos >= maxNextCharInd)
+        FillBuff();
+
+     char c = buffer[bufpos];
+
+     UpdateLineColumn(c);
+     return (c);
+  }
+
+  /**
+   * @deprecated 
+   * @see #getEndColumn
+   */
+  @Deprecated
+  public int getColumn() {
+     return bufcolumn[bufpos];
+  }
+
+  /**
+   * @deprecated 
+   * @see #getEndLine
+   */
+  @Deprecated
+  public int getLine() {
+     return bufline[bufpos];
+  }
+
+  public int getEndColumn() {
+     return bufcolumn[bufpos];
+  }
+
+  public int getEndLine() {
+     return bufline[bufpos];
+  }
+
+  public int getBeginColumn() {
+     return bufcolumn[tokenBegin];
+  }
+
+  public int getBeginLine() {
+     return bufline[tokenBegin];
+  }
+
+  public void backup(int amount) {
+
+    inBuf += amount;
+    if ((bufpos -= amount) < 0)
+       bufpos += bufsize;
+  }
+
+  public SimpleCharStream(java.io.Reader dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+    inputStream = dstream;
+    line = startline;
+    column = startcolumn - 1;
+
+    available = bufsize = buffersize;
+    buffer = new char[buffersize];
+    bufline = new int[buffersize];
+    bufcolumn = new int[buffersize];
+  }
+
+  public SimpleCharStream(java.io.Reader dstream, int startline,
+                          int startcolumn)
+  {
+     this(dstream, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.Reader dstream)
+  {
+     this(dstream, 1, 1, 4096);
+  }
+  public void ReInit(java.io.Reader dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+    inputStream = dstream;
+    line = startline;
+    column = startcolumn - 1;
+
+    if (buffer == null || buffersize != buffer.length)
+    {
+      available = bufsize = buffersize;
+      buffer = new char[buffersize];
+      bufline = new int[buffersize];
+      bufcolumn = new int[buffersize];
+    }
+    prevCharIsLF = prevCharIsCR = false;
+    tokenBegin = inBuf = maxNextCharInd = 0;
+    bufpos = -1;
+  }
+
+  public void ReInit(java.io.Reader dstream, int startline,
+                     int startcolumn)
+  {
+     ReInit(dstream, startline, startcolumn, 4096);
+  }
+
+  public void ReInit(java.io.Reader dstream)
+  {
+     ReInit(dstream, 1, 1, 4096);
+  }
+  public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
+  int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
+  {
+     this(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, int startline,
+  int startcolumn, int buffersize)
+  {
+     this(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn) throws java.io.UnsupportedEncodingException
+  {
+     this(dstream, encoding, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, int startline,
+                          int startcolumn)
+  {
+     this(dstream, startline, startcolumn, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
+  {
+     this(dstream, encoding, 1, 1, 4096);
+  }
+
+  public SimpleCharStream(java.io.InputStream dstream)
+  {
+     this(dstream, 1, 1, 4096);
+  }
+
+  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                          int startcolumn, int buffersize) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(encoding == null ? new java.io.InputStreamReader(dstream) : new java.io.InputStreamReader(dstream, encoding), startline, startcolumn, buffersize);
+  }
+
+  public void ReInit(java.io.InputStream dstream, int startline,
+                          int startcolumn, int buffersize)
+  {
+     ReInit(new java.io.InputStreamReader(dstream), startline, startcolumn, buffersize);
+  }
+
+  public void ReInit(java.io.InputStream dstream, String encoding) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(dstream, encoding, 1, 1, 4096);
+  }
+
+  public void ReInit(java.io.InputStream dstream)
+  {
+     ReInit(dstream, 1, 1, 4096);
+  }
+  public void ReInit(java.io.InputStream dstream, String encoding, int startline,
+                     int startcolumn) throws java.io.UnsupportedEncodingException
+  {
+     ReInit(dstream, encoding, startline, startcolumn, 4096);
+  }
+  public void ReInit(java.io.InputStream dstream, int startline,
+                     int startcolumn)
+  {
+     ReInit(dstream, startline, startcolumn, 4096);
+  }
+  public String GetImage()
+  {
+     if (bufpos >= tokenBegin)
+        return new String(buffer, tokenBegin, bufpos - tokenBegin + 1);
+     else
+        return new String(buffer, tokenBegin, bufsize - tokenBegin) +
+                              new String(buffer, 0, bufpos + 1);
+  }
+
+  public char[] GetSuffix(int len)
+  {
+     char[] ret = new char[len];
+
+     if ((bufpos + 1) >= len)
+        System.arraycopy(buffer, bufpos - len + 1, ret, 0, len);
+     else
+     {
+        System.arraycopy(buffer, bufsize - (len - bufpos - 1), ret, 0,
+                                                          len - bufpos - 1);
+        System.arraycopy(buffer, 0, ret, len - bufpos - 1, bufpos + 1);
+     }
+
+     return ret;
+  }
+
+  public void Done()
+  {
+     buffer = null;
+     bufline = null;
+     bufcolumn = null;
+  }
+
+  /**
+   * Method to adjust line and column numbers for the start of a token.
+   */
+  public void adjustBeginLineColumn(int newLine, int newCol)
+  {
+     int start = tokenBegin;
+     int len;
+
+     if (bufpos >= tokenBegin)
+     {
+        len = bufpos - tokenBegin + inBuf + 1;
+     }
+     else
+     {
+        len = bufsize - tokenBegin + bufpos + 1 + inBuf;
+     }
+
+     int i = 0, j = 0, k = 0;
+     int nextColDiff = 0, columnDiff = 0;
+
+     while (i < len &&
+            bufline[j = start % bufsize] == bufline[k = ++start % bufsize])
+     {
+        bufline[j] = newLine;
+        nextColDiff = columnDiff + bufcolumn[k] - bufcolumn[j];
+        bufcolumn[j] = newCol + columnDiff;
+        columnDiff = nextColDiff;
+        i++;
+     } 
+
+     if (i < len)
+     {
+        bufline[j] = newLine++;
+        bufcolumn[j] = newCol + columnDiff;
+
+        while (i++ < len)
+        {
+           if (bufline[j = start % bufsize] != bufline[++start % bufsize])
+              bufline[j] = newLine++;
+           else
+              bufline[j] = newLine;
+        }
+     }
+
+     line = bufline[j];
+     column = bufcolumn[j];
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/Token.java b/src/org/apache/james/mime4j/field/datetime/parser/Token.java
new file mode 100644
index 0000000..0927a09
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/Token.java
@@ -0,0 +1,96 @@
+/* Generated By:JavaCC: Do not edit this line. Token.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+
+/**
+ * Describes the input token stream.
+ */
+
+public class Token {
+
+  /**
+   * An integer that describes the kind of this token.  This numbering
+   * system is determined by JavaCCParser, and a table of these numbers is
+   * stored in the file ...Constants.java.
+   */
+  public int kind;
+
+  /**
+   * beginLine and beginColumn describe the position of the first character
+   * of this token; endLine and endColumn describe the position of the
+   * last character of this token.
+   */
+  public int beginLine, beginColumn, endLine, endColumn;
+
+  /**
+   * The string image of the token.
+   */
+  public String image;
+
+  /**
+   * A reference to the next regular (non-special) token from the input
+   * stream.  If this is the last token from the input stream, or if the
+   * token manager has not read tokens beyond this one, this field is
+   * set to null.  This is true only if this token is also a regular
+   * token.  Otherwise, see below for a description of the contents of
+   * this field.
+   */
+  public Token next;
+
+  /**
+   * This field is used to access special tokens that occur prior to this
+   * token, but after the immediately preceding regular (non-special) token.
+   * If there are no such special tokens, this field is set to null.
+   * When there are more than one such special token, this field refers
+   * to the last of these special tokens, which in turn refers to the next
+   * previous special token through its specialToken field, and so on
+   * until the first special token (whose specialToken field is null).
+   * The next fields of special tokens refer to other special tokens that
+   * immediately follow it (without an intervening regular token).  If there
+   * is no such token, this field is null.
+   */
+  public Token specialToken;
+
+  /**
+   * Returns the image.
+   */
+  public String toString()
+  {
+     return image;
+  }
+
+  /**
+   * Returns a new Token object, by default. However, if you want, you
+   * can create and return subclass objects based on the value of ofKind.
+   * Simply add the cases to the switch for all those special cases.
+   * For example, if you have a subclass of Token called IDToken that
+   * you want to create if ofKind is ID, simlpy add something like :
+   *
+   *    case MyParserConstants.ID : return new IDToken();
+   *
+   * to the following switch statement. Then you can cast matchedToken
+   * variable to the appropriate type and use it in your lexical actions.
+   */
+  public static final Token newToken(int ofKind)
+  {
+     switch(ofKind)
+     {
+       default : return new Token();
+     }
+  }
+
+}
diff --git a/src/org/apache/james/mime4j/field/datetime/parser/TokenMgrError.java b/src/org/apache/james/mime4j/field/datetime/parser/TokenMgrError.java
new file mode 100644
index 0000000..e7043c1
--- /dev/null
+++ b/src/org/apache/james/mime4j/field/datetime/parser/TokenMgrError.java
@@ -0,0 +1,148 @@
+/* Generated By:JavaCC: Do not edit this line. TokenMgrError.java Version 3.0 */
+/*
+ *  Copyright 2004 the mime4j 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 org.apache.james.mime4j.field.datetime.parser;
+
+public class TokenMgrError extends Error
+{
+   /*
+    * Ordinals for various reasons why an Error of this type can be thrown.
+    */
+
+   /**
+    * Lexical error occured.
+    */
+   static final int LEXICAL_ERROR = 0;
+
+   /**
+    * An attempt wass made to create a second instance of a static token manager.
+    */
+   static final int STATIC_LEXER_ERROR = 1;
+
+   /**
+    * Tried to change to an invalid lexical state.
+    */
+   static final int INVALID_LEXICAL_STATE = 2;
+
+   /**
+    * Detected (and bailed out of) an infinite loop in the token manager.
+    */
+   static final int LOOP_DETECTED = 3;
+
+   /**
+    * Indicates the reason why the exception is thrown. It will have
+    * one of the above 4 values.
+    */
+   int errorCode;
+
+   /**
+    * Replaces unprintable characters by their espaced (or unicode escaped)
+    * equivalents in the given string
+    */
+   protected static final String addEscapes(String str) {
+      StringBuffer retval = new StringBuffer();
+      char ch;
+      for (int i = 0; i < str.length(); i++) {
+        switch (str.charAt(i))
+        {
+           case 0 :
+              continue;
+           case '\b':
+              retval.append("\\b");
+              continue;
+           case '\t':
+              retval.append("\\t");
+              continue;
+           case '\n':
+              retval.append("\\n");
+              continue;
+           case '\f':
+              retval.append("\\f");
+              continue;
+           case '\r':
+              retval.append("\\r");
+              continue;
+           case '\"':
+              retval.append("\\\"");
+              continue;
+           case '\'':
+              retval.append("\\\'");
+              continue;
+           case '\\':
+              retval.append("\\\\");
+              continue;
+           default:
+              if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
+                 String s = "0000" + Integer.toString(ch, 16);
+                 retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+              } else {
+                 retval.append(ch);
+              }
+              continue;
+        }
+      }
+      return retval.toString();
+   }
+
+   /**
+    * Returns a detailed message for the Error when it is thrown by the
+    * token manager to indicate a lexical error.
+    * Parameters : 
+    *    EOFSeen     : indicates if EOF caused the lexicl error
+    *    curLexState : lexical state in which this error occured
+    *    errorLine   : line number when the error occured
+    *    errorColumn : column number when the error occured
+    *    errorAfter  : prefix that was seen before this error occured
+    *    curchar     : the offending character
+    * Note: You can customize the lexical error message by modifying this method.
+    */
+   protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
+      return("Lexical error at line " +
+           errorLine + ", column " +
+           errorColumn + ".  Encountered: " +
+           (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
+           "after : \"" + addEscapes(errorAfter) + "\"");
+   }
+
+   /**
+    * You can also modify the body of this method to customize your error messages.
+    * For example, cases like LOOP_DETECTED and INVALID_LEXICAL_STATE are not
+    * of end-users concern, so you can return something like : 
+    *
+    *     "Internal Error : Please file a bug report .... "
+    *
+    * from this method for such cases in the release version of your parser.
+    */
+   public String getMessage() {
+      return super.getMessage();
+   }
+
+   /*
+    * Constructors of various flavors follow.
+    */
+
+   public TokenMgrError() {
+   }
+
+   public TokenMgrError(String message, int reason) {
+      super(message);
+      errorCode = reason;
+   }
+
+   public TokenMgrError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar, int reason) {
+      this(LexicalError(EOFSeen, lexState, errorLine, errorColumn, errorAfter, curChar), reason);
+   }
+}
diff --git a/src/org/apache/james/mime4j/util/CharsetUtil.java b/src/org/apache/james/mime4j/util/CharsetUtil.java
new file mode 100644
index 0000000..4e712fc
--- /dev/null
+++ b/src/org/apache/james/mime4j/util/CharsetUtil.java
@@ -0,0 +1,1249 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you 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 org.apache.james.mime4j.util;
+
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.IllegalCharsetNameException;
+import java.nio.charset.UnsupportedCharsetException;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.TreeSet;
+
+//BEGIN android-changed: Stubbing out logging
+import org.apache.james.mime4j.Log;
+import org.apache.james.mime4j.LogFactory;
+//END android-changed
+
+/**
+ * Utility class for working with character sets. It is somewhat similar to
+ * the Java 1.4 <code>java.nio.charset.Charset</code> class but knows many
+ * more aliases and is compatible with Java 1.3. It will use a simple detection
+ * mechanism to detect what character sets the current VM supports. This will
+ * be a sub-set of the character sets listed in the
+ * <a href="http://java.sun.com/j2se/1.5.0/docs/guide/intl/encoding.doc.html">
+ * Java 1.5 (J2SE5.0) Supported Encodings</a> document.
+ * <p>
+ * The <a href="http://www.iana.org/assignments/character-sets">
+ * IANA Character Sets</a> document has been used to determine the preferred
+ * MIME character set names and to get a list of known aliases.
+ * <p>
+ * This is a complete list of the character sets known to this class:
+ * <table>
+ *     <tr>
+ *         <td>Canonical (Java) name</td>
+ *         <td>MIME preferred</td>
+ *         <td>Aliases</td>
+ *     </tr>
+ *     <tr>
+ *         <td>ASCII</td>
+ *         <td>US-ASCII</td>
+ *         <td>ANSI_X3.4-1968 iso-ir-6 ANSI_X3.4-1986 ISO_646.irv:1991 ISO646-US us IBM367 cp367 csASCII ascii7 646 iso_646.irv:1983 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Big5</td>
+ *         <td>Big5</td>
+ *         <td>csBig5 CN-Big5 BIG-FIVE BIGFIVE </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Big5_HKSCS</td>
+ *         <td>Big5-HKSCS</td>
+ *         <td>big5hkscs </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Big5_Solaris</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp037</td>
+ *         <td>IBM037</td>
+ *         <td>ebcdic-cp-us ebcdic-cp-ca ebcdic-cp-wt ebcdic-cp-nl csIBM037 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1006</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1025</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1026</td>
+ *         <td>IBM1026</td>
+ *         <td>csIBM1026 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1046</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1047</td>
+ *         <td>IBM1047</td>
+ *         <td>IBM-1047 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1097</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1098</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1112</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1122</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1123</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1124</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1140</td>
+ *         <td>IBM01140</td>
+ *         <td>CCSID01140 CP01140 ebcdic-us-37+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1141</td>
+ *         <td>IBM01141</td>
+ *         <td>CCSID01141 CP01141 ebcdic-de-273+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1142</td>
+ *         <td>IBM01142</td>
+ *         <td>CCSID01142 CP01142 ebcdic-dk-277+euro ebcdic-no-277+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1143</td>
+ *         <td>IBM01143</td>
+ *         <td>CCSID01143 CP01143 ebcdic-fi-278+euro ebcdic-se-278+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1144</td>
+ *         <td>IBM01144</td>
+ *         <td>CCSID01144 CP01144 ebcdic-it-280+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1145</td>
+ *         <td>IBM01145</td>
+ *         <td>CCSID01145 CP01145 ebcdic-es-284+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1146</td>
+ *         <td>IBM01146</td>
+ *         <td>CCSID01146 CP01146 ebcdic-gb-285+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1147</td>
+ *         <td>IBM01147</td>
+ *         <td>CCSID01147 CP01147 ebcdic-fr-297+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1148</td>
+ *         <td>IBM01148</td>
+ *         <td>CCSID01148 CP01148 ebcdic-international-500+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1149</td>
+ *         <td>IBM01149</td>
+ *         <td>CCSID01149 CP01149 ebcdic-is-871+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1250</td>
+ *         <td>windows-1250</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1251</td>
+ *         <td>windows-1251</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1252</td>
+ *         <td>windows-1252</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1253</td>
+ *         <td>windows-1253</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1254</td>
+ *         <td>windows-1254</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1255</td>
+ *         <td>windows-1255</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1256</td>
+ *         <td>windows-1256</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1257</td>
+ *         <td>windows-1257</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1258</td>
+ *         <td>windows-1258</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1381</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp1383</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp273</td>
+ *         <td>IBM273</td>
+ *         <td>csIBM273 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp277</td>
+ *         <td>IBM277</td>
+ *         <td>EBCDIC-CP-DK EBCDIC-CP-NO csIBM277 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp278</td>
+ *         <td>IBM278</td>
+ *         <td>CP278 ebcdic-cp-fi ebcdic-cp-se csIBM278 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp280</td>
+ *         <td>IBM280</td>
+ *         <td>ebcdic-cp-it csIBM280 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp284</td>
+ *         <td>IBM284</td>
+ *         <td>ebcdic-cp-es csIBM284 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp285</td>
+ *         <td>IBM285</td>
+ *         <td>ebcdic-cp-gb csIBM285 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp297</td>
+ *         <td>IBM297</td>
+ *         <td>ebcdic-cp-fr csIBM297 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp33722</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp420</td>
+ *         <td>IBM420</td>
+ *         <td>ebcdic-cp-ar1 csIBM420 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp424</td>
+ *         <td>IBM424</td>
+ *         <td>ebcdic-cp-he csIBM424 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp437</td>
+ *         <td>IBM437</td>
+ *         <td>437 csPC8CodePage437 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp500</td>
+ *         <td>IBM500</td>
+ *         <td>ebcdic-cp-be ebcdic-cp-ch csIBM500 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp737</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp775</td>
+ *         <td>IBM775</td>
+ *         <td>csPC775Baltic </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp838</td>
+ *         <td>IBM-Thai</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp850</td>
+ *         <td>IBM850</td>
+ *         <td>850 csPC850Multilingual </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp852</td>
+ *         <td>IBM852</td>
+ *         <td>852 csPCp852 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp855</td>
+ *         <td>IBM855</td>
+ *         <td>855 csIBM855 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp856</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp857</td>
+ *         <td>IBM857</td>
+ *         <td>857 csIBM857 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp858</td>
+ *         <td>IBM00858</td>
+ *         <td>CCSID00858 CP00858 PC-Multilingual-850+euro </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp860</td>
+ *         <td>IBM860</td>
+ *         <td>860 csIBM860 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp861</td>
+ *         <td>IBM861</td>
+ *         <td>861 cp-is csIBM861 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp862</td>
+ *         <td>IBM862</td>
+ *         <td>862 csPC862LatinHebrew </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp863</td>
+ *         <td>IBM863</td>
+ *         <td>863 csIBM863 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp864</td>
+ *         <td>IBM864</td>
+ *         <td>cp864 csIBM864 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp865</td>
+ *         <td>IBM865</td>
+ *         <td>865 csIBM865 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp866</td>
+ *         <td>IBM866</td>
+ *         <td>866 csIBM866 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp868</td>
+ *         <td>IBM868</td>
+ *         <td>cp-ar csIBM868 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp869</td>
+ *         <td>IBM869</td>
+ *         <td>cp-gr csIBM869 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp870</td>
+ *         <td>IBM870</td>
+ *         <td>ebcdic-cp-roece ebcdic-cp-yu csIBM870 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp871</td>
+ *         <td>IBM871</td>
+ *         <td>ebcdic-cp-is csIBM871 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp875</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp918</td>
+ *         <td>IBM918</td>
+ *         <td>ebcdic-cp-ar2 csIBM918 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp921</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp922</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp930</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp933</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp935</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp937</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp939</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp942</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp942C</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp943</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp943C</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp948</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp949</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp949C</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp950</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp964</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>Cp970</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>EUC_CN</td>
+ *         <td>GB2312</td>
+ *         <td>x-EUC-CN csGB2312 euccn euc-cn gb2312-80 gb2312-1980 CN-GB CN-GB-ISOIR165 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>EUC_JP</td>
+ *         <td>EUC-JP</td>
+ *         <td>csEUCPkdFmtJapanese Extended_UNIX_Code_Packed_Format_for_Japanese eucjis x-eucjp eucjp x-euc-jp </td>
+ *     </tr>
+ *     <tr>
+ *         <td>EUC_JP_LINUX</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>EUC_JP_Solaris</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>EUC_KR</td>
+ *         <td>EUC-KR</td>
+ *         <td>csEUCKR ksc5601 5601 ksc5601_1987 ksc_5601 ksc5601-1987 ks_c_5601-1987 euckr </td>
+ *     </tr>
+ *     <tr>
+ *         <td>EUC_TW</td>
+ *         <td>EUC-TW</td>
+ *         <td>x-EUC-TW cns11643 euctw </td>
+ *     </tr>
+ *     <tr>
+ *         <td>GB18030</td>
+ *         <td>GB18030</td>
+ *         <td>gb18030-2000 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>GBK</td>
+ *         <td>windows-936</td>
+ *         <td>CP936 MS936 ms_936 x-mswin-936 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISCII91</td>
+ *         <td>?</td>
+ *         <td>x-ISCII91 iscii </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO2022CN</td>
+ *         <td>ISO-2022-CN</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO2022JP</td>
+ *         <td>ISO-2022-JP</td>
+ *         <td>csISO2022JP JIS jis_encoding csjisencoding </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO2022KR</td>
+ *         <td>ISO-2022-KR</td>
+ *         <td>csISO2022KR </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO2022_CN_CNS</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO2022_CN_GB</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_1</td>
+ *         <td>ISO-8859-1</td>
+ *         <td>ISO_8859-1:1987 iso-ir-100 ISO_8859-1 latin1 l1 IBM819 CP819 csISOLatin1 8859_1 819 IBM-819 ISO8859-1 ISO_8859_1 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_13</td>
+ *         <td>ISO-8859-13</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_15</td>
+ *         <td>ISO-8859-15</td>
+ *         <td>ISO_8859-15 Latin-9 8859_15 csISOlatin9 IBM923 cp923 923 L9 IBM-923 ISO8859-15 LATIN9 LATIN0 csISOlatin0 ISO8859_15_FDIS </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_2</td>
+ *         <td>ISO-8859-2</td>
+ *         <td>ISO_8859-2:1987 iso-ir-101 ISO_8859-2 latin2 l2 csISOLatin2 8859_2 iso8859_2 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_3</td>
+ *         <td>ISO-8859-3</td>
+ *         <td>ISO_8859-3:1988 iso-ir-109 ISO_8859-3 latin3 l3 csISOLatin3 8859_3 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_4</td>
+ *         <td>ISO-8859-4</td>
+ *         <td>ISO_8859-4:1988 iso-ir-110 ISO_8859-4 latin4 l4 csISOLatin4 8859_4 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_5</td>
+ *         <td>ISO-8859-5</td>
+ *         <td>ISO_8859-5:1988 iso-ir-144 ISO_8859-5 cyrillic csISOLatinCyrillic 8859_5 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_6</td>
+ *         <td>ISO-8859-6</td>
+ *         <td>ISO_8859-6:1987 iso-ir-127 ISO_8859-6 ECMA-114 ASMO-708 arabic csISOLatinArabic 8859_6 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_7</td>
+ *         <td>ISO-8859-7</td>
+ *         <td>ISO_8859-7:1987 iso-ir-126 ISO_8859-7 ELOT_928 ECMA-118 greek greek8 csISOLatinGreek 8859_7 sun_eu_greek </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_8</td>
+ *         <td>ISO-8859-8</td>
+ *         <td>ISO_8859-8:1988 iso-ir-138 ISO_8859-8 hebrew csISOLatinHebrew 8859_8 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>ISO8859_9</td>
+ *         <td>ISO-8859-9</td>
+ *         <td>ISO_8859-9:1989 iso-ir-148 ISO_8859-9 latin5 l5 csISOLatin5 8859_9 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>JISAutoDetect</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>JIS_C6626-1983</td>
+ *         <td>JIS_C6626-1983</td>
+ *         <td>x-JIS0208 JIS0208 csISO87JISX0208 x0208 JIS_X0208-1983 iso-ir-87 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>JIS_X0201</td>
+ *         <td>JIS_X0201</td>
+ *         <td>X0201 JIS0201 csHalfWidthKatakana </td>
+ *     </tr>
+ *     <tr>
+ *         <td>JIS_X0212-1990</td>
+ *         <td>JIS_X0212-1990</td>
+ *         <td>iso-ir-159 x0212 JIS0212 csISO159JISX02121990 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>KOI8_R</td>
+ *         <td>KOI8-R</td>
+ *         <td>csKOI8R koi8 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>MS874</td>
+ *         <td>windows-874</td>
+ *         <td>cp874 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>MS932</td>
+ *         <td>Windows-31J</td>
+ *         <td>windows-932 csWindows31J x-ms-cp932 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>MS949</td>
+ *         <td>windows-949</td>
+ *         <td>windows949 ms_949 x-windows-949 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>MS950</td>
+ *         <td>windows-950</td>
+ *         <td>x-windows-950 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>MS950_HKSCS</td>
+ *         <td></td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacArabic</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacCentralEurope</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacCroatian</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacCyrillic</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacDingbat</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacGreek</td>
+ *         <td>MacGreek</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacHebrew</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacIceland</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacRoman</td>
+ *         <td>MacRoman</td>
+ *         <td>Macintosh MAC csMacintosh </td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacRomania</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacSymbol</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacThai</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacTurkish</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>MacUkraine</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>SJIS</td>
+ *         <td>Shift_JIS</td>
+ *         <td>MS_Kanji csShiftJIS shift-jis x-sjis pck </td>
+ *     </tr>
+ *     <tr>
+ *         <td>TIS620</td>
+ *         <td>TIS-620</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>UTF-16</td>
+ *         <td>UTF-16</td>
+ *         <td>UTF_16 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>UTF8</td>
+ *         <td>UTF-8</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>UnicodeBig</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>UnicodeBigUnmarked</td>
+ *         <td>UTF-16BE</td>
+ *         <td>X-UTF-16BE UTF_16BE ISO-10646-UCS-2 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>UnicodeLittle</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ *     <tr>
+ *         <td>UnicodeLittleUnmarked</td>
+ *         <td>UTF-16LE</td>
+ *         <td>UTF_16LE X-UTF-16LE </td>
+ *     </tr>
+ *     <tr>
+ *         <td>x-Johab</td>
+ *         <td>johab</td>
+ *         <td>johab cp1361 ms1361 ksc5601-1992 ksc5601_1992 </td>
+ *     </tr>
+ *     <tr>
+ *         <td>x-iso-8859-11</td>
+ *         <td>?</td>
+ *         <td></td>
+ *     </tr>
+ * </table>
+ *
+ *
+ * @version $Id: CharsetUtil.java,v 1.1 2004/10/25 07:26:46 ntherning Exp $
+ */
+public class CharsetUtil {
+    private static Log log = LogFactory.getLog(CharsetUtil.class);
+
+    private static class Charset implements Comparable<Charset> {
+        private String canonical = null;
+        private String mime = null;
+        private String[] aliases = null;
+
+        private Charset(String canonical, String mime, String[] aliases) {
+            this.canonical = canonical;
+            this.mime = mime;
+            this.aliases = aliases;
+        }
+
+        public int compareTo(Charset c) {
+            return this.canonical.compareTo(c.canonical);
+        }
+    }
+
+    private static Charset[] JAVA_CHARSETS = {
+        new Charset("ISO8859_1", "ISO-8859-1",
+                    new String[] {"ISO_8859-1:1987", "iso-ir-100", "ISO_8859-1",
+                                  "latin1", "l1", "IBM819", "CP819",
+                                  "csISOLatin1", "8859_1", "819", "IBM-819",
+                                  "ISO8859-1", "ISO_8859_1"}),
+        new Charset("ISO8859_2", "ISO-8859-2",
+                    new String[] {"ISO_8859-2:1987", "iso-ir-101", "ISO_8859-2",
+                                  "latin2", "l2", "csISOLatin2", "8859_2",
+                                  "iso8859_2"}),
+        new Charset("ISO8859_3", "ISO-8859-3", new String[] {"ISO_8859-3:1988", "iso-ir-109", "ISO_8859-3", "latin3", "l3", "csISOLatin3", "8859_3"}),
+        new Charset("ISO8859_4", "ISO-8859-4",
+                    new String[] {"ISO_8859-4:1988", "iso-ir-110", "ISO_8859-4",
+                                  "latin4", "l4", "csISOLatin4", "8859_4"}),
+        new Charset("ISO8859_5", "ISO-8859-5",
+                    new String[] {"ISO_8859-5:1988", "iso-ir-144", "ISO_8859-5",
+                                  "cyrillic", "csISOLatinCyrillic", "8859_5"}),
+        new Charset("ISO8859_6", "ISO-8859-6", new String[] {"ISO_8859-6:1987", "iso-ir-127", "ISO_8859-6", "ECMA-114", "ASMO-708", "arabic", "csISOLatinArabic", "8859_6"}),
+        new Charset("ISO8859_7", "ISO-8859-7",
+                    new String[] {"ISO_8859-7:1987", "iso-ir-126", "ISO_8859-7",
+                                  "ELOT_928", "ECMA-118", "greek", "greek8",
+                                  "csISOLatinGreek", "8859_7", "sun_eu_greek"}),
+        new Charset("ISO8859_8", "ISO-8859-8", new String[] {"ISO_8859-8:1988", "iso-ir-138", "ISO_8859-8", "hebrew", "csISOLatinHebrew", "8859_8"}),
+        new Charset("ISO8859_9", "ISO-8859-9",
+                    new String[] {"ISO_8859-9:1989", "iso-ir-148", "ISO_8859-9",
+                                  "latin5", "l5", "csISOLatin5", "8859_9"}),
+
+        new Charset("ISO8859_13", "ISO-8859-13", new String[] {}),
+        new Charset("ISO8859_15", "ISO-8859-15",
+                    new String[] {"ISO_8859-15", "Latin-9", "8859_15",
+                                  "csISOlatin9", "IBM923", "cp923", "923", "L9",
+                                  "IBM-923", "ISO8859-15", "LATIN9", "LATIN0",
+                                  "csISOlatin0", "ISO8859_15_FDIS"}),
+        new Charset("KOI8_R", "KOI8-R", new String[] {"csKOI8R", "koi8"}),
+        new Charset("ASCII", "US-ASCII",
+                    new String[] {"ANSI_X3.4-1968", "iso-ir-6",
+                                  "ANSI_X3.4-1986", "ISO_646.irv:1991",
+                                  "ISO646-US", "us", "IBM367", "cp367",
+                                  "csASCII", "ascii7", "646", "iso_646.irv:1983"}),
+        new Charset("UTF8", "UTF-8", new String[] {}),
+        new Charset("UTF-16", "UTF-16", new String[] {"UTF_16"}),
+        new Charset("UnicodeBigUnmarked", "UTF-16BE", new String[] {"X-UTF-16BE", "UTF_16BE", "ISO-10646-UCS-2"}),
+        new Charset("UnicodeLittleUnmarked", "UTF-16LE", new String[] {"UTF_16LE", "X-UTF-16LE"}),
+        new Charset("Big5", "Big5", new String[] {"csBig5", "CN-Big5", "BIG-FIVE", "BIGFIVE"}),
+        new Charset("Big5_HKSCS", "Big5-HKSCS", new String[] {"big5hkscs"}),
+        new Charset("EUC_JP", "EUC-JP",
+                    new String[] {"csEUCPkdFmtJapanese",
+                              "Extended_UNIX_Code_Packed_Format_for_Japanese",
+                              "eucjis", "x-eucjp", "eucjp", "x-euc-jp"}),
+        new Charset("EUC_KR", "EUC-KR",
+                    new String[] {"csEUCKR", "ksc5601", "5601", "ksc5601_1987",
+                                  "ksc_5601", "ksc5601-1987", "ks_c_5601-1987",
+                                  "euckr"}),
+        new Charset("GB18030", "GB18030", new String[] {"gb18030-2000"}),
+        new Charset("EUC_CN", "GB2312", new String[] {"x-EUC-CN", "csGB2312", "euccn", "euc-cn", "gb2312-80", "gb2312-1980", "CN-GB", "CN-GB-ISOIR165"}),
+        new Charset("GBK", "windows-936", new String[] {"CP936", "MS936", "ms_936", "x-mswin-936"}),
+
+        new Charset("Cp037", "IBM037", new String[] {"ebcdic-cp-us", "ebcdic-cp-ca", "ebcdic-cp-wt", "ebcdic-cp-nl", "csIBM037"}),
+        new Charset("Cp273", "IBM273", new String[] {"csIBM273"}),
+        new Charset("Cp277", "IBM277", new String[] {"EBCDIC-CP-DK", "EBCDIC-CP-NO", "csIBM277"}),
+        new Charset("Cp278", "IBM278", new String[] {"CP278", "ebcdic-cp-fi", "ebcdic-cp-se", "csIBM278"}),
+        new Charset("Cp280", "IBM280", new String[] {"ebcdic-cp-it", "csIBM280"}),
+        new Charset("Cp284", "IBM284", new String[] {"ebcdic-cp-es", "csIBM284"}),
+        new Charset("Cp285", "IBM285", new String[] {"ebcdic-cp-gb", "csIBM285"}),
+        new Charset("Cp297", "IBM297", new String[] {"ebcdic-cp-fr", "csIBM297"}),
+        new Charset("Cp420", "IBM420", new String[] {"ebcdic-cp-ar1", "csIBM420"}),
+        new Charset("Cp424", "IBM424", new String[] {"ebcdic-cp-he", "csIBM424"}),
+        new Charset("Cp437", "IBM437", new String[] {"437", "csPC8CodePage437"}),
+        new Charset("Cp500", "IBM500", new String[] {"ebcdic-cp-be", "ebcdic-cp-ch", "csIBM500"}),
+        new Charset("Cp775", "IBM775", new String[] {"csPC775Baltic"}),
+        new Charset("Cp838", "IBM-Thai", new String[] {}),
+        new Charset("Cp850", "IBM850", new String[] {"850", "csPC850Multilingual"}),
+        new Charset("Cp852", "IBM852", new String[] {"852", "csPCp852"}),
+        new Charset("Cp855", "IBM855", new String[] {"855", "csIBM855"}),
+        new Charset("Cp857", "IBM857", new String[] {"857", "csIBM857"}),
+        new Charset("Cp858", "IBM00858",
+                new String[] {"CCSID00858", "CP00858",
+                              "PC-Multilingual-850+euro"}),
+        new Charset("Cp860", "IBM860", new String[] {"860", "csIBM860"}),
+        new Charset("Cp861", "IBM861", new String[] {"861", "cp-is", "csIBM861"}),
+        new Charset("Cp862", "IBM862", new String[] {"862", "csPC862LatinHebrew"}),
+        new Charset("Cp863", "IBM863", new String[] {"863", "csIBM863"}),
+        new Charset("Cp864", "IBM864", new String[] {"cp864", "csIBM864"}),
+        new Charset("Cp865", "IBM865", new String[] {"865", "csIBM865"}),
+        new Charset("Cp866", "IBM866", new String[] {"866", "csIBM866"}),
+        new Charset("Cp868", "IBM868", new String[] {"cp-ar", "csIBM868"}),
+        new Charset("Cp869", "IBM869", new String[] {"cp-gr", "csIBM869"}),
+        new Charset("Cp870", "IBM870", new String[] {"ebcdic-cp-roece", "ebcdic-cp-yu", "csIBM870"}),
+        new Charset("Cp871", "IBM871", new String[] {"ebcdic-cp-is", "csIBM871"}),
+        new Charset("Cp918", "IBM918", new String[] {"ebcdic-cp-ar2", "csIBM918"}),
+        new Charset("Cp1026", "IBM1026", new String[] {"csIBM1026"}),
+        new Charset("Cp1047", "IBM1047", new String[] {"IBM-1047"}),
+        new Charset("Cp1140", "IBM01140",
+                    new String[] {"CCSID01140", "CP01140",
+                                  "ebcdic-us-37+euro"}),
+        new Charset("Cp1141", "IBM01141",
+                    new String[] {"CCSID01141", "CP01141",
+                                  "ebcdic-de-273+euro"}),
+        new Charset("Cp1142", "IBM01142", new String[] {"CCSID01142", "CP01142", "ebcdic-dk-277+euro", "ebcdic-no-277+euro"}),
+        new Charset("Cp1143", "IBM01143", new String[] {"CCSID01143", "CP01143", "ebcdic-fi-278+euro", "ebcdic-se-278+euro"}),
+        new Charset("Cp1144", "IBM01144", new String[] {"CCSID01144", "CP01144", "ebcdic-it-280+euro"}),
+        new Charset("Cp1145", "IBM01145", new String[] {"CCSID01145", "CP01145", "ebcdic-es-284+euro"}),
+        new Charset("Cp1146", "IBM01146", new String[] {"CCSID01146", "CP01146", "ebcdic-gb-285+euro"}),
+        new Charset("Cp1147", "IBM01147", new String[] {"CCSID01147", "CP01147", "ebcdic-fr-297+euro"}),
+        new Charset("Cp1148", "IBM01148", new String[] {"CCSID01148", "CP01148", "ebcdic-international-500+euro"}),
+        new Charset("Cp1149", "IBM01149", new String[] {"CCSID01149", "CP01149", "ebcdic-is-871+euro"}),
+        new Charset("Cp1250", "windows-1250", new String[] {}),
+        new Charset("Cp1251", "windows-1251", new String[] {}),
+        new Charset("Cp1252", "windows-1252", new String[] {}),
+        new Charset("Cp1253", "windows-1253", new String[] {}),
+        new Charset("Cp1254", "windows-1254", new String[] {}),
+        new Charset("Cp1255", "windows-1255", new String[] {}),
+        new Charset("Cp1256", "windows-1256", new String[] {}),
+        new Charset("Cp1257", "windows-1257", new String[] {}),
+        new Charset("Cp1258", "windows-1258", new String[] {}),
+        new Charset("ISO2022CN", "ISO-2022-CN", new String[] {}),
+        new Charset("ISO2022JP", "ISO-2022-JP", new String[] {"csISO2022JP", "JIS", "jis_encoding", "csjisencoding"}),
+        new Charset("ISO2022KR", "ISO-2022-KR", new String[] {"csISO2022KR"}),
+        new Charset("JIS_X0201", "JIS_X0201", new String[] {"X0201", "JIS0201", "csHalfWidthKatakana"}),
+        new Charset("JIS_X0212-1990", "JIS_X0212-1990", new String[] {"iso-ir-159", "x0212", "JIS0212", "csISO159JISX02121990"}),
+        new Charset("JIS_C6626-1983", "JIS_C6626-1983", new String[] {"x-JIS0208", "JIS0208", "csISO87JISX0208", "x0208", "JIS_X0208-1983", "iso-ir-87"}),
+        new Charset("SJIS", "Shift_JIS", new String[] {"MS_Kanji", "csShiftJIS", "shift-jis", "x-sjis", "pck"}),
+        new Charset("TIS620", "TIS-620", new String[] {}),
+        new Charset("MS932", "Windows-31J", new String[] {"windows-932", "csWindows31J", "x-ms-cp932"}),
+        new Charset("EUC_TW", "EUC-TW", new String[] {"x-EUC-TW", "cns11643", "euctw"}),
+        new Charset("x-Johab", "johab", new String[] {"johab", "cp1361", "ms1361", "ksc5601-1992", "ksc5601_1992"}),
+        new Charset("MS950_HKSCS", "", new String[] {}),
+        new Charset("MS874", "windows-874", new String[] {"cp874"}),
+        new Charset("MS949", "windows-949", new String[] {"windows949", "ms_949", "x-windows-949"}),
+        new Charset("MS950", "windows-950", new String[] {"x-windows-950"}),
+
+        new Charset("Cp737", null, new String[] {}),
+        new Charset("Cp856", null, new String[] {}),
+        new Charset("Cp875", null, new String[] {}),
+        new Charset("Cp921", null, new String[] {}),
+        new Charset("Cp922", null, new String[] {}),
+        new Charset("Cp930", null, new String[] {}),
+        new Charset("Cp933", null, new String[] {}),
+        new Charset("Cp935", null, new String[] {}),
+        new Charset("Cp937", null, new String[] {}),
+        new Charset("Cp939", null, new String[] {}),
+        new Charset("Cp942", null, new String[] {}),
+        new Charset("Cp942C", null, new String[] {}),
+        new Charset("Cp943", null, new String[] {}),
+        new Charset("Cp943C", null, new String[] {}),
+        new Charset("Cp948", null, new String[] {}),
+        new Charset("Cp949", null, new String[] {}),
+        new Charset("Cp949C", null, new String[] {}),
+        new Charset("Cp950", null, new String[] {}),
+        new Charset("Cp964", null, new String[] {}),
+        new Charset("Cp970", null, new String[] {}),
+        new Charset("Cp1006", null, new String[] {}),
+        new Charset("Cp1025", null, new String[] {}),
+        new Charset("Cp1046", null, new String[] {}),
+        new Charset("Cp1097", null, new String[] {}),
+        new Charset("Cp1098", null, new String[] {}),
+        new Charset("Cp1112", null, new String[] {}),
+        new Charset("Cp1122", null, new String[] {}),
+        new Charset("Cp1123", null, new String[] {}),
+        new Charset("Cp1124", null, new String[] {}),
+        new Charset("Cp1381", null, new String[] {}),
+        new Charset("Cp1383", null, new String[] {}),
+        new Charset("Cp33722", null, new String[] {}),
+        new Charset("Big5_Solaris", null, new String[] {}),
+        new Charset("EUC_JP_LINUX", null, new String[] {}),
+        new Charset("EUC_JP_Solaris", null, new String[] {}),
+        new Charset("ISCII91", null, new String[] {"x-ISCII91", "iscii"}),
+        new Charset("ISO2022_CN_CNS", null, new String[] {}),
+        new Charset("ISO2022_CN_GB", null, new String[] {}),
+        new Charset("x-iso-8859-11", null, new String[] {}),
+        new Charset("JISAutoDetect", null, new String[] {}),
+        new Charset("MacArabic", null, new String[] {}),
+        new Charset("MacCentralEurope", null, new String[] {}),
+        new Charset("MacCroatian", null, new String[] {}),
+        new Charset("MacCyrillic", null, new String[] {}),
+        new Charset("MacDingbat", null, new String[] {}),
+        new Charset("MacGreek", "MacGreek", new String[] {}),
+        new Charset("MacHebrew", null, new String[] {}),
+        new Charset("MacIceland", null, new String[] {}),
+        new Charset("MacRoman", "MacRoman", new String[] {"Macintosh", "MAC", "csMacintosh"}),
+        new Charset("MacRomania", null, new String[] {}),
+        new Charset("MacSymbol", null, new String[] {}),
+        new Charset("MacThai", null, new String[] {}),
+        new Charset("MacTurkish", null, new String[] {}),
+        new Charset("MacUkraine", null, new String[] {}),
+        new Charset("UnicodeBig", null, new String[] {}),
+        new Charset("UnicodeLittle", null, new String[] {})
+    };
+
+    /**
+     * Contains the canonical names of character sets which can be used to
+     * decode bytes into Java chars.
+     */
+    private static TreeSet<String> decodingSupported = null;
+
+    /**
+     * Contains the canonical names of character sets which can be used to
+     * encode Java chars into bytes.
+     */
+    private static TreeSet<String> encodingSupported = null;
+
+    /**
+     * Maps character set names to Charset objects. All possible names of
+     * a charset will be mapped to the Charset.
+     */
+    private static HashMap<String, Charset> charsetMap = null;
+
+    static {
+        decodingSupported = new TreeSet<String>();
+        encodingSupported = new TreeSet<String>();
+        byte[] dummy = new byte[] {'d', 'u', 'm', 'm', 'y'};
+        for (int i = 0; i < JAVA_CHARSETS.length; i++) {
+            try {
+                String s = new String(dummy, JAVA_CHARSETS[i].canonical);
+                decodingSupported.add(JAVA_CHARSETS[i].canonical.toLowerCase(Locale.US));
+            } catch (UnsupportedOperationException e) {
+            } catch (UnsupportedEncodingException e) {
+            }
+            try {
+                "dummy".getBytes(JAVA_CHARSETS[i].canonical);
+                encodingSupported.add(JAVA_CHARSETS[i].canonical.toLowerCase(Locale.US));
+            } catch (UnsupportedOperationException e) {
+            } catch (UnsupportedEncodingException e) {
+            }
+        }
+
+        charsetMap = new HashMap<String, Charset>();
+        for (int i = 0; i < JAVA_CHARSETS.length; i++) {
+            Charset c = JAVA_CHARSETS[i];
+            charsetMap.put(c.canonical.toLowerCase(Locale.US), c);
+            if (c.mime != null) {
+                charsetMap.put(c.mime.toLowerCase(Locale.US), c);
+            }
+            if (c.aliases != null) {
+                for (int j = 0; j < c.aliases.length; j++) {
+                    charsetMap.put(c.aliases[j].toLowerCase(Locale.US), c);
+                }
+            }
+        }
+
+        if (log.isDebugEnabled()) {
+            log.debug("Character sets which support decoding: "
+                        + decodingSupported);
+            log.debug("Character sets which support encoding: "
+                        + encodingSupported);
+        }
+    }
+
+    /**
+     * ANDROID:  THE FOLLOWING SET OF STATIC STRINGS ARE COPIED FROM A NEWER VERSION OF MIME4J
+     */
+
+    /** carriage return - line feed sequence */
+    public static final String CRLF = "\r\n";
+
+    /** US-ASCII CR, carriage return (13) */
+    public static final int CR = '\r';
+
+    /** US-ASCII LF, line feed (10) */
+    public static final int LF = '\n';
+
+    /** US-ASCII SP, space (32) */
+    public static final int SP = ' ';
+
+    /** US-ASCII HT, horizontal-tab (9)*/
+    public static final int HT = '\t';
+
+    public static final java.nio.charset.Charset US_ASCII = java.nio.charset.Charset
+            .forName("US-ASCII");
+
+    public static final java.nio.charset.Charset ISO_8859_1 = java.nio.charset.Charset
+            .forName("ISO-8859-1");
+
+    public static final java.nio.charset.Charset UTF_8 = java.nio.charset.Charset
+            .forName("UTF-8");
+
+    /**
+     * Returns <code>true</code> if the specified character is a whitespace
+     * character (CR, LF, SP or HT).
+     *
+     * ANDROID:  COPIED FROM A NEWER VERSION OF MIME4J
+     *
+     * @param ch
+     *            character to test.
+     * @return <code>true</code> if the specified character is a whitespace
+     *         character, <code>false</code> otherwise.
+     */
+    public static boolean isWhitespace(char ch) {
+        return ch == SP || ch == HT || ch == CR || ch == LF;
+    }
+
+    /**
+     * Returns <code>true</code> if the specified string consists entirely of
+     * whitespace characters.
+     *
+     * ANDROID:  COPIED FROM A NEWER VERSION OF MIME4J
+     *
+     * @param s
+     *            string to test.
+     * @return <code>true</code> if the specified string consists entirely of
+     *         whitespace characters, <code>false</code> otherwise.
+     */
+    public static boolean isWhitespace(final String s) {
+        if (s == null) {
+            throw new IllegalArgumentException("String may not be null");
+        }
+        final int len = s.length();
+        for (int i = 0; i < len; i++) {
+            if (!isWhitespace(s.charAt(i))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    /**
+     * Determines if the VM supports encoding (chars to bytes) the
+     * specified character set. NOTE: the given character set name may
+     * not be known to the VM even if this method returns <code>true</code>.
+     * Use {@link #toJavaCharset(String)} to get the canonical Java character
+     * set name.
+     *
+     * @param charsetName the characters set name.
+     * @return <code>true</code> if encoding is supported, <code>false</code>
+     *         otherwise.
+     */
+    public static boolean isEncodingSupported(String charsetName) {
+        return encodingSupported.contains(charsetName.toLowerCase(Locale.US));
+    }
+
+    /**
+     * Determines if the VM supports decoding (bytes to chars) the
+     * specified character set. NOTE: the given character set name may
+     * not be known to the VM even if this method returns <code>true</code>.
+     * Use {@link #toJavaCharset(String)} to get the canonical Java character
+     * set name.
+     *
+     * @param charsetName the characters set name.
+     * @return <code>true</code> if decoding is supported, <code>false</code>
+     *         otherwise.
+     */
+    public static boolean isDecodingSupported(String charsetName) {
+        return decodingSupported.contains(charsetName.toLowerCase(Locale.US));
+    }
+
+    /**
+     * Gets the preferred MIME character set name for the specified
+     * character set or <code>null</code> if not known.
+     *
+     * @param charsetName the character set name to look for.
+     * @return the MIME preferred name or <code>null</code> if not known.
+     */
+    public static String toMimeCharset(String charsetName) {
+        Charset c = charsetMap.get(charsetName.toLowerCase(Locale.US));
+        if (c != null) {
+            return c.mime;
+        }
+        return null;
+    }
+
+    /**
+     * Gets the canonical Java character set name for the specified
+     * character set or <code>null</code> if not known. This should be
+     * called before doing any conversions using the Java API. NOTE:
+     * you must use {@link #isEncodingSupported(String)} or
+     * {@link #isDecodingSupported(String)} to make sure the returned
+     * Java character set is supported by the current VM.
+     *
+     * @param charsetName the character set name to look for.
+     * @return the canonical Java name or <code>null</code> if not known.
+     */
+    public static String toJavaCharset(String charsetName) {
+        Charset c = charsetMap.get(charsetName.toLowerCase(Locale.US));
+        if (c != null) {
+            return c.canonical;
+        }
+        return null;
+    }
+
+    public static java.nio.charset.Charset getCharset(String charsetName) {
+        String defaultCharset = "ISO-8859-1";
+
+        // Use the default chareset if given charset is null
+        if(charsetName == null) charsetName = defaultCharset;
+
+        try {
+            return java.nio.charset.Charset.forName(charsetName);
+        } catch (IllegalCharsetNameException e) {
+            log.info("Illegal charset " + charsetName + ", fallback to " +
+                    defaultCharset + ": " + e);
+            // Use default charset on exception
+            return java.nio.charset.Charset.forName(defaultCharset);
+        } catch (UnsupportedCharsetException ex) {
+            log.info("Unsupported charset " + charsetName + ", fallback to " +
+                    defaultCharset + ": " + ex);
+            // Use default charset on exception
+            return java.nio.charset.Charset.forName(defaultCharset);
+        }
+
+    }
+    /*
+     * Uncomment the code below and run the main method to regenerate the
+     * Javadoc table above when the known charsets change.
+     */
+
+    /*
+    private static String dumpHtmlTable() {
+        LinkedList l = new LinkedList(Arrays.asList(JAVA_CHARSETS));
+        Collections.sort(l);
+        StringBuffer sb = new StringBuffer();
+        sb.append(" * <table>\n");
+        sb.append(" *     <tr>\n");
+        sb.append(" *         <td>Canonical (Java) name</td>\n");
+        sb.append(" *         <td>MIME preferred</td>\n");
+        sb.append(" *         <td>Aliases</td>\n");
+        sb.append(" *     </tr>\n");
+
+        for (Iterator it = l.iterator(); it.hasNext();) {
+            Charset c = (Charset) it.next();
+            sb.append(" *     <tr>\n");
+            sb.append(" *         <td>" + c.canonical + "</td>\n");
+            sb.append(" *         <td>" + (c.mime == null ? "?" : c.mime)+ "</td>\n");
+            sb.append(" *         <td>");
+            for (int i = 0; c.aliases != null && i < c.aliases.length; i++) {
+                sb.append(c.aliases[i] + " ");
+            }
+            sb.append("</td>\n");
+            sb.append(" *     </tr>\n");
+        }
+        sb.append(" * </table>\n");
+        return sb.toString();
+    }
+
+    public static void main(String[] args) {
+        System.out.println(dumpHtmlTable());
+    }*/
+}
\ No newline at end of file
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
index af3f7e4..8900568 100644
--- a/tests/AndroidManifest.xml
+++ b/tests/AndroidManifest.xml
@@ -19,6 +19,7 @@
 
     <uses-permission android:name="android.permission.CALL_PHONE" />
     <uses-permission android:name="android.permission.PERFORM_CDMA_PROVISIONING" />
+    <uses-permission android:name="android.permission.PERFORM_SIM_ACTIVATION" />
 
     <application android:label="@string/app_name">
         <uses-library android:name="android.test.runner" />
@@ -56,6 +57,8 @@
                 <data android:scheme="smsto" />
             </intent-filter>
         </service>
+
+        <receiver android:name="com.android.services.telephony.activation.ResponseReceiver" />
     </application>
 
     <!--
diff --git a/tests/src/com/android/services/telephony/activation/ResponseReceiver.java b/tests/src/com/android/services/telephony/activation/ResponseReceiver.java
new file mode 100644
index 0000000..33e7f00
--- /dev/null
+++ b/tests/src/com/android/services/telephony/activation/ResponseReceiver.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2015 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.services.telephony.activation;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+
+import com.android.services.telephony.Log;
+
+public class ResponseReceiver extends BroadcastReceiver {
+    volatile public static boolean responseReceived = false;
+    public static final String ACTION_ACTIVATION_RESPONSE =
+            "com.android.services.telephony.ACTIVATION_RESPONSE";
+
+    private final Object mLock;
+    private Context mContext;
+
+    ResponseReceiver(Object lock) {
+        mLock = lock;
+    }
+
+    /** ${inheritDoc} */
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        if (!ACTION_ACTIVATION_RESPONSE.equals(intent.getAction())) {
+            Log.e(this, null, "Unexpected intent: " + intent.getAction());
+            return;
+        }
+
+        responseReceived = true;
+        Log.i(this, "received intent");
+
+        if (mLock != null) {
+            synchronized(mLock) {
+                Log.i(this, "notifying");
+                mLock.notify();
+            }
+        }
+    }
+
+    void register(Context context) {
+        context.registerReceiver(this, new IntentFilter(ACTION_ACTIVATION_RESPONSE));
+        mContext = context;
+    }
+
+    void unregister() {
+        mContext.unregisterReceiver(this);
+    }
+}
diff --git a/tests/src/com/android/services/telephony/activation/SimActivationTest.java b/tests/src/com/android/services/telephony/activation/SimActivationTest.java
new file mode 100644
index 0000000..f6060dc
--- /dev/null
+++ b/tests/src/com/android/services/telephony/activation/SimActivationTest.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2015 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.services.telephony.activation;
+
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.test.AndroidTestCase;
+import android.test.suitebuilder.annotation.SmallTest;
+
+import com.android.services.telephony.Log;
+
+public class SimActivationTest extends AndroidTestCase {
+
+    private static Object mActivationLock = new Object();
+    private ResponseReceiver mResponseReceiver;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        mResponseReceiver = new ResponseReceiver(mActivationLock);
+        mResponseReceiver.register(context());
+    }
+
+    /** ${inheritDoc} */
+    @Override
+    protected void tearDown() throws Exception {
+        mResponseReceiver.unregister();
+        super.tearDown();
+    }
+
+    @SmallTest
+    public void testSimActivationResponse() throws Exception {
+        Log.i(this, "Running activation test");
+
+        Intent responseIntent = new Intent(ResponseReceiver.ACTION_ACTIVATION_RESPONSE);
+        responseIntent.setPackage(context().getPackageName());
+        PendingIntent pendingResponse = PendingIntent.getBroadcast(
+                context(), 0, responseIntent, 0);
+
+        Intent intent = new Intent(Intent.ACTION_SIM_ACTIVATION_REQUEST);
+        intent.putExtra(Intent.EXTRA_SIM_ACTIVATION_RESPONSE, pendingResponse);
+        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+        Log.i(this, "sent intent");
+        context().startActivity(intent);
+        synchronized (mActivationLock) {
+            Log.i(this, "waiting ");
+            mActivationLock.wait(5000);
+            Log.i(this, "unwaiting");
+        }
+        assertTrue(ResponseReceiver.responseReceived);
+    }
+
+    private Context context() {
+        return getContext();
+    }
+}
