diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b0f1df6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,11 @@
+.gradle
+.idea
+bin
+build
+gen
+local.properties
+*.DS_Store
+*~
+*.swp
+*.swo
+*.iml
diff --git a/Android.mk b/Android.mk
index 90f5b5f..9f9f277 100644
--- a/Android.mk
+++ b/Android.mk
@@ -35,5 +35,5 @@
 
 include $(BUILD_MULTI_PREBUILT)
 
-# Use the folloing include to make our test apk.
+# Use the following include to make our test apk.
 include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 58f520c..3a03059 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1,19 +1,40 @@
 <?xml version="1.0" encoding="utf-8"?>
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+<!--
+  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.
+  -->
+
+<manifest
+    xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.calculator2">
 
-    <original-package android:name="com.android.calculator2" />
+    <application
+        android:icon="@mipmap/ic_launcher_calculator"
+        android:label="@string/app_name"
+        android:theme="@style/CalculatorTheme">
 
-    <application android:label="@string/app_name" android:icon="@mipmap/ic_launcher_calculator">
-        <activity android:name="Calculator" 
-                  android:theme="@android:style/Theme.Holo.NoActionBar"
-                  android:windowSoftInputMode="stateAlwaysHidden">
+        <activity
+            android:name=".Calculator"
+            android:label="@string/app_name"
+            android:windowSoftInputMode="stateAlwaysHidden">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
-                <category android:name="android.intent.category.DEFAULT" />
                 <category android:name="android.intent.category.LAUNCHER" />
                 <category android:name="android.intent.category.APP_CALCULATOR" />
             </intent-filter>
         </activity>
+
     </application>
-</manifest> 
+
+</manifest>
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..7a2ab0e
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,58 @@
+/*
+ * 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.
+ */
+
+buildscript {
+    repositories {
+        mavenCentral()
+    }
+
+    dependencies {
+        classpath "com.android.tools.build:gradle:0.12.+"
+    }
+}
+
+apply plugin: "com.android.application"
+
+android {
+    compileSdkVersion "android-L"
+    buildToolsVersion "20"
+
+    defaultConfig {
+        applicationId "com.google.android.apps.calculator"
+    }
+
+    sourceSets {
+        main {
+            manifest.srcFile "AndroidManifest.xml"
+            java.srcDirs = ["src"]
+            res.srcDirs = ["res"]
+        }
+    }
+
+    compileOptions {
+        sourceCompatibility JavaVersion.VERSION_1_7
+        targetCompatibility JavaVersion.VERSION_1_7
+    }
+}
+
+repositories {
+    mavenLocal()
+}
+
+dependencies {
+    compile files("arity-2.1.2.jar")
+    compile "com.android.support:support-v4:+"
+}
diff --git a/res/drawable-hdpi/advanced.png b/res/drawable-hdpi/advanced.png
deleted file mode 100644
index d4873af..0000000
--- a/res/drawable-hdpi/advanced.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png b/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
deleted file mode 100644
index 19bde28..0000000
--- a/res/drawable-hdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png b/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
deleted file mode 100644
index 90abe39..0000000
--- a/res/drawable-hdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png b/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
deleted file mode 100644
index 713bfc1..0000000
--- a/res/drawable-hdpi/btn_keyboard_key_light_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png b/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
deleted file mode 100644
index 6768241..0000000
--- a/res/drawable-hdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/calc_clear_symbol.png b/res/drawable-hdpi/calc_clear_symbol.png
deleted file mode 100644
index 3ce9dda..0000000
--- a/res/drawable-hdpi/calc_clear_symbol.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/calculator_input_field.9.png b/res/drawable-hdpi/calculator_input_field.9.png
deleted file mode 100644
index 49770cd..0000000
--- a/res/drawable-hdpi/calculator_input_field.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/clear_history.png b/res/drawable-hdpi/clear_history.png
deleted file mode 100644
index 14c2ef0..0000000
--- a/res/drawable-hdpi/clear_history.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/ic_menu_overflow.png b/res/drawable-hdpi/ic_menu_overflow.png
deleted file mode 100644
index a12aedf..0000000
--- a/res/drawable-hdpi/ic_menu_overflow.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/simple.png b/res/drawable-hdpi/simple.png
deleted file mode 100644
index d0e55fc..0000000
--- a/res/drawable-hdpi/simple.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/advanced.png b/res/drawable-mdpi/advanced.png
deleted file mode 100644
index 925d3b4..0000000
--- a/res/drawable-mdpi/advanced.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png b/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
deleted file mode 100644
index 4f27350..0000000
--- a/res/drawable-mdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png b/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
deleted file mode 100644
index 4a92b80..0000000
--- a/res/drawable-mdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png b/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
deleted file mode 100644
index 37966f5..0000000
--- a/res/drawable-mdpi/btn_keyboard_key_light_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png b/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
deleted file mode 100644
index 0493859..0000000
--- a/res/drawable-mdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/calc_clear_symbol.png b/res/drawable-mdpi/calc_clear_symbol.png
deleted file mode 100644
index ac301e2..0000000
--- a/res/drawable-mdpi/calc_clear_symbol.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/calculator_input_field.9.png b/res/drawable-mdpi/calculator_input_field.9.png
deleted file mode 100644
index 6146973..0000000
--- a/res/drawable-mdpi/calculator_input_field.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/clear_history.png b/res/drawable-mdpi/clear_history.png
deleted file mode 100644
index b31e821..0000000
--- a/res/drawable-mdpi/clear_history.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/ic_menu_overflow.png b/res/drawable-mdpi/ic_menu_overflow.png
deleted file mode 100644
index 4a3bde3..0000000
--- a/res/drawable-mdpi/ic_menu_overflow.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/simple.png b/res/drawable-mdpi/simple.png
deleted file mode 100644
index 2a015c5..0000000
--- a/res/drawable-mdpi/simple.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/calc_clear_symbol.png b/res/drawable-sw600dp-hdpi/calc_clear_symbol.png
deleted file mode 100644
index 8ffc30e..0000000
--- a/res/drawable-sw600dp-hdpi/calc_clear_symbol.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-hdpi/calculator_input_field.9.png b/res/drawable-sw600dp-hdpi/calculator_input_field.9.png
deleted file mode 100644
index 555873c..0000000
--- a/res/drawable-sw600dp-hdpi/calculator_input_field.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/calc_clear_symbol.png b/res/drawable-sw600dp-mdpi/calc_clear_symbol.png
deleted file mode 100644
index 60dfecc..0000000
--- a/res/drawable-sw600dp-mdpi/calc_clear_symbol.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-sw600dp-mdpi/calculator_input_field.9.png b/res/drawable-sw600dp-mdpi/calculator_input_field.9.png
deleted file mode 100644
index 679d4c8..0000000
--- a/res/drawable-sw600dp-mdpi/calculator_input_field.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png b/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png
deleted file mode 100644
index 1db8b6f..0000000
--- a/res/drawable-xhdpi/btn_keyboard_key_dark_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png b/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png
deleted file mode 100644
index 84d1739..0000000
--- a/res/drawable-xhdpi/btn_keyboard_key_dark_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png b/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png
deleted file mode 100644
index 1c3293d..0000000
--- a/res/drawable-xhdpi/btn_keyboard_key_light_normal_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png b/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png
deleted file mode 100644
index f770962..0000000
--- a/res/drawable-xhdpi/btn_keyboard_key_light_pressed_holo.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/calc_clear_symbol.png b/res/drawable-xhdpi/calc_clear_symbol.png
deleted file mode 100644
index 570ff39..0000000
--- a/res/drawable-xhdpi/calc_clear_symbol.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/calculator_input_field.9.png b/res/drawable-xhdpi/calculator_input_field.9.png
deleted file mode 100644
index b6adbbf..0000000
--- a/res/drawable-xhdpi/calculator_input_field.9.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/ic_menu_overflow.png b/res/drawable-xhdpi/ic_menu_overflow.png
deleted file mode 100644
index 715cff8..0000000
--- a/res/drawable-xhdpi/ic_menu_overflow.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_digit.xml b/res/drawable/btn_digit.xml
deleted file mode 100644
index 2f91721..0000000
--- a/res/drawable/btn_digit.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<selector
-    xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item
-        android:state_pressed="true"
-        android:drawable="@drawable/btn_keyboard_key_light_pressed_holo" />
-    <item
-        android:drawable="@drawable/btn_keyboard_key_light_normal_holo" />
-</selector>
diff --git a/res/drawable/btn_function.xml b/res/drawable/btn_function.xml
deleted file mode 100644
index 25a3e66..0000000
--- a/res/drawable/btn_function.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<selector
-    xmlns:android="http://schemas.android.com/apk/res/android">
-    <item
-        android:state_pressed="true"
-        android:drawable="@drawable/btn_keyboard_key_dark_pressed_holo" />
-    <item
-        android:drawable="@drawable/btn_keyboard_key_dark_normal_holo" />
-</selector>
diff --git a/res/drawable/pad_btn_background.xml b/res/drawable/pad_btn_background.xml
new file mode 100644
index 0000000..b4861d0
--- /dev/null
+++ b/res/drawable/pad_btn_background.xml
@@ -0,0 +1,19 @@
+<?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.
+  -->
+
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+    android:color="@color/pad_button_ripple_color" />
\ No newline at end of file
diff --git a/res/layout-land/advanced_pad.xml b/res/layout-land/advanced_pad.xml
deleted file mode 100644
index 5b8f98b..0000000
--- a/res/layout-land/advanced_pad.xml
+++ /dev/null
@@ -1,103 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-/*
-* Copyright (C) 2011, The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:id="@+id/advancedPad"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:layout_weight="1"
-              android:orientation="vertical"
-              android:layout_gravity="center"
-              >
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/sin"
-            android:text="@string/sin"
-            style="@style/button_small_style"
-            android:contentDescription="@string/sinDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/cos"
-            android:text="@string/cos"
-            style="@style/button_small_style"
-            android:contentDescription="@string/cosDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/tan"
-            android:text="@string/tan"
-            style="@style/button_small_style"
-            android:contentDescription="@string/tanDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/pi"
-            android:text="@string/pi"
-            style="@style/button_style"
-            android:contentDescription="@string/piDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/factorial"
-            android:text="@string/factorial"
-            style="@style/button_style"
-            android:contentDescription="@string/factorialDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/ln"
-            android:text="@string/ln"
-            style="@style/button_small_style"
-            android:contentDescription="@string/lnDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/lg"
-            android:text="@string/lg"
-            style="@style/button_small_style"
-            android:contentDescription="@string/lgDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/e"
-            android:text="@string/e"
-            style="@style/button_style"
-            android:contentDescription="@string/eDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/power"
-            android:text="@string/power"
-            style="@style/button_style"
-            android:contentDescription="@string/powerDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/sqrt"
-            android:text="@string/sqrt"
-            style="@style/button_style"
-            android:contentDescription="@string/sqrtDesc"
-            />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-land/history_item.xml b/res/layout-land/history_item.xml
deleted file mode 100644
index 2147da7..0000000
--- a/res/layout-land/history_item.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-     xmlns:android="http://schemas.android.com/apk/res/android"
-     android:layout_width="match_parent"
-     android:layout_height="wrap_content"
-     >
-
-    <TextView 
-         android:id="@+id/historyExpr"
-         android:layout_width="0px"
-         android:layout_height="wrap_content"
-         android:layout_weight="1"
-         android:textSize="23dp"
-         android:singleLine="true"
-         />        
-
-    <TextView
-         android:id="@+id/historyResult"
-         android:layout_width="180px"
-         android:layout_height="wrap_content"
-         android:layout_weight="0"
-         android:textSize="23dp"
-         android:singleLine="true"
-         />
-
-</LinearLayout>
diff --git a/res/layout-land/main.xml b/res/layout-land/main.xml
deleted file mode 100644
index c8a1216..0000000
--- a/res/layout-land/main.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-/*
- * Copyright (C) 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="vertical"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:background="#ff000000">
-    <LinearLayout
-         android:layout_width="match_parent"
-         android:layout_height="0dp"
-         android:layout_weight="2"
-         >
-
-        <com.android.calculator2.CalculatorDisplay
-             android:id="@+id/display"
-             android:layout_width="0dp"
-             android:layout_weight="5"
-             android:layout_height="match_parent"
-             maxDigits="@integer/max_digits">
-
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-
-        </com.android.calculator2.CalculatorDisplay>
-        <ImageButton android:id="@+id/overflow_menu"
-            android:layout_width="48dip"
-            android:layout_height="match_parent"
-            android:src="@drawable/ic_menu_overflow"
-            android:background="@android:color/transparent"
-            android:layout_marginLeft="8dip"
-            android:visibility="gone"/>
-        <FrameLayout
-            android:layout_width="100dp"
-            android:layout_height="match_parent">
-            <!-- marginRight has to be 0 to catch border-touch -->
-            <com.android.calculator2.ColorButton
-                 android:id="@+id/clear"
-                 android:text="@string/clear"
-                 android:textSize="15dp"
-                 style="@style/button_style"
-                 />
-            <!-- marginRight has to be 0 to catch border-touch -->
-            <com.android.calculator2.ColorButton
-                 android:id="@+id/del"
-                 android:text="@string/del"
-                 android:textSize="15dp"
-                 style="@style/button_style"
-                 android:contentDescription="@string/delDesc"
-                 />
-        </FrameLayout>
-    </LinearLayout>
-
-    <com.android.calculator2.CalculatorViewPager
-         android:id="@+id/panelswitch"
-         android:layout_width="match_parent"
-         android:layout_height="0dp"
-         android:layout_weight="4"
-         />
-
-</LinearLayout>
diff --git a/res/layout-land/simple_pad.xml b/res/layout-land/simple_pad.xml
deleted file mode 100644
index 271cb0e..0000000
--- a/res/layout-land/simple_pad.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-/*
-* Copyright (C) 2011, The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:id="@+id/simplePad"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:orientation="vertical"
-              android:layout_gravity="center"
-              >
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit7"
-            android:text="@string/digit7"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit8"
-            android:text="@string/digit8"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit9"
-            android:text="@string/digit9"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/leftParen"
-            android:text="@string/leftParen"
-            style="@style/button_style"
-            android:contentDescription="@string/leftParenDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/rightParen"
-            android:text="@string/rightParen"
-            style="@style/button_style"
-            android:contentDescription="@string/rightParenDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/mul"
-            android:text="@string/mul"
-            style="@style/button_style"
-            android:contentDescription="@string/mulDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit4"
-            android:text="@string/digit4"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit5"
-            android:text="@string/digit5"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit6"
-            android:text="@string/digit6"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/dot"
-            android:text="@string/dot"
-            style="@style/digit_button_style"
-            android:contentDescription="@string/dotDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/div"
-            android:text="@string/div"
-            style="@style/button_style"
-            android:contentDescription="@string/divDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/minus"
-            android:text="@string/minus"
-            style="@style/button_style"
-            android:contentDescription="@string/minusDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit1"
-            android:text="@string/digit1"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit2"
-            android:text="@string/digit2"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit3"
-            android:text="@string/digit3"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit0"
-            android:text="@string/digit0"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/equal"
-            android:text="@string/equal"
-            style="@style/button_style"
-            android:contentDescription="@string/equalDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/plus"
-            android:text="@string/plus"
-            style="@style/button_style"
-            android:contentDescription="@string/plusDesc"
-            />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-port/advanced_pad.xml b/res/layout-port/advanced_pad.xml
deleted file mode 100644
index 843c54d..0000000
--- a/res/layout-port/advanced_pad.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-/*
-* Copyright (C) 2011, The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:id="@+id/advancedPad"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:orientation="vertical"
-              android:layout_gravity="center"
-              >
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/sin"
-            android:text="@string/sin"
-            style="@style/button_small_style"
-            android:contentDescription="@string/sinDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/cos"
-            android:text="@string/cos"
-            style="@style/button_small_style"
-            android:contentDescription="@string/cosDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/tan"
-            android:text="@string/tan"
-            style="@style/button_small_style"
-            android:contentDescription="@string/tanDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/ln"
-            android:text="@string/ln"
-            style="@style/button_small_style"
-            android:contentDescription="@string/lnDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/lg"
-            android:text="@string/lg"
-            style="@style/button_small_style"
-            android:contentDescription="@string/lgDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/factorial"
-            android:text="@string/factorial"
-            style="@style/button_style"
-            android:contentDescription="@string/factorialDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/pi"
-            android:text="@string/pi"
-            style="@style/button_style"
-            android:contentDescription="@string/piDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/e"
-            android:text="@string/e"
-            style="@style/button_style"
-            android:contentDescription="@string/eDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/power"
-            android:text="@string/power"
-            style="@style/button_style"
-            android:contentDescription="@string/powerDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="1"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/leftParen"
-            android:text="@string/leftParen"
-            style="@style/button_style"
-            android:contentDescription="@string/leftParenDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/rightParen"
-            android:text="@string/rightParen"
-            style="@style/button_style"
-            android:contentDescription="@string/rightParenDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/sqrt"
-            android:text="@string/sqrt"
-            style="@style/button_style"
-            android:contentDescription="@string/sqrtDesc"
-            />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-port/history_item.xml b/res/layout-port/history_item.xml
deleted file mode 100644
index 2147da7..0000000
--- a/res/layout-port/history_item.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout
-     xmlns:android="http://schemas.android.com/apk/res/android"
-     android:layout_width="match_parent"
-     android:layout_height="wrap_content"
-     >
-
-    <TextView 
-         android:id="@+id/historyExpr"
-         android:layout_width="0px"
-         android:layout_height="wrap_content"
-         android:layout_weight="1"
-         android:textSize="23dp"
-         android:singleLine="true"
-         />        
-
-    <TextView
-         android:id="@+id/historyResult"
-         android:layout_width="180px"
-         android:layout_height="wrap_content"
-         android:layout_weight="0"
-         android:textSize="23dp"
-         android:singleLine="true"
-         />
-
-</LinearLayout>
diff --git a/res/layout-port/main.xml b/res/layout-port/main.xml
deleted file mode 100644
index e4e3c1a..0000000
--- a/res/layout-port/main.xml
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-/*
- * Copyright (C) 2008, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:orientation="vertical"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:background="#ff000000">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="3"
-        android:orientation="horizontal"
-        android:layout_gravity="center_vertical"
-        android:gravity="center_vertical">
-
-        <com.android.calculator2.CalculatorDisplay
-             android:id="@+id/display"
-             android:layout_width="0dip"
-             android:layout_height="match_parent"
-             android:layout_weight="1"
-             maxDigits="@integer/max_digits">
-
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-
-        </com.android.calculator2.CalculatorDisplay>
-        <ImageButton android:id="@+id/overflow_menu"
-            android:layout_width="48dip"
-            android:layout_height="match_parent"
-            android:src="@drawable/ic_menu_overflow"
-            android:background="@android:color/transparent"
-            android:layout_marginLeft="8dip"
-            android:visibility="gone"/>
-    </LinearLayout>
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_weight="1.5"
-        >
-
-        <View
-            android:background="@drawable/btn_function"
-            android:layout_width="0dp"
-            android:layout_height="match_parent"
-            android:layout_weight="1"
-            />
-
-        <FrameLayout
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent">
-            <!-- marginRight has to be 0 to catch border-touch -->
-            <com.android.calculator2.ColorButton
-                android:id="@+id/clear"
-                android:text="@string/clear"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginRight="0dp"
-                android:textSize="15dp"
-                style="@style/button_style"
-                android:minWidth="89dip"
-                />
-            <!-- marginRight has to be 0 to catch border-touch -->
-            <com.android.calculator2.ColorButton
-                android:id="@+id/del"
-                android:text="@string/del"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:layout_marginRight="0dp"
-                android:textSize="15dp"
-                style="@style/button_style"
-                android:contentDescription="@string/delDesc"
-                android:ellipsize="end"
-                android:minWidth="89dip"
-                />
-        </FrameLayout>
-
-    </LinearLayout>
-    <com.android.calculator2.CalculatorViewPager
-         android:id="@+id/panelswitch"
-         android:layout_width="match_parent"
-         android:layout_height="0dp"
-         android:layout_weight="10"
-         />
-</LinearLayout>
diff --git a/res/layout-port/simple_pad.xml b/res/layout-port/simple_pad.xml
deleted file mode 100644
index 1d8b535..0000000
--- a/res/layout-port/simple_pad.xml
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-/*
-* Copyright (C) 2011, The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-*     http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
--->
-
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-              android:id="@+id/simplePad"
-              android:layout_width="match_parent"
-              android:layout_height="match_parent"
-              android:orientation="vertical"
-              android:layout_gravity="center"
-              >
-
-    <LinearLayout
-        android:layout_weight="3"
-        android:layout_width="match_parent"
-        android:layout_height="0dp">
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit7"
-            android:text="@string/digit7"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit8"
-            android:text="@string/digit8"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit9"
-            android:text="@string/digit9"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/div"
-            android:text="@string/div"
-            style="@style/button_style"
-            android:contentDescription="@string/divDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="3"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit4"
-            android:text="@string/digit4"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit5"
-            android:text="@string/digit5"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit6"
-            android:text="@string/digit6"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/mul"
-            android:text="@string/mul"
-            style="@style/button_style"
-            android:contentDescription="@string/mulDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="3"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit1"
-            android:text="@string/digit1"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit2"
-            android:text="@string/digit2"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit3"
-            android:text="@string/digit3"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/minus"
-            android:text="@string/minus"
-            style="@style/button_style"
-            android:contentDescription="@string/minusDesc"
-            />
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_weight="3"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        >
-        <com.android.calculator2.ColorButton
-            android:id="@+id/dot"
-            android:text="@string/dot"
-            style="@style/digit_button_style"
-            android:contentDescription="@string/dotDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/digit0"
-            android:text="@string/digit0"
-            style="@style/digit_button_style"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/equal"
-            android:text="@string/equal"
-            style="@style/button_style"
-            android:contentDescription="@string/equalDesc"
-            />
-        <com.android.calculator2.ColorButton
-            android:id="@+id/plus"
-            android:text="@string/plus"
-            style="@style/button_style"
-            android:contentDescription="@string/plusDesc"
-            />
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-sw600dp-land/main.xml b/res/layout-sw600dp-land/main.xml
deleted file mode 100644
index 3a86293..0000000
--- a/res/layout-sw600dp-land/main.xml
+++ /dev/null
@@ -1,269 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright (C) 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#ff000000"
-    android:paddingLeft="@dimen/left_right_padding"
-    android:paddingRight="@dimen/left_right_padding"
-    android:paddingTop="@dimen/top_bottom_padding"
-    android:paddingBottom="@dimen/top_bottom_padding">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/group_padding"
-        android:background="@drawable/calculator_input_field">
-
-        <com.android.calculator2.CalculatorDisplay
-            android:id="@+id/display"
-            android:layout_width="0dip"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            maxDigits="@integer/max_digits"
-            android:layout_alignParentTop="true"
-            >
-
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-
-        </com.android.calculator2.CalculatorDisplay>
-
-        <FrameLayout
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_alignParentTop="true">
-            <Button
-                android:id="@+id/clear"
-                android:text="@string/clear"
-                style="@style/btn_clear"
-                android:minWidth="100dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:paddingLeft="5dip"
-                android:paddingRight="5dip"
-                android:contentDescription="@string/clearDesc" />
-            <ImageButton
-                android:id="@+id/del"
-                android:src="@drawable/calc_clear_symbol"
-                style="@style/btn_clear"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:paddingLeft="5dip"
-                android:paddingRight="5dip"
-                android:contentDescription="@string/delDesc" />
-        </FrameLayout>
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="4"
-        android:orientation="horizontal">
-
-        <LinearLayout
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="2"
-            android:orientation="vertical"
-            android:layout_marginRight="@dimen/group_padding">
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/sin"
-                    android:text="@string/sin"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/sinDesc" />
-                <Button
-                    android:id="@+id/ln"
-                    android:text="@string/ln"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/lnDesc" />
-            </LinearLayout>
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/cos"
-                    android:text="@string/cos"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/cosDesc" />
-                <Button
-                    android:id="@+id/lg"
-                    android:text="@string/lg"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/lgDesc" />
-            </LinearLayout>
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/tan"
-                    android:text="@string/tan"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/tanDesc" />
-                <Button
-                    android:id="@+id/e"
-                    android:text="@string/e"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/eDesc" />
-            </LinearLayout>
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/pi"
-                    android:text="@string/pi"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/piDesc" />
-                <Button
-                    android:id="@+id/power"
-                    android:text="@string/power"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/powerDesc" />
-            </LinearLayout>
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/factorial"
-                    android:text="@string/factorial"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/factorialDesc" />
-                <Button
-                    android:id="@+id/sqrt"
-                    android:text="@string/sqrt"
-                    style="@style/btn_function_cell_style"
-                    android:contentDescription="@string/sqrtDesc" />
-            </LinearLayout>
-        </LinearLayout>
-
-        <LinearLayout
-            android:layout_width="0dip"
-            android:layout_height="match_parent"
-            android:layout_weight="5"
-            android:orientation="vertical">
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/digit7"
-                    android:text="@string/digit7"
-                    style="@style/btn_digit_cell_style" />
-                <Button
-                    android:id="@+id/digit8"
-                    android:text="@string/digit8"
-                    style="@style/btn_digit_cell_style" />
-                <Button
-                    android:id="@+id/digit9"
-                    android:text="@string/digit9"
-                    style="@style/btn_digit_cell_style" />
-                <Button
-                    android:id="@+id/div"
-                    android:text="@string/div"
-                    style="@style/btn_operation_cell_style"
-                    android:contentDescription="@string/divDesc" />
-                <Button
-                    android:id="@+id/leftParen"
-                    android:text="@string/leftParen"
-                    style="@style/btn_operation_cell_style"
-                    android:contentDescription="@string/leftParenDesc" />
-            </LinearLayout>
-            <LinearLayout
-                style="@style/btn_row_style">
-                <Button
-                    android:id="@+id/digit4"
-                    android:text="@string/digit4"
-                    style="@style/btn_digit_cell_style" />
-                <Button
-                    android:id="@+id/digit5"
-                    android:text="@string/digit5"
-                    style="@style/btn_digit_cell_style" />
-                <Button
-                    android:id="@+id/digit6"
-                    android:text="@string/digit6"
-                    style="@style/btn_digit_cell_style" />
-                <Button
-                    android:id="@+id/mul"
-                    android:text="@string/mul"
-                    style="@style/btn_operation_cell_style"
-                    android:contentDescription="@string/mulDesc" />
-                <Button
-                    android:id="@+id/rightParen"
-                    android:text="@string/rightParen"
-                    style="@style/btn_operation_cell_style"
-                    android:contentDescription="@string/rightParenDesc" />
-            </LinearLayout>
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="0dip"
-                android:layout_weight="2"
-                android:orientation="horizontal">
-                <LinearLayout
-                    android:layout_width="0dip"
-                    android:layout_height="match_parent"
-                    android:layout_weight="4"
-                    android:orientation="vertical">
-                    <LinearLayout
-                        style="@style/btn_row_style">
-                        <Button
-                            android:id="@+id/digit1"
-                            android:text="@string/digit1"
-                            style="@style/btn_digit_cell_style" />
-                        <Button
-                            android:id="@+id/digit2"
-                            android:text="@string/digit2"
-                            style="@style/btn_digit_cell_style" />
-                        <Button
-                            android:id="@+id/digit3"
-                            android:text="@string/digit3"
-                            style="@style/btn_digit_cell_style" />
-                        <Button
-                            android:id="@+id/minus"
-                            android:text="@string/minus"
-                            style="@style/btn_operation_cell_style"
-                            android:contentDescription="@string/minusDesc" />
-                    </LinearLayout>
-                    <LinearLayout
-                        style="@style/btn_row_style">
-                        <Button
-                            android:id="@+id/digit0"
-                            android:text="@string/digit0"
-                            style="@style/btn_digit_cell_style"
-                            android:layout_weight="2" />
-                        <Button
-                            android:id="@+id/dot"
-                            android:text="@string/dot"
-                            style="@style/btn_digit_cell_style"
-                            android:contentDescription="@string/dotDesc" />
-                        <Button
-                            android:id="@+id/plus"
-                            android:text="@string/plus"
-                            style="@style/btn_operation_cell_style"
-                            android:contentDescription="@string/plusDesc" />
-                    </LinearLayout>
-                </LinearLayout>
-                <Button
-                    android:id="@+id/equal"
-                    android:text="@string/equal"
-                    style="@style/btn_operation_cell_style"
-                    android:contentDescription="@string/equalDesc" />
-            </LinearLayout>
-        </LinearLayout>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout-sw600dp/main.xml b/res/layout-sw600dp/main.xml
deleted file mode 100644
index 89df4de..0000000
--- a/res/layout-sw600dp/main.xml
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright (C) 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<LinearLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:orientation="vertical"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#ff000000"
-    android:paddingLeft="@dimen/left_right_padding"
-    android:paddingRight="@dimen/left_right_padding"
-    android:paddingTop="@dimen/top_bottom_padding"
-    android:paddingBottom="@dimen/top_bottom_padding">
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginBottom="@dimen/group_padding"
-        android:background="@drawable/calculator_input_field">
-
-        <com.android.calculator2.CalculatorDisplay
-            android:id="@+id/display"
-            android:layout_width="0dp"
-            android:layout_weight="1"
-            android:layout_height="wrap_content"
-            maxDigits="@integer/max_digits"
-            android:layout_gravity="bottom"
-            >
-
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-            <com.android.calculator2.CalculatorEditText
-                style="@style/display_style" />
-
-        </com.android.calculator2.CalculatorDisplay>
-
-        <FrameLayout
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent">
-            <Button
-                android:id="@+id/clear"
-                android:text="@string/clear"
-                style="@style/btn_clear"
-                android:minWidth="100dp"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:paddingLeft="5dip"
-                android:paddingRight="5dip"
-                android:contentDescription="@string/clearDesc" />
-            <ImageButton
-                android:id="@+id/del"
-                android:src="@drawable/calc_clear_symbol"
-                style="@style/btn_clear"
-                android:layout_width="match_parent"
-                android:layout_height="match_parent"
-                android:paddingLeft="5dip"
-                android:paddingRight="5dip"
-                android:contentDescription="@string/delDesc" />
-        </FrameLayout>
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="2"
-        android:orientation="vertical"
-        android:layout_marginBottom="@dimen/group_padding">
-
-        <LinearLayout
-            style="@style/btn_row_style">
-            <Button
-                android:id="@+id/sin"
-                android:text="@string/sin"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/sinDesc" />
-            <Button
-                android:id="@+id/cos"
-                android:text="@string/cos"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/cosDesc" />
-            <Button
-                android:id="@+id/tan"
-                android:text="@string/tan"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/tanDesc" />
-            <Button
-                android:id="@+id/pi"
-                android:text="@string/pi"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/piDesc" />
-            <Button
-                android:id="@+id/factorial"
-                android:text="@string/factorial"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/factorialDesc" />
-        </LinearLayout>
-        <LinearLayout
-            style="@style/btn_row_style">
-            <Button
-                android:id="@+id/ln"
-                android:text="@string/ln"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/lnDesc" />
-            <Button
-                android:id="@+id/lg"
-                android:text="@string/lg"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/lgDesc" />
-            <Button
-                android:id="@+id/e"
-                android:text="@string/e"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/eDesc" />
-            <Button
-                android:id="@+id/power"
-                android:text="@string/power"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/powerDesc" />
-            <Button
-                android:id="@+id/sqrt"
-                android:text="@string/sqrt"
-                style="@style/btn_function_cell_style"
-                android:contentDescription="@string/sqrtDesc" />
-        </LinearLayout>
-
-    </LinearLayout>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dip"
-        android:layout_weight="5"
-        android:orientation="vertical">
-        <LinearLayout
-            style="@style/btn_row_style">
-            <Button
-                android:id="@+id/digit7"
-                android:text="@string/digit7"
-                style="@style/btn_digit_cell_style" />
-            <Button
-                android:id="@+id/digit8"
-                android:text="@string/digit8"
-                style="@style/btn_digit_cell_style" />
-            <Button
-                android:id="@+id/digit9"
-                android:text="@string/digit9"
-                style="@style/btn_digit_cell_style" />
-            <Button
-                android:id="@+id/div"
-                android:text="@string/div"
-                style="@style/btn_operation_cell_style"
-                android:contentDescription="@string/divDesc" />
-            <Button
-                android:id="@+id/leftParen"
-                android:text="@string/leftParen"
-                style="@style/btn_operation_cell_style"
-                android:contentDescription="@string/leftParenDesc" />
-        </LinearLayout>
-        <LinearLayout
-            style="@style/btn_row_style">
-            <Button
-                android:id="@+id/digit4"
-                android:text="@string/digit4"
-                style="@style/btn_digit_cell_style" />
-            <Button
-                android:id="@+id/digit5"
-                android:text="@string/digit5"
-                style="@style/btn_digit_cell_style" />
-            <Button
-                android:id="@+id/digit6"
-                android:text="@string/digit6"
-                style="@style/btn_digit_cell_style" />
-            <Button
-                android:id="@+id/mul"
-                android:text="@string/mul"
-                style="@style/btn_operation_cell_style"
-                android:contentDescription="@string/mulDesc" />
-            <Button
-                android:id="@+id/rightParen"
-                android:text="@string/rightParen"
-                style="@style/btn_operation_cell_style"
-                android:contentDescription="@string/rightParenDesc" />
-        </LinearLayout>
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="0dip"
-            android:layout_weight="2"
-            android:orientation="horizontal">
-            <LinearLayout
-                android:layout_width="0dip"
-                android:layout_height="match_parent"
-                android:layout_weight="4"
-                android:orientation="vertical">
-                <LinearLayout
-                    style="@style/btn_row_style">
-                    <Button
-                        android:id="@+id/digit1"
-                        android:text="@string/digit1"
-                        style="@style/btn_digit_cell_style" />
-                    <Button
-                        android:id="@+id/digit2"
-                        android:text="@string/digit2"
-                        style="@style/btn_digit_cell_style" />
-                    <Button
-                        android:id="@+id/digit3"
-                        android:text="@string/digit3"
-                        style="@style/btn_digit_cell_style" />
-                    <Button
-                        android:id="@+id/minus"
-                        android:text="@string/minus"
-                        style="@style/btn_operation_cell_style"
-                        android:contentDescription="@string/minusDesc" />
-                </LinearLayout>
-                <LinearLayout
-                    style="@style/btn_row_style">
-                    <Button
-                        android:id="@+id/digit0"
-                        android:text="@string/digit0"
-                        style="@style/btn_digit_cell_style"
-                        android:layout_weight="2" />
-                    <Button
-                        android:id="@+id/dot"
-                        android:text="@string/dot"
-                        style="@style/btn_digit_cell_style"
-                        android:contentDescription="@string/dotDesc" />
-                    <Button
-                        android:id="@+id/plus"
-                        android:text="@string/plus"
-                        style="@style/btn_operation_cell_style"
-                        android:contentDescription="@string/plusDesc" />
-                </LinearLayout>
-            </LinearLayout>
-            <Button
-                android:id="@+id/equal"
-                android:text="@string/equal"
-                style="@style/btn_operation_cell_style"
-                android:contentDescription="@string/equalDesc" />
-        </LinearLayout>
-    </LinearLayout>
-</LinearLayout>
diff --git a/res/layout/activity_calculator_land.xml b/res/layout/activity_calculator_land.xml
new file mode 100644
index 0000000..1fe12db
--- /dev/null
+++ b/res/layout/activity_calculator_land.xml
@@ -0,0 +1,40 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include
+        layout="@layout/display"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1">
+
+        <include layout="@layout/pad_numeric" />
+        <include layout="@layout/pad_operator_two_col" />
+        <include layout="@layout/pad_advanced" />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/activity_calculator_port.xml b/res/layout/activity_calculator_port.xml
new file mode 100644
index 0000000..605753e
--- /dev/null
+++ b/res/layout/activity_calculator_port.xml
@@ -0,0 +1,48 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include
+        layout="@layout/display"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+
+    <com.android.calculator2.CalculatorPadViewPager
+        android:id="@+id/pad_pager"
+        android:layout_width="match_parent"
+        android:layout_height="0dip"
+        android:layout_weight="1">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
+
+            <include layout="@layout/pad_numeric" />
+            <include layout="@layout/pad_operator_one_col" />
+
+        </LinearLayout>
+
+        <include layout="@layout/pad_advanced" />
+
+    </com.android.calculator2.CalculatorPadViewPager>
+
+</LinearLayout>
diff --git a/res/layout/activity_calculator_tablet_port.xml b/res/layout/activity_calculator_tablet_port.xml
new file mode 100644
index 0000000..cf4b146
--- /dev/null
+++ b/res/layout/activity_calculator_tablet_port.xml
@@ -0,0 +1,38 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+
+    <include
+        layout="@layout/display"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+
+    <include layout="@layout/pad_advanced" />
+
+    <LinearLayout style="@style/PadLinearLayoutStyle">
+
+        <include layout="@layout/pad_numeric" />
+        <include layout="@layout/pad_operator_two_col" />
+
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/display.xml b/res/layout/display.xml
new file mode 100644
index 0000000..0e1d978
--- /dev/null
+++ b/res/layout/display.xml
@@ -0,0 +1,43 @@
+<?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.
+  -->
+
+<RelativeLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/display"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="@color/display_background_color"
+    android:elevation="4dip">
+
+    <com.android.calculator2.CalculatorEditText
+        android:id="@+id/formula"
+        style="@style/DisplayEditTextStyle.Formula"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:inputType="text|textNoSuggestions"
+        android:textColor="@color/display_formula_text_color" />
+
+    <com.android.calculator2.CalculatorEditText
+        android:id="@+id/result"
+        style="@style/DisplayEditTextStyle.Result"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_below="@id/formula"
+        android:inputType="none"
+        android:textColor="@color/display_result_text_color" />
+
+</RelativeLayout>
\ No newline at end of file
diff --git a/res/layout/pad_advanced.xml b/res/layout/pad_advanced.xml
new file mode 100644
index 0000000..5e8fec0
--- /dev/null
+++ b/res/layout/pad_advanced.xml
@@ -0,0 +1,108 @@
+<?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.
+  -->
+
+<com.android.calculator2.CalculatorPadLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pad_advanced"
+    style="@style/PadLayoutStyle.Advanced"
+    android:background="@color/pad_advanced_background_color">
+
+    <Button
+        android:id="@+id/fun_sin"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_fun_sin"
+        android:onClick="onButtonClick"
+        android:text="@string/fun_sin" />
+
+    <Button
+        android:id="@+id/fun_cos"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_fun_cos"
+        android:onClick="onButtonClick"
+        android:text="@string/fun_cos" />
+
+    <Button
+        android:id="@+id/fun_tan"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_fun_tan"
+        android:onClick="onButtonClick"
+        android:text="@string/fun_tan" />
+
+    <Button
+        android:id="@+id/fun_ln"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_fun_ln"
+        android:onClick="onButtonClick"
+        android:text="@string/fun_ln" />
+
+    <Button
+        android:id="@+id/fun_log"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_fun_log"
+        android:onClick="onButtonClick"
+        android:text="@string/fun_log" />
+
+    <Button
+        android:id="@+id/op_fact"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_op_fact"
+        android:onClick="onButtonClick"
+        android:text="@string/op_fact" />
+
+    <Button
+        android:id="@+id/const_pi"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_const_pi"
+        android:onClick="onButtonClick"
+        android:text="@string/const_pi" />
+
+    <Button
+        android:id="@+id/const_e"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_const_e"
+        android:onClick="onButtonClick"
+        android:text="@string/const_e" />
+
+    <Button
+        android:id="@+id/op_pow"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_op_pow"
+        android:onClick="onButtonClick"
+        android:text="@string/op_pow" />
+
+    <Button
+        android:id="@+id/lparen"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_lparen"
+        android:onClick="onButtonClick"
+        android:text="@string/lparen" />
+
+    <Button
+        android:id="@+id/rparen"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_rparen"
+        android:onClick="onButtonClick"
+        android:text="@string/rparen" />
+
+    <Button
+        android:id="@+id/op_sqrt"
+        style="@style/PadButtonStyle.Advanced"
+        android:contentDescription="@string/desc_op_sqrt"
+        android:onClick="onButtonClick"
+        android:text="@string/op_sqrt" />
+
+</com.android.calculator2.CalculatorPadLayout>
diff --git a/res/layout/pad_numeric.xml b/res/layout/pad_numeric.xml
new file mode 100644
index 0000000..c03f58b
--- /dev/null
+++ b/res/layout/pad_numeric.xml
@@ -0,0 +1,99 @@
+<?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.
+  -->
+
+<com.android.calculator2.CalculatorPadLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pad_numeric"
+    style="@style/PadLayoutStyle.Numeric"
+    android:background="@color/pad_numeric_background_color"
+    android:columnCount="3"
+    android:rowCount="4">
+
+    <Button
+        android:id="@+id/digit_7"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_7" />
+
+    <Button
+        android:id="@+id/digit_8"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_8" />
+
+    <Button
+        android:id="@+id/digit_9"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_9" />
+
+    <Button
+        android:id="@+id/digit_4"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_4" />
+
+    <Button
+        android:id="@+id/digit_5"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_5" />
+
+    <Button
+        android:id="@+id/digit_6"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_6" />
+
+    <Button
+        android:id="@+id/digit_1"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_1" />
+
+    <Button
+        android:id="@+id/digit_2"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_2" />
+
+    <Button
+        android:id="@+id/digit_3"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_3" />
+
+    <Button
+        android:id="@+id/dec_point"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/dec_point" />
+
+    <Button
+        android:id="@+id/digit_0"
+        style="@style/PadButtonStyle.Numeric"
+        android:onClick="onButtonClick"
+        android:text="@string/digit_0" />
+
+    <Button
+        android:id="@+id/eq"
+        style="@style/PadButtonStyle.Numeric.Equals"
+        android:contentDescription="@string/desc_eq"
+        android:onClick="onButtonClick"
+        android:text="@string/eq" />
+
+</com.android.calculator2.CalculatorPadLayout>
diff --git a/res/layout/pad_operator_one_col.xml b/res/layout/pad_operator_one_col.xml
new file mode 100644
index 0000000..a794f72
--- /dev/null
+++ b/res/layout/pad_operator_one_col.xml
@@ -0,0 +1,69 @@
+<?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.
+  -->
+
+<com.android.calculator2.CalculatorPadLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pad_operator"
+    style="@style/PadLayoutStyle.Operator"
+    android:background="@color/pad_operator_background_color"
+    android:columnCount="1"
+    android:rowCount="5">
+
+    <Button
+        android:id="@+id/del"
+        style="@style/PadButtonStyle.Operator.Text"
+        android:contentDescription="@string/desc_del"
+        android:onClick="onButtonClick"
+        android:text="@string/del" />
+
+    <Button
+        android:id="@+id/clr"
+        style="@style/PadButtonStyle.Operator.Text"
+        android:contentDescription="@string/desc_clr"
+        android:onClick="onButtonClick"
+        android:text="@string/clr"
+        android:visibility="gone" />
+
+    <Button
+        android:id="@+id/op_div"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_div"
+        android:onClick="onButtonClick"
+        android:text="@string/op_div" />
+
+    <Button
+        android:id="@+id/op_mul"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_mul"
+        android:onClick="onButtonClick"
+        android:text="@string/op_mul" />
+
+    <Button
+        android:id="@+id/op_sub"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_sub"
+        android:onClick="onButtonClick"
+        android:text="@string/op_sub" />
+
+    <Button
+        android:id="@+id/op_add"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_add"
+        android:onClick="onButtonClick"
+        android:text="@string/op_add" />
+
+</com.android.calculator2.CalculatorPadLayout>
diff --git a/res/layout/pad_operator_two_col.xml b/res/layout/pad_operator_two_col.xml
new file mode 100644
index 0000000..6009e89
--- /dev/null
+++ b/res/layout/pad_operator_two_col.xml
@@ -0,0 +1,80 @@
+<?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.
+  -->
+
+<com.android.calculator2.CalculatorPadLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/pad_operator"
+    style="@style/PadLayoutStyle.Operator"
+    android:background="@color/pad_operator_background_color"
+    android:columnCount="2"
+    android:rowCount="4">
+
+    <Button
+        android:id="@+id/op_div"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_div"
+        android:onClick="onButtonClick"
+        android:text="@string/op_div" />
+
+    <Button
+        android:id="@+id/del"
+        style="@style/PadButtonStyle.Operator.Text"
+        android:contentDescription="@string/desc_del"
+        android:onClick="onButtonClick"
+        android:text="@string/del" />
+
+    <Button
+        android:id="@+id/clr"
+        style="@style/PadButtonStyle.Operator.Text"
+        android:contentDescription="@string/desc_clr"
+        android:onClick="onButtonClick"
+        android:text="@string/clr"
+        android:visibility="gone" />
+
+    <Button
+        android:id="@+id/op_mul"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/op_mul"
+        android:onClick="onButtonClick"
+        android:text="@string/op_mul" />
+
+    <Space style="@style/PadButtonStyle.Operator" />
+
+    <Button
+        android:id="@+id/op_sub"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_sub"
+        android:onClick="onButtonClick"
+        android:text="@string/op_sub" />
+
+    <Space style="@style/PadButtonStyle.Operator" />
+
+    <Button
+        android:id="@+id/op_add"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_op_add"
+        android:onClick="onButtonClick"
+        android:text="@string/op_add" />
+
+    <Button
+        android:id="@+id/eq"
+        style="@style/PadButtonStyle.Operator"
+        android:contentDescription="@string/desc_eq"
+        android:onClick="onButtonClick"
+        android:text="@string/eq" />
+
+</com.android.calculator2.CalculatorPadLayout>
diff --git a/res/menu/menu.xml b/res/menu/menu.xml
deleted file mode 100644
index 21eb71a..0000000
--- a/res/menu/menu.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright (C) 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:id="@+id/clear_history"
-        android:showAsAction="ifRoom|withText"
-        android:icon="@drawable/clear_history"
-        android:title="@string/clear_history"/>
-
-    <item android:id="@+id/advanced"
-        android:showAsAction="ifRoom|withText"
-        android:icon="@drawable/advanced"
-        android:title="@string/advanced"/>
-
-    <item android:id="@+id/basic"
-        android:showAsAction="ifRoom|withText"
-        android:icon="@drawable/simple"
-        android:title="@string/basic"/>
-
-</menu>
diff --git a/res/mipmap-hdpi/ic_launcher_calculator.png b/res/mipmap-hdpi/ic_launcher_calculator.png
index 008c565..737788f 100644
--- a/res/mipmap-hdpi/ic_launcher_calculator.png
+++ b/res/mipmap-hdpi/ic_launcher_calculator.png
Binary files differ
diff --git a/res/mipmap-mdpi/ic_launcher_calculator.png b/res/mipmap-mdpi/ic_launcher_calculator.png
index 8f02ef1..8500be8 100644
--- a/res/mipmap-mdpi/ic_launcher_calculator.png
+++ b/res/mipmap-mdpi/ic_launcher_calculator.png
Binary files differ
diff --git a/res/mipmap-xhdpi/ic_launcher_calculator.png b/res/mipmap-xhdpi/ic_launcher_calculator.png
index 9636c19..f7f2c15 100644
--- a/res/mipmap-xhdpi/ic_launcher_calculator.png
+++ b/res/mipmap-xhdpi/ic_launcher_calculator.png
Binary files differ
diff --git a/res/mipmap-xxhdpi/ic_launcher_calculator.png b/res/mipmap-xxhdpi/ic_launcher_calculator.png
index 13f4b6c..274bca7 100644
--- a/res/mipmap-xxhdpi/ic_launcher_calculator.png
+++ b/res/mipmap-xxhdpi/ic_launcher_calculator.png
Binary files differ
diff --git a/res/mipmap-xxxhdpi/ic_launcher_calculator.png b/res/mipmap-xxxhdpi/ic_launcher_calculator.png
index 8594b24..2ad08c2 100644
--- a/res/mipmap-xxxhdpi/ic_launcher_calculator.png
+++ b/res/mipmap-xxxhdpi/ic_launcher_calculator.png
Binary files differ
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 371bd33..e5602b1 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Sakrekenaar"</string>
-    <string name="error" msgid="9197457880925804499">"Fout"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"VEE UIT"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Basiese paneel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Gevorderde paneel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Vee geskiedenis uit"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Teks gekopieer."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"begin-hakie"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"eind-hakie"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktoriaal"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"natuurlike logaritme"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"vierkantswortel"</string>
-    <string name="divDesc" msgid="7442623079124315427">"deel"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"vermenigvuldig"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punt"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"mag"</string>
-    <string name="delDesc" msgid="8211175878012032240">"vee uit"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"vee uit"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Euler-nommer"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"gelyk aan"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"begin-hakie"</item>
-    <item msgid="1688156211934459752">"eind-hakie"</item>
-    <item msgid="6664829080840305856">"faktoriaal"</item>
-    <item msgid="2880199289575144121">"natuurlike logaritme"</item>
-    <item msgid="4398774906998694599">"logaritme"</item>
-    <item msgid="1791869359785943266">"vierkantswortel"</item>
-    <item msgid="6833720171974254459">"gedeel deur"</item>
-    <item msgid="2646574635189709515">"vermenigvuldig met"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" punt "</item>
-    <item msgid="4528629783180278651">"mag"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"kosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"gelyk aan"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Nie getal nie"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Fout"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"vee"</string>
+    <string name="del" msgid="6700172918709138470">"wis"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler-nommer"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punt"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"beginhakie"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"eindhakie"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natuurlike logaritme"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"deel"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fakulteit"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"maal"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"mag"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"vierkantswortel"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"vee uit"</string>
+    <string name="desc_del" msgid="1866733601083210032">"wis uit"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"gelyk aan"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ff96c4c..aa7a789 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"ማስያ"</string>
-    <string name="error" msgid="9197457880925804499">"ስህተት"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ሰርዝ"</string>
-    <string name="clear" msgid="8103610981407459768">"አጥራ"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"መሠረታዊ መደብ"</string>
-    <string name="advanced" msgid="7122495413742976492">"የላቀ ፓናል"</string>
-    <string name="clear_history" msgid="8458043980601165012">"ታሪክ አጥራ"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"ፅሁፍ ተገልብጧል።"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"የግራ ቅንፍ"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"የቀኝ ቅንፍ"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"ብዜት"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"ተፈጥሯዊ ሎጋሪዝም"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"ሎጋሪዝም"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"ስክዌር ሩት"</string>
-    <string name="divDesc" msgid="7442623079124315427">"አካፍል"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"አባዛ"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"ሲደመር"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"ሲቀነስ"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"ነጥብ"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"አርቢ"</string>
-    <string name="delDesc" msgid="8211175878012032240">"ሰርዝ"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"አጽዳ"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"ታንጀት"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"ሳይን"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"ኮሳይን"</string>
-    <string name="eDesc" msgid="6709583372168924068">"የዩለር ቁጥር"</string>
-    <string name="piDesc" msgid="8838151606775021517">"ፓይ"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"ይሆናል"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"የግራ ቅንፍ"</item>
-    <item msgid="1688156211934459752">"የቀኝ ቅንፍ"</item>
-    <item msgid="6664829080840305856">"ብዜት"</item>
-    <item msgid="2880199289575144121">"ተፈጥሯዊ ሎጋሪዝም"</item>
-    <item msgid="4398774906998694599">"ሎጋሪዝም"</item>
-    <item msgid="1791869359785943266">"ስክዌር ሩት"</item>
-    <item msgid="6833720171974254459">"ሲካፈል"</item>
-    <item msgid="2646574635189709515">"ሲባዛ"</item>
-    <item msgid="3487936384379753697">"ሲደመር"</item>
-    <item msgid="8608534484562258856">"ሲቀነስ"</item>
-    <item msgid="3456824579675198186">" ነጥብ "</item>
-    <item msgid="4528629783180278651">"አርቢ"</item>
-    <item msgid="4050948027333760159">"ታንጀት"</item>
-    <item msgid="8716478860618683850">"ሳይን"</item>
-    <item msgid="3203211483560707480">"ኮሳይን"</item>
-    <item msgid="8587490959348493065">"ፓይ"</item>
-    <item msgid="8134315487552198394">"ይሆናል"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"ቁጥር አይደለም"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"ስህተት"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"አጽዳ"</string>
+    <string name="del" msgid="6700172918709138470">"ሰርዝ"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"የዩለር ቁጥር"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"ፓይ"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ነጥብ"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"የግራ ቅንፍ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"የቀኝ ቅንፍ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"ኮሳይን"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ተፈጥሯዊ ሎጋሪዝም"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ሎጋሪዝም"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ሳይን"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ታንጀት"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"ሲደመር"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ሲካፈል"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ብዜት"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ጊዜ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"አርቢ"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ዳግም ዘር"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ሲቀነስ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"አጽዳ"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ሰርዝ"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ይሆናል"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index cb82d25..4ec3b75 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"الآلة الحاسبة"</string>
-    <string name="error" msgid="9197457880925804499">"خطأ"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"حذف"</string>
-    <string name="clear" msgid="8103610981407459768">"محو"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"اللوحة الأساسية"</string>
-    <string name="advanced" msgid="7122495413742976492">"اللوحة المتقدمة"</string>
-    <string name="clear_history" msgid="8458043980601165012">"محو السجل"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"تم نسخ النص."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"قوس أيسر"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"قوس أيمن"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"العامل"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"اللوغاريتم الطبيعي"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"لوغاريتم"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"جذر تربيعي"</string>
-    <string name="divDesc" msgid="7442623079124315427">"قسمة"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"ضرب"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"علامة الجمع"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"علامة الطرح"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"نقطة"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"أس"</string>
-    <string name="delDesc" msgid="8211175878012032240">"حذف"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"محو"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"المماس"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"جيب الزاوية"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"جيب التمام"</string>
-    <string name="eDesc" msgid="6709583372168924068">"رقم إيولر"</string>
-    <string name="piDesc" msgid="8838151606775021517">"باي"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"تساوي"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"قوس أيسر"</item>
-    <item msgid="1688156211934459752">"قوس أيمن"</item>
-    <item msgid="6664829080840305856">"العامل"</item>
-    <item msgid="2880199289575144121">"اللوغاريتم الطبيعي"</item>
-    <item msgid="4398774906998694599">"لوغاريتم"</item>
-    <item msgid="1791869359785943266">"جذر تربيعي"</item>
-    <item msgid="6833720171974254459">"مقسومًا على"</item>
-    <item msgid="2646574635189709515">"مضروبًا في"</item>
-    <item msgid="3487936384379753697">"علامة الجمع"</item>
-    <item msgid="8608534484562258856">"علامة الطرح"</item>
-    <item msgid="3456824579675198186">" نقطة "</item>
-    <item msgid="4528629783180278651">"أس"</item>
-    <item msgid="4050948027333760159">"المماس"</item>
-    <item msgid="8716478860618683850">"جيب الزاوية"</item>
-    <item msgid="3203211483560707480">"جيب التمام"</item>
-    <item msgid="8587490959348493065">"باي"</item>
-    <item msgid="8134315487552198394">"تساوي"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"ليس رقمًا"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"خطأ"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"٠"</string>
+    <string name="digit_1" msgid="9009337429640544205">"١"</string>
+    <string name="digit_2" msgid="7722707864768133877">"٢"</string>
+    <string name="digit_3" msgid="5813321444694024561">"٣"</string>
+    <string name="digit_4" msgid="4768173444612236144">"٤"</string>
+    <string name="digit_5" msgid="2015349411036328271">"٥"</string>
+    <string name="digit_6" msgid="7350999202882497047">"٦"</string>
+    <string name="digit_7" msgid="2386463125354638611">"٧"</string>
+    <string name="digit_8" msgid="6298159258090202166">"٨"</string>
+    <string name="digit_9" msgid="1221342734731110246">"٩"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"محو"</string>
+    <string name="del" msgid="6700172918709138470">"حذف"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"رقم أويلر"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"باي"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"نقطة"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"قوس أيسر"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"قوس أيمن"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"جيب التمام"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"اللوغاريتم الطبيعي"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"لوغاريتم"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"جيب الزاوية"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"المماس"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"علامة الجمع"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"قسمة"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"العامل"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ضرب"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"أس"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"جذر تربيعي"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"علامة الطرح"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"محو"</string>
+    <string name="desc_del" msgid="1866733601083210032">"حذف"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"يساوي"</string>
 </resources>
diff --git a/res/values-az-rAZ/strings.xml b/res/values-az-rAZ/strings.xml
new file mode 100644
index 0000000..8690819
--- /dev/null
+++ b/res/values-az-rAZ/strings.xml
@@ -0,0 +1,84 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulyator"</string>
+    <string name="error" msgid="9197457880925804499">"Xəta"</string>
+    <string name="digit0" msgid="8069590963464434135">"0"</string>
+    <string name="digit1" msgid="8535041374797804029">"1"</string>
+    <string name="digit2" msgid="8977354203154316247">"2"</string>
+    <string name="digit3" msgid="148544090755132760">"3"</string>
+    <string name="digit4" msgid="2199490603838247678">"4"</string>
+    <string name="digit5" msgid="7568514524384173087">"5"</string>
+    <string name="digit6" msgid="6705952561049362551">"6"</string>
+    <string name="digit7" msgid="658125644218958447">"7"</string>
+    <string name="digit8" msgid="3134686906411558886">"8"</string>
+    <string name="digit9" msgid="765379157698748031">"9"</string>
+    <string name="del" msgid="6248896117422989693">"SİLİN"</string>
+    <string name="clear" msgid="8103610981407459768">"CLR"</string>
+    <string name="sin" msgid="6793866152659175277">"sin"</string>
+    <string name="cos" msgid="6901841853098114414">"kos"</string>
+    <string name="tan" msgid="7957459816738554960">"qaralt"</string>
+    <string name="e" msgid="1377847800971731483">"e"</string>
+    <string name="ln" msgid="6888500680285403344">"in"</string>
+    <string name="lg" msgid="873623857385418182">"qeydiyyat"</string>
+    <string name="leftParen" msgid="4850643713953092099">"("</string>
+    <string name="rightParen" msgid="3177971166159324016">")"</string>
+    <string name="basic" msgid="7691469861698059753">"Əsas panel"</string>
+    <string name="advanced" msgid="7122495413742976492">"Ətraflı panel"</string>
+    <string name="clear_history" msgid="8458043980601165012">"Tarixçəni silin"</string>
+    <string name="text_copied_toast" msgid="5801480710472541833">"Mətn kopyalandı."</string>
+    <string name="leftParenDesc" msgid="8446428211982811379">"sol mötərizə"</string>
+    <string name="rightParenDesc" msgid="9133691645148976523">"sağ mötərizə"</string>
+    <string name="factorialDesc" msgid="9217024218012761574">"faktorial"</string>
+    <string name="lnDesc" msgid="1052579286300842270">"təbii loqaritm"</string>
+    <string name="lgDesc" msgid="6490920451513731160">"loqaritm"</string>
+    <string name="sqrtDesc" msgid="2247252128762219267">"kvadrat kök"</string>
+    <string name="divDesc" msgid="7442623079124315427">"böl"</string>
+    <string name="mulDesc" msgid="9003016819648670694">"çoxaltmaq"</string>
+    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
+    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
+    <string name="dotDesc" msgid="5253752241630161722">"nöqtə"</string>
+    <string name="powerDesc" msgid="9034898318444176910">"güc"</string>
+    <string name="delDesc" msgid="8211175878012032240">"silin"</string>
+    <string name="clearDesc" msgid="8015748901120751476">"Təmizləyin"</string>
+    <string name="tanDesc" msgid="2055554933130702423">"toxunan"</string>
+    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
+    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
+    <string name="eDesc" msgid="6709583372168924068">"Euler\'in nömrəsi"</string>
+    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
+    <string name="equalDesc" msgid="4164435100263313101">"bərabərliklər"</string>
+  <string-array name="operatorDescs">
+    <item msgid="7903565108986789641">"sol mötərizə"</item>
+    <item msgid="1688156211934459752">"sağ mötərizə"</item>
+    <item msgid="6664829080840305856">"faktorial"</item>
+    <item msgid="2880199289575144121">"təbii loqaritm"</item>
+    <item msgid="4398774906998694599">"loqaritm"</item>
+    <item msgid="1791869359785943266">"kvadrat kök"</item>
+    <item msgid="6833720171974254459">"bölünmə"</item>
+    <item msgid="2646574635189709515">"vurma"</item>
+    <item msgid="3487936384379753697">"plus"</item>
+    <item msgid="8608534484562258856">"minus"</item>
+    <item msgid="3456824579675198186">" nöqtə "</item>
+    <item msgid="4528629783180278651">"güc"</item>
+    <item msgid="4050948027333760159">"toxunan"</item>
+    <item msgid="8716478860618683850">"sinus"</item>
+    <item msgid="3203211483560707480">"kosinus"</item>
+    <item msgid="8587490959348493065">"pi"</item>
+    <item msgid="8134315487552198394">"bərabərdir"</item>
+  </string-array>
+</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
new file mode 100644
index 0000000..8690819
--- /dev/null
+++ b/res/values-az/strings.xml
@@ -0,0 +1,84 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulyator"</string>
+    <string name="error" msgid="9197457880925804499">"Xəta"</string>
+    <string name="digit0" msgid="8069590963464434135">"0"</string>
+    <string name="digit1" msgid="8535041374797804029">"1"</string>
+    <string name="digit2" msgid="8977354203154316247">"2"</string>
+    <string name="digit3" msgid="148544090755132760">"3"</string>
+    <string name="digit4" msgid="2199490603838247678">"4"</string>
+    <string name="digit5" msgid="7568514524384173087">"5"</string>
+    <string name="digit6" msgid="6705952561049362551">"6"</string>
+    <string name="digit7" msgid="658125644218958447">"7"</string>
+    <string name="digit8" msgid="3134686906411558886">"8"</string>
+    <string name="digit9" msgid="765379157698748031">"9"</string>
+    <string name="del" msgid="6248896117422989693">"SİLİN"</string>
+    <string name="clear" msgid="8103610981407459768">"CLR"</string>
+    <string name="sin" msgid="6793866152659175277">"sin"</string>
+    <string name="cos" msgid="6901841853098114414">"kos"</string>
+    <string name="tan" msgid="7957459816738554960">"qaralt"</string>
+    <string name="e" msgid="1377847800971731483">"e"</string>
+    <string name="ln" msgid="6888500680285403344">"in"</string>
+    <string name="lg" msgid="873623857385418182">"qeydiyyat"</string>
+    <string name="leftParen" msgid="4850643713953092099">"("</string>
+    <string name="rightParen" msgid="3177971166159324016">")"</string>
+    <string name="basic" msgid="7691469861698059753">"Əsas panel"</string>
+    <string name="advanced" msgid="7122495413742976492">"Ətraflı panel"</string>
+    <string name="clear_history" msgid="8458043980601165012">"Tarixçəni silin"</string>
+    <string name="text_copied_toast" msgid="5801480710472541833">"Mətn kopyalandı."</string>
+    <string name="leftParenDesc" msgid="8446428211982811379">"sol mötərizə"</string>
+    <string name="rightParenDesc" msgid="9133691645148976523">"sağ mötərizə"</string>
+    <string name="factorialDesc" msgid="9217024218012761574">"faktorial"</string>
+    <string name="lnDesc" msgid="1052579286300842270">"təbii loqaritm"</string>
+    <string name="lgDesc" msgid="6490920451513731160">"loqaritm"</string>
+    <string name="sqrtDesc" msgid="2247252128762219267">"kvadrat kök"</string>
+    <string name="divDesc" msgid="7442623079124315427">"böl"</string>
+    <string name="mulDesc" msgid="9003016819648670694">"çoxaltmaq"</string>
+    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
+    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
+    <string name="dotDesc" msgid="5253752241630161722">"nöqtə"</string>
+    <string name="powerDesc" msgid="9034898318444176910">"güc"</string>
+    <string name="delDesc" msgid="8211175878012032240">"silin"</string>
+    <string name="clearDesc" msgid="8015748901120751476">"Təmizləyin"</string>
+    <string name="tanDesc" msgid="2055554933130702423">"toxunan"</string>
+    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
+    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
+    <string name="eDesc" msgid="6709583372168924068">"Euler\'in nömrəsi"</string>
+    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
+    <string name="equalDesc" msgid="4164435100263313101">"bərabərliklər"</string>
+  <string-array name="operatorDescs">
+    <item msgid="7903565108986789641">"sol mötərizə"</item>
+    <item msgid="1688156211934459752">"sağ mötərizə"</item>
+    <item msgid="6664829080840305856">"faktorial"</item>
+    <item msgid="2880199289575144121">"təbii loqaritm"</item>
+    <item msgid="4398774906998694599">"loqaritm"</item>
+    <item msgid="1791869359785943266">"kvadrat kök"</item>
+    <item msgid="6833720171974254459">"bölünmə"</item>
+    <item msgid="2646574635189709515">"vurma"</item>
+    <item msgid="3487936384379753697">"plus"</item>
+    <item msgid="8608534484562258856">"minus"</item>
+    <item msgid="3456824579675198186">" nöqtə "</item>
+    <item msgid="4528629783180278651">"güc"</item>
+    <item msgid="4050948027333760159">"toxunan"</item>
+    <item msgid="8716478860618683850">"sinus"</item>
+    <item msgid="3203211483560707480">"kosinus"</item>
+    <item msgid="8587490959348493065">"pi"</item>
+    <item msgid="8134315487552198394">"bərabərdir"</item>
+  </string-array>
+</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
deleted file mode 100644
index afb86ad..0000000
--- a/res/values-be/strings.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?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="app_name" msgid="8095131950334945205">"Калькулятар"</string>
-    <string name="error" msgid="9197457880925804499">"Памылка"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ВЫДАЛІЦЬ"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"сін"</string>
-    <string name="cos" msgid="6901841853098114414">"кос"</string>
-    <string name="tan" msgid="7957459816738554960">"Тан"</string>
-    <string name="e" msgid="1377847800971731483">"е"</string>
-    <string name="ln" msgid="6888500680285403344">"нат. лог."</string>
-    <string name="lg" msgid="873623857385418182">"часопic"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Звычайная панэль"</string>
-    <string name="advanced" msgid="7122495413742976492">"Пашыраная панэль"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Выдаліць гісторыю"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Тэкст скапіяваны"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"левая дужка"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"правая дужка"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"фактарыял"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"натуральны лагарыфм"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"лагарыфм"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"квадратны корань"</string>
-    <string name="divDesc" msgid="7442623079124315427">"падзяліць"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"памножыць"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"плюс"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"мінус"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"коска"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"сілкаванне"</string>
-    <string name="delDesc" msgid="8211175878012032240">"выдаліць"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"ачысціць"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"тангенс"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"сінус"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"косінус"</string>
-    <string name="eDesc" msgid="6709583372168924068">"лік Эйлера"</string>
-    <string name="piDesc" msgid="8838151606775021517">"пі"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"роўна"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"левая дужка"</item>
-    <item msgid="1688156211934459752">"правая дужка"</item>
-    <item msgid="6664829080840305856">"фактарыял"</item>
-    <item msgid="2880199289575144121">"натуральны лагарыфм"</item>
-    <item msgid="4398774906998694599">"лагарыфм"</item>
-    <item msgid="1791869359785943266">"квадратны корань"</item>
-    <item msgid="6833720171974254459">"дзеліцца на"</item>
-    <item msgid="2646574635189709515">"памнажаецца на"</item>
-    <item msgid="3487936384379753697">"плюс"</item>
-    <item msgid="8608534484562258856">"мінус"</item>
-    <item msgid="3456824579675198186">" кропка "</item>
-    <item msgid="4528629783180278651">"сілкаванне"</item>
-    <item msgid="4050948027333760159">"тангенс"</item>
-    <item msgid="8716478860618683850">"сінус"</item>
-    <item msgid="3203211483560707480">"косінус"</item>
-    <item msgid="8587490959348493065">"пі"</item>
-    <item msgid="8134315487552198394">"роўна"</item>
-  </string-array>
-</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 48a4d29..6cb309e 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Калкулатор"</string>
-    <string name="error" msgid="9197457880925804499">"Грешка"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ИЗТРИВАНЕ"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Основен панел"</string>
-    <string name="advanced" msgid="7122495413742976492">"Разширен панел"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Изчистване на историята"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Текстът е копиран."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"лява кръгла скоба"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"дясна кръгла скоба"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"факториел"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"естествен логаритъм"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"логаритъм"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"корен квадратен"</string>
-    <string name="divDesc" msgid="7442623079124315427">"деление"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"умножение"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"плюс"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"минус"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"точка"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"степен"</string>
-    <string name="delDesc" msgid="8211175878012032240">"изтриване"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"изчистване"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"тангенс"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"синус"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"косинус"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Неперово число"</string>
-    <string name="piDesc" msgid="8838151606775021517">"пи"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"равно на"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"лява кръгла скоба"</item>
-    <item msgid="1688156211934459752">"дясна кръгла скоба"</item>
-    <item msgid="6664829080840305856">"факториел"</item>
-    <item msgid="2880199289575144121">"естествен логаритъм"</item>
-    <item msgid="4398774906998694599">"логаритъм"</item>
-    <item msgid="1791869359785943266">"корен квадратен"</item>
-    <item msgid="6833720171974254459">"делено на"</item>
-    <item msgid="2646574635189709515">"умножено по"</item>
-    <item msgid="3487936384379753697">"плюс"</item>
-    <item msgid="8608534484562258856">"минус"</item>
-    <item msgid="3456824579675198186">" запетая "</item>
-    <item msgid="4528629783180278651">"степен"</item>
-    <item msgid="4050948027333760159">"тангенс"</item>
-    <item msgid="8716478860618683850">"синус"</item>
-    <item msgid="3203211483560707480">"косинус"</item>
-    <item msgid="8587490959348493065">"пи"</item>
-    <item msgid="8134315487552198394">"равно на"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Не е число"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Грешка"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Неперово число"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"пи"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"точка"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"лява кръгла скоба"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"дясна кръгла скоба"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"естествен логаритъм"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логаритъм"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"плюс"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"деление"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факториел"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"умножение"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"степен"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"корен квадратен"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"минус"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"изчистване"</string>
+    <string name="desc_del" msgid="1866733601083210032">"изтриване"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"равно"</string>
 </resources>
diff --git a/res/values-bn-rBD/strings.xml b/res/values-bn-rBD/strings.xml
new file mode 100644
index 0000000..d32c575
--- /dev/null
+++ b/res/values-bn-rBD/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ক্যালকুলেটর"</string>
+    <string name="error_nan" msgid="4071578355972369426">"একটি সংখ্যা নয়"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"ত্রুটি"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"০"</string>
+    <string name="digit_1" msgid="9009337429640544205">"১"</string>
+    <string name="digit_2" msgid="7722707864768133877">"২"</string>
+    <string name="digit_3" msgid="5813321444694024561">"৩"</string>
+    <string name="digit_4" msgid="4768173444612236144">"৪"</string>
+    <string name="digit_5" msgid="2015349411036328271">"৫"</string>
+    <string name="digit_6" msgid="7350999202882497047">"৬"</string>
+    <string name="digit_7" msgid="2386463125354638611">"৭"</string>
+    <string name="digit_8" msgid="6298159258090202166">"৮"</string>
+    <string name="digit_9" msgid="1221342734731110246">"৯"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ইন"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ইউলার সংখ্যা"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"পাই"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"পয়েন্ট"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"বাম লঘুবন্ধনী"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"ডান লঘুবন্ধনী"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"কোসাইন"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"স্বাভাবিক লগারিদম"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"লগারিদম"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"সাইন"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ট্যানজেন্ট"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"যোগ চিহ্ন"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ভাগ চিহ্ন"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"গৌণিক"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"গুণ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"পাওয়ার"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"বর্গমূল"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"বিয়োগ চিহ্ন"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"সাফ করুন"</string>
+    <string name="desc_del" msgid="1866733601083210032">"মুছুন"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"সমান চিহ্ন"</string>
+</resources>
diff --git a/res/values-bn-rWB/strings.xml b/res/values-bn-rWB/strings.xml
new file mode 100644
index 0000000..d32c575
--- /dev/null
+++ b/res/values-bn-rWB/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ক্যালকুলেটর"</string>
+    <string name="error_nan" msgid="4071578355972369426">"একটি সংখ্যা নয়"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"ত্রুটি"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"০"</string>
+    <string name="digit_1" msgid="9009337429640544205">"১"</string>
+    <string name="digit_2" msgid="7722707864768133877">"২"</string>
+    <string name="digit_3" msgid="5813321444694024561">"৩"</string>
+    <string name="digit_4" msgid="4768173444612236144">"৪"</string>
+    <string name="digit_5" msgid="2015349411036328271">"৫"</string>
+    <string name="digit_6" msgid="7350999202882497047">"৬"</string>
+    <string name="digit_7" msgid="2386463125354638611">"৭"</string>
+    <string name="digit_8" msgid="6298159258090202166">"৮"</string>
+    <string name="digit_9" msgid="1221342734731110246">"৯"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ইন"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ইউলার সংখ্যা"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"পাই"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"পয়েন্ট"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"বাম লঘুবন্ধনী"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"ডান লঘুবন্ধনী"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"কোসাইন"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"স্বাভাবিক লগারিদম"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"লগারিদম"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"সাইন"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ট্যানজেন্ট"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"যোগ চিহ্ন"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ভাগ চিহ্ন"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"গৌণিক"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"গুণ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"পাওয়ার"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"বর্গমূল"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"বিয়োগ চিহ্ন"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"সাফ করুন"</string>
+    <string name="desc_del" msgid="1866733601083210032">"মুছুন"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"সমান চিহ্ন"</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index c4bff1b..af5b032 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculadora"</string>
-    <string name="error" msgid="9197457880925804499">"Error"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SUPRIMEIX"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Tauler bàsic"</string>
-    <string name="advanced" msgid="7122495413742976492">"Tauler avançat"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Esborra l\'historial"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"S\'ha copiat el text."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"parèntesi esquerre"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"parèntesi dret"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritme natural"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"arrel quadrada"</string>
-    <string name="divDesc" msgid="7442623079124315427">"divideix"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplica"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"més"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"menys"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punt"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"poder"</string>
-    <string name="delDesc" msgid="8211175878012032240">"suprimeix"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"esborra"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"nombre d\'Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"és igual a"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"parèntesi esquerre"</item>
-    <item msgid="1688156211934459752">"parèntesi dret"</item>
-    <item msgid="6664829080840305856">"factorial"</item>
-    <item msgid="2880199289575144121">"logaritme natural"</item>
-    <item msgid="4398774906998694599">"logaritme"</item>
-    <item msgid="1791869359785943266">"arrel quadrada"</item>
-    <item msgid="6833720171974254459">"dividit per"</item>
-    <item msgid="2646574635189709515">"multiplicat per"</item>
-    <item msgid="3487936384379753697">"més"</item>
-    <item msgid="8608534484562258856">"menys"</item>
-    <item msgid="3456824579675198186">" punt "</item>
-    <item msgid="4528629783180278651">"potència"</item>
-    <item msgid="4050948027333760159">"tangent"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"és igual a"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"No és número"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Error"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"c"</string>
+    <string name="del" msgid="6700172918709138470">"CE"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"nombre d\'Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punt"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"parèntesi d\'obertura"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"parèntesi de tancament"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritme natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"més"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"divideix"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"vegades"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potència"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"arrel quadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menys"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"esborra"</string>
+    <string name="desc_del" msgid="1866733601083210032">"suprimeix"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"és igual a"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 6c53e1c..ca732d4 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkulačka"</string>
-    <string name="error" msgid="9197457880925804499">"Chyba"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SMAZAT"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Základní funkce"</string>
-    <string name="advanced" msgid="7122495413742976492">"Pokročilé funkce"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Vymazat historii"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Text zkopírován."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"levá závorka"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"pravá závorka"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktoriál"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"přirozený logaritmus"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmus"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"druhá odmocnina"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dělit"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"násobit"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"mínus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"desetinná čárka"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"mocnina"</string>
-    <string name="delDesc" msgid="8211175878012032240">"smazat"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"vymazat"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulerovo číslo"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pí"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"rovná se"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"levá závorka"</item>
-    <item msgid="1688156211934459752">"pravá závorka"</item>
-    <item msgid="6664829080840305856">"faktoriál"</item>
-    <item msgid="2880199289575144121">"přirozený logaritmus"</item>
-    <item msgid="4398774906998694599">"logaritmus"</item>
-    <item msgid="1791869359785943266">"druhá odmocnina"</item>
-    <item msgid="6833720171974254459">"děleno"</item>
-    <item msgid="2646574635189709515">"krát"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"mínus"</item>
-    <item msgid="3456824579675198186">" bod "</item>
-    <item msgid="4528629783180278651">"síla"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"kosinus"</item>
-    <item msgid="8587490959348493065">"pí"</item>
-    <item msgid="8134315487552198394">"rovná se"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Není číslo"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Chyba"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"CE"</string>
+    <string name="del" msgid="6700172918709138470">"←"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerovo číslo"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pí"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"desetinná čárka"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"levá závorka"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"pravá závorka"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"přirozený logaritmus"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmus"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"děleno"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriál"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"krát"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"mocnina"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"druhá odmocnina"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"smazat celý výraz"</string>
+    <string name="desc_del" msgid="1866733601083210032">"smazat"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"rovná se"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 2fe8913..ad8b241 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Lommereg."</string>
-    <string name="error" msgid="9197457880925804499">"Fejl"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SLET"</string>
-    <string name="clear" msgid="8103610981407459768">"RYD"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Grundlæggende panel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Avanceret panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Ryd historik"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekst er kopieret."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"venstre parentes"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"højre parentes"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktoriel"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"naturlig logaritme"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kvadratrod"</string>
-    <string name="divDesc" msgid="7442623079124315427">"divider"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"gange"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"point"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"tænd/sluk"</string>
-    <string name="delDesc" msgid="8211175878012032240">"slet"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"ryd"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulers tal"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"lig med"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"venstre parentes"</item>
-    <item msgid="1688156211934459752">"højre parentes"</item>
-    <item msgid="6664829080840305856">"faktoriel"</item>
-    <item msgid="2880199289575144121">"naturlig logaritme"</item>
-    <item msgid="4398774906998694599">"logaritme"</item>
-    <item msgid="1791869359785943266">"kvadratrod"</item>
-    <item msgid="6833720171974254459">"divideret med"</item>
-    <item msgid="2646574635189709515">"ganget med"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" point "</item>
-    <item msgid="4528629783180278651">"tænd/sluk"</item>
-    <item msgid="4050948027333760159">"tangent"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"lig med"</item>
-  </string-array>
+    <string name="app_name" msgid="8095131950334945205">"Lommeregner"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Ikke et tal"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Fejl"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"ryd"</string>
+    <string name="del" msgid="6700172918709138470">"slet"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulers tal"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punktum"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"venstre parentes"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"højre parentes"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"naturlig logaritme"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"divider"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fakultet"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"gange"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potens"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadratrod"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"ryd"</string>
+    <string name="desc_del" msgid="1866733601083210032">"slet"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"lig med"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 6579c77..9674745 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Rechner"</string>
-    <string name="error" msgid="9197457880925804499">"Fehler"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"Löschen"</string>
-    <string name="clear" msgid="8103610981407459768">"Löschen"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Grundfunktionen"</string>
-    <string name="advanced" msgid="7122495413742976492">"Erweiterte Funktionen"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Verlauf löschen"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Text kopiert"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"Klammer auf"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"Klammer zu"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"Fakultät"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"natürlicher Logarithmus"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"Logarithmus"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"Quadratwurzel"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dividieren"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplizieren"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"Punkt"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"Potenz"</string>
-    <string name="delDesc" msgid="8211175878012032240">"löschen"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"löschen"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"Tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"Sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"Kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulersche Zahl"</string>
-    <string name="piDesc" msgid="8838151606775021517">"Pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"ist gleich"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"Klammer auf"</item>
-    <item msgid="1688156211934459752">"Klammer zu"</item>
-    <item msgid="6664829080840305856">"Fakultät"</item>
-    <item msgid="2880199289575144121">"natürlicher Logarithmus"</item>
-    <item msgid="4398774906998694599">"Logarithmus"</item>
-    <item msgid="1791869359785943266">"Quadratwurzel"</item>
-    <item msgid="6833720171974254459">"dividiert durch"</item>
-    <item msgid="2646574635189709515">"multipliziert mit"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" Punkt "</item>
-    <item msgid="4528629783180278651">"Potenz"</item>
-    <item msgid="4050948027333760159">"Tangens"</item>
-    <item msgid="8716478860618683850">"Sinus"</item>
-    <item msgid="3203211483560707480">"Kosinus"</item>
-    <item msgid="8587490959348493065">"Pi"</item>
-    <item msgid="8134315487552198394">"ist gleich"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Keine Zahl"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Fehler"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulersche Zahl"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"Pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"Dezimalzeichen"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"Klammer auf"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"Klammer zu"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"Kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natürlicher Logarithmus"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"Logarithmus"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"Sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"Tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dividieren"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"Fakultät"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"Mal"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"Potenz"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"Quadratwurzel"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"löschen"</string>
+    <string name="desc_del" msgid="1866733601083210032">"löschen"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ist gleich"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index f8b2263..92b57e0 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Αριθμομηχ."</string>
-    <string name="error" msgid="9197457880925804499">"Σφάλμα"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DELETE"</string>
-    <string name="clear" msgid="8103610981407459768">"ΔΙΑΓΡ."</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Πίνακας βασικών πράξεων"</string>
-    <string name="advanced" msgid="7122495413742976492">"Πίνακας σύνθετων συναρτήσεων"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Εκκαθάριση ιστορικού"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Το κείμενο αντιγράφηκε."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"αριστερή παρένθεση"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"δεξιά παρένθεση"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"παραγοντικό"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"φυσικός λογάριθμος"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"λογάριθμος"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"τετραγωνική ρίζα"</string>
-    <string name="divDesc" msgid="7442623079124315427">"διαίρεση"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"πολλαπλασιασμός"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"συν"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"μείον"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"κόμμα"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"υψωμένο στη δύναμη"</string>
-    <string name="delDesc" msgid="8211175878012032240">"διαγραφή"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"διαγραφή"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"εφαπτομένη"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"ημίτονο"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"συνημίτονο"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Αριθμός Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"πι"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"ίσον"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"αριστερή παρένθεση"</item>
-    <item msgid="1688156211934459752">"δεξιά παρένθεση"</item>
-    <item msgid="6664829080840305856">"παραγοντικό"</item>
-    <item msgid="2880199289575144121">"φυσικός λογάριθμος"</item>
-    <item msgid="4398774906998694599">"λογάριθμος"</item>
-    <item msgid="1791869359785943266">"τετραγωνική ρίζα"</item>
-    <item msgid="6833720171974254459">"διαιρείται με"</item>
-    <item msgid="2646574635189709515">"πολλαπλασιάζεται επί"</item>
-    <item msgid="3487936384379753697">"συν"</item>
-    <item msgid="8608534484562258856">"μείον"</item>
-    <item msgid="3456824579675198186">" βαθμός "</item>
-    <item msgid="4528629783180278651">"υψωμένο στη δύναμη"</item>
-    <item msgid="4050948027333760159">"εφαπτομένη"</item>
-    <item msgid="8716478860618683850">"ημίτονο"</item>
-    <item msgid="3203211483560707480">"συνημίτονο"</item>
-    <item msgid="8587490959348493065">"πι"</item>
-    <item msgid="8134315487552198394">"ίσον"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Όχι αριθμό"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Σφάλμα"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Αριθμός Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"πι"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">" βαθμός "</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"αριστερή παρένθεση"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"δεξιά παρένθεση"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"συνημίτονο"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"φυσικός λογάριθμος"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"λογάριθμος"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ημίτονο"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"εφαπτομένη"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"συν"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"διαίρεση"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"παραγοντικό"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"φορές"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"υψωμένο στη δύναμη"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"τετραγωνική ρίζα"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"μείον"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"διαγραφή"</string>
+    <string name="desc_del" msgid="1866733601083210032">"διαγραφή"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ίσον"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index d944932..3dc4074 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculator"</string>
-    <string name="error" msgid="9197457880925804499">"Error"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DELETE"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Basic panel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Advanced panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Clear history"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Text copied."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"left parenthesis"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"right parenthesis"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"natural logarithm"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logarithm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"square root"</string>
-    <string name="divDesc" msgid="7442623079124315427">"divide"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiply"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"point"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"power"</string>
-    <string name="delDesc" msgid="8211175878012032240">"delete"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"clear"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sine"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosine"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Euler\'s number"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"equals"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"left parenthesis"</item>
-    <item msgid="1688156211934459752">"right parenthesis"</item>
-    <item msgid="6664829080840305856">"factorial"</item>
-    <item msgid="2880199289575144121">"natural logarithm"</item>
-    <item msgid="4398774906998694599">"logarithm"</item>
-    <item msgid="1791869359785943266">"square root"</item>
-    <item msgid="6833720171974254459">"divided by"</item>
-    <item msgid="2646574635189709515">"multiplied by"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" point "</item>
-    <item msgid="4528629783180278651">"power"</item>
-    <item msgid="4050948027333760159">"tangent"</item>
-    <item msgid="8716478860618683850">"sine"</item>
-    <item msgid="3203211483560707480">"cosine"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"equals"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Not a number"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Error"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler\'s number"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"point"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"left parenthesis"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"right parenthesis"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosine"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natural logarithm"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarithm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sine"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"divide"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"times"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"power"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"square root"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"clear"</string>
+    <string name="desc_del" msgid="1866733601083210032">"delete"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"equals"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..3dc4074
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Calculator"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Not a number"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Error"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler\'s number"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"point"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"left parenthesis"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"right parenthesis"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosine"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natural logarithm"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarithm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sine"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"divide"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"times"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"power"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"square root"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"clear"</string>
+    <string name="desc_del" msgid="1866733601083210032">"delete"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"equals"</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 979e8b6..fd87ca3 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculadora"</string>
-    <string name="error" msgid="9197457880925804499">"Error"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ELIMINAR"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sen"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Panel básico"</string>
-    <string name="advanced" msgid="7122495413742976492">"Panel avanzado"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Eliminar historial"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Se ha copiado el texto."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"paréntesis de apertura"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"paréntesis de cierre"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritmo natural"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmo"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"raíz cuadrada"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dividir"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplicar"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"más"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"menos"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punto"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potencia"</string>
-    <string name="delDesc" msgid="8211175878012032240">"eliminar"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"borrar"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangente"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"seno"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"coseno"</string>
-    <string name="eDesc" msgid="6709583372168924068">"número de Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"igual a"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"paréntesis de apertura"</item>
-    <item msgid="1688156211934459752">"paréntesis de cierre"</item>
-    <item msgid="6664829080840305856">"factorial"</item>
-    <item msgid="2880199289575144121">"logaritmo natural"</item>
-    <item msgid="4398774906998694599">"logaritmo"</item>
-    <item msgid="1791869359785943266">"raíz cuadrada"</item>
-    <item msgid="6833720171974254459">"dividido por"</item>
-    <item msgid="2646574635189709515">"multiplicado por"</item>
-    <item msgid="3487936384379753697">"más"</item>
-    <item msgid="8608534484562258856">"menos"</item>
-    <item msgid="3456824579675198186">" Punto "</item>
-    <item msgid="4528629783180278651">"potencia"</item>
-    <item msgid="4050948027333760159">"tangente"</item>
-    <item msgid="8716478860618683850">"seno"</item>
-    <item msgid="3203211483560707480">"coseno"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"igual a"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"No es número."</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Error"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sen"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"be"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"número de Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punto"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"paréntesis de apertura"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"paréntesis de cierre"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"coseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"más"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"división"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"multiplicación"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potencia"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"raíz cuadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menos"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"borrar"</string>
+    <string name="desc_del" msgid="1866733601083210032">"eliminar"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"igual a"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 8234d8d..73d3e08 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculadora"</string>
-    <string name="error" msgid="9197457880925804499">"Error"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"BORRAR"</string>
-    <string name="clear" msgid="8103610981407459768">"BORRAR"</string>
-    <string name="sin" msgid="6793866152659175277">"sen"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Funciones básicas"</string>
-    <string name="advanced" msgid="7122495413742976492">"Funciones avanzadas"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Borrar historial"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Texto copiado"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"paréntesis de apertura"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"paréntesis de cierre"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritmo natural"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmo"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"raíz cuadrada"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dividir"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplicar"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"más"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"menos"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punto"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potencia"</string>
-    <string name="delDesc" msgid="8211175878012032240">"eliminar"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"borrar"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangente"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"seno"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"coseno"</string>
-    <string name="eDesc" msgid="6709583372168924068">"número de Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"igual a"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"paréntesis de apertura"</item>
-    <item msgid="1688156211934459752">"paréntesis de cierre"</item>
-    <item msgid="6664829080840305856">"factorial"</item>
-    <item msgid="2880199289575144121">"logaritmo natural"</item>
-    <item msgid="4398774906998694599">"logaritmo"</item>
-    <item msgid="1791869359785943266">"raíz cuadrada"</item>
-    <item msgid="6833720171974254459">"dividido por"</item>
-    <item msgid="2646574635189709515">"multiplicado por"</item>
-    <item msgid="3487936384379753697">"más"</item>
-    <item msgid="8608534484562258856">"menos"</item>
-    <item msgid="3456824579675198186">" punto "</item>
-    <item msgid="4528629783180278651">"potencia"</item>
-    <item msgid="4050948027333760159">"tangente"</item>
-    <item msgid="8716478860618683850">"seno"</item>
-    <item msgid="3203211483560707480">"coseno"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"igual a"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"No es número"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Error"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sen"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"C"</string>
+    <string name="del" msgid="6700172918709138470">"CE"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"número de Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punto"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"paréntesis de apertura"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"paréntesis de cierre"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"coseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"más"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dividir"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"veces"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potencia"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"raíz cuadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menos"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"borrar"</string>
+    <string name="desc_del" msgid="1866733601083210032">"eliminar"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"igual a"</string>
 </resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
new file mode 100644
index 0000000..049a1f3
--- /dev/null
+++ b/res/values-et-rEE/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulaator"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Pole number"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Viga"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"tüh"</string>
+    <string name="del" msgid="6700172918709138470">"kus"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euleri arv"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pii"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punkt"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"vasaksulg"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"paremsulg"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"koosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"naturaallogaritm"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"siinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"pluss"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"jaga"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriaal"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"korruta"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"aste"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ruutjuur"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"miinus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"tühjenda"</string>
+    <string name="desc_del" msgid="1866733601083210032">"kustuta"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"võrdub"</string>
+</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
deleted file mode 100644
index 769cc9a..0000000
--- a/res/values-et/strings.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?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="app_name" msgid="8095131950334945205">"Kalkulaator"</string>
-    <string name="error" msgid="9197457880925804499">"Viga"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"KUSTUTA"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Põhipaneel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Täpsem paneel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Kustuta ajalugu"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekst on kopeeritud."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"Vasaksulg"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"Paremsulg"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"Faktoriaal"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"Naturaallogaritm"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"Logaritm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"Ruutjuur"</string>
-    <string name="divDesc" msgid="7442623079124315427">"Jaga"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"Korruta"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"Pluss"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"Miinus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"Koma"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"Aste"</string>
-    <string name="delDesc" msgid="8211175878012032240">"Kustuta"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"Tühjenda"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"Tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"Siinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"Koosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Euleri arv"</string>
-    <string name="piDesc" msgid="8838151606775021517">"Pii"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"Võrdub"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"Vasaksulg"</item>
-    <item msgid="1688156211934459752">"Paremsulg"</item>
-    <item msgid="6664829080840305856">"Faktoriaal"</item>
-    <item msgid="2880199289575144121">"Naturaallogaritm"</item>
-    <item msgid="4398774906998694599">"Logaritm"</item>
-    <item msgid="1791869359785943266">"Ruutjuur"</item>
-    <item msgid="6833720171974254459">"Jagaja"</item>
-    <item msgid="2646574635189709515">"Korrutaja"</item>
-    <item msgid="3487936384379753697">"Pluss"</item>
-    <item msgid="8608534484562258856">"Miinus"</item>
-    <item msgid="3456824579675198186">" koma "</item>
-    <item msgid="4528629783180278651">"Aste"</item>
-    <item msgid="4050948027333760159">"Tangens"</item>
-    <item msgid="8716478860618683850">"Siinus"</item>
-    <item msgid="3203211483560707480">"Koosinus"</item>
-    <item msgid="8587490959348493065">"Pii"</item>
-    <item msgid="8134315487552198394">"Võrdub"</item>
-  </string-array>
-</resources>
diff --git a/res/values-eu-rES/strings.xml b/res/values-eu-rES/strings.xml
new file mode 100644
index 0000000..5d8ef4c
--- /dev/null
+++ b/res/values-eu-rES/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulagailua"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Ez da zenbaki bat"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Errorea"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"garb."</string>
+    <string name="del" msgid="6700172918709138470">"ezab."</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerren zenbakia"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi zenbakia"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"puntua"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ezkerreko parentesia"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"eskuineko parentesia"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinua"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo nepertarra"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmoa"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinua"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangentea"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"gehi"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"zatitu"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriala"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"aldiak"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"berreketa"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"erro karratua"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"garbitu"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ezabatu"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"berdin ikurra"</string>
+</resources>
diff --git a/res/values-eu-rPV/strings.xml b/res/values-eu-rPV/strings.xml
new file mode 100644
index 0000000..5d8ef4c
--- /dev/null
+++ b/res/values-eu-rPV/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulagailua"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Ez da zenbaki bat"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Errorea"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"garb."</string>
+    <string name="del" msgid="6700172918709138470">"ezab."</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerren zenbakia"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi zenbakia"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"puntua"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ezkerreko parentesia"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"eskuineko parentesia"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinua"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo nepertarra"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmoa"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinua"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangentea"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"gehi"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"zatitu"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriala"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"aldiak"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"berreketa"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"erro karratua"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"garbitu"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ezabatu"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"berdin ikurra"</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 51fc294..9ecafc6 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"ماشین حساب"</string>
-    <string name="error" msgid="9197457880925804499">"خطا"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"حذف"</string>
-    <string name="clear" msgid="8103610981407459768">"پاک"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"پانل اصلی"</string>
-    <string name="advanced" msgid="7122495413742976492">"پانل پیشرفته"</string>
-    <string name="clear_history" msgid="8458043980601165012">"پاک کردن سابقه"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"نوشتار کپی شد."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"پرانتز چپ"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"پرانتز راست"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"فاکتوریل"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"لگاریتم طبیعی"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"لگاریتم"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"ریشه دوم"</string>
-    <string name="divDesc" msgid="7442623079124315427">"تقسیم"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"ضرب"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"جمع"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"منها"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"نقطه"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"توان"</string>
-    <string name="delDesc" msgid="8211175878012032240">"حذف"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"پاک کردن"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"تانژانت"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"سینوس"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"کسینوس"</string>
-    <string name="eDesc" msgid="6709583372168924068">"عدد اولر"</string>
-    <string name="piDesc" msgid="8838151606775021517">"پی"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"مساوی"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"پرانتز چپ"</item>
-    <item msgid="1688156211934459752">"پرانتز راست"</item>
-    <item msgid="6664829080840305856">"فاکتوریل"</item>
-    <item msgid="2880199289575144121">"لگاریتم طبیعی"</item>
-    <item msgid="4398774906998694599">"لگاریتم"</item>
-    <item msgid="1791869359785943266">"ریشه دوم"</item>
-    <item msgid="6833720171974254459">"تقسیم بر"</item>
-    <item msgid="2646574635189709515">"ضرب در"</item>
-    <item msgid="3487936384379753697">"جمع"</item>
-    <item msgid="8608534484562258856">"منها"</item>
-    <item msgid="3456824579675198186">" امتیاز "</item>
-    <item msgid="4528629783180278651">"توان"</item>
-    <item msgid="4050948027333760159">"تانژانت"</item>
-    <item msgid="8716478860618683850">"سینوس"</item>
-    <item msgid="3203211483560707480">"کسینوس"</item>
-    <item msgid="8587490959348493065">"پی"</item>
-    <item msgid="8134315487552198394">"مساوی است با"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"نامشخص"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"خطا"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"۰"</string>
+    <string name="digit_1" msgid="9009337429640544205">"۱"</string>
+    <string name="digit_2" msgid="7722707864768133877">"۲"</string>
+    <string name="digit_3" msgid="5813321444694024561">"۳"</string>
+    <string name="digit_4" msgid="4768173444612236144">"۴"</string>
+    <string name="digit_5" msgid="2015349411036328271">"۵"</string>
+    <string name="digit_6" msgid="7350999202882497047">"۶"</string>
+    <string name="digit_7" msgid="2386463125354638611">"۷"</string>
+    <string name="digit_8" msgid="6298159258090202166">"۸"</string>
+    <string name="digit_9" msgid="1221342734731110246">"۹"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"پاک"</string>
+    <string name="del" msgid="6700172918709138470">"حذف"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"عدد اولر"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"پی"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ممیز"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"پرانتز چپ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"پرانتز راست"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"کسینوس"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"لگاریتم طبیعی"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"لگاریتم"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"سینوس"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"تانژانت"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"به‌اضافه"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"تقسیم"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"فاکتوریل"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ضرب"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"توان"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ریشه دوم"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"منها"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"پاک کردن"</string>
+    <string name="desc_del" msgid="1866733601083210032">"حذف"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"مساوی"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 801280c..0a040fb 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Laskin"</string>
-    <string name="error" msgid="9197457880925804499">"Virhe"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"POISTA"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Perustoiminnot"</string>
-    <string name="advanced" msgid="7122495413742976492">"Lisätoiminnot"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Tyhjennä historia"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Teksti kopioitu."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"vasen sulkumerkki"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"oikea sulkumerkki"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"kertoma"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"luonnollinen logaritmi"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmi"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"neliöjuuri"</string>
-    <string name="divDesc" msgid="7442623079124315427">"jakaa"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"kertoa"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"miinus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"piste"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potenssi"</string>
-    <string name="delDesc" msgid="8211175878012032240">"poista"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"tyhjennä"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangentti"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sini"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosini"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulerin luku"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pii"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"on yhtä kuin"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"vasen sulkumerkki"</item>
-    <item msgid="1688156211934459752">"oikea sulkumerkki"</item>
-    <item msgid="6664829080840305856">"kertoma"</item>
-    <item msgid="2880199289575144121">"luonnollinen logaritmi"</item>
-    <item msgid="4398774906998694599">"logaritmi"</item>
-    <item msgid="1791869359785943266">"neliöjuuri"</item>
-    <item msgid="6833720171974254459">"jaettuna"</item>
-    <item msgid="2646574635189709515">"kertaa"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"miinus"</item>
-    <item msgid="3456824579675198186">" piste "</item>
-    <item msgid="4528629783180278651">"potenssi"</item>
-    <item msgid="4050948027333760159">"tangentti"</item>
-    <item msgid="8716478860618683850">"sini"</item>
-    <item msgid="3203211483560707480">"kosini"</item>
-    <item msgid="8587490959348493065">"pii"</item>
-    <item msgid="8134315487552198394">"on yhtä kuin"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Ei ole numero"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Virhe"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"thj"</string>
+    <string name="del" msgid="6700172918709138470">"pst"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerin luku"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pii"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">" piste "</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"vasen sulkumerkki"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"oikea sulkumerkki"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosini"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"luonnollinen logaritmi"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmi"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sini"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangentti"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"jakaa"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"kertoma"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"kertaa"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potenssi"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"neliöjuuri"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"miinus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"tyhjennä"</string>
+    <string name="desc_del" msgid="1866733601083210032">"poista"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"on yhtä kuin"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..d5d7558
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Calculatrice"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Pas un nombre"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Erreur"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"eff"</string>
+    <string name="del" msgid="6700172918709138470">"eff"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"nombre d\'Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"point"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"parenthèse gauche"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"parenthèse droite"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logarithme naturel"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarithme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"diviser"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factoriel"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"fois"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"puissance"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"racine carrée"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"moins"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"effacer"</string>
+    <string name="desc_del" msgid="1866733601083210032">"Supprimer"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"égal"</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7fb29c8..96b04ee 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculatrice"</string>
-    <string name="error" msgid="9197457880925804499">"Erreur"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SUPPRIMER"</string>
-    <string name="clear" msgid="8103610981407459768">"EFF."</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"E"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Panneau de base"</string>
-    <string name="advanced" msgid="7122495413742976492">"Fonctions avancées"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Effacer l\'historique"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Texte copié."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"parenthèse gauche"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"parenthèse droite"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factoriel"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logarithme naturel"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logarithme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"racine carrée"</string>
-    <string name="divDesc" msgid="7442623079124315427">"diviser"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplier"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"moins"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"point"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"puissance"</string>
-    <string name="delDesc" msgid="8211175878012032240">"supprimer"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"effacer"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangeante"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"nombre d\'Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"égale"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"parenthèse gauche"</item>
-    <item msgid="1688156211934459752">"parenthèse droite"</item>
-    <item msgid="6664829080840305856">"factoriel"</item>
-    <item msgid="2880199289575144121">"logarithme naturel"</item>
-    <item msgid="4398774906998694599">"logarithme"</item>
-    <item msgid="1791869359785943266">"racine carrée"</item>
-    <item msgid="6833720171974254459">"divisé par"</item>
-    <item msgid="2646574635189709515">"multiplié par"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"moins"</item>
-    <item msgid="3456824579675198186">" point "</item>
-    <item msgid="4528629783180278651">"puissance"</item>
-    <item msgid="4050948027333760159">"tangeante"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"égale"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Pas un nombre."</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Erreur"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"eff"</string>
+    <string name="del" msgid="6700172918709138470">"sup"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"nombre d\'Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"virgule"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"parenthèse gauche"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"parenthèse droite"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logarithme naturel"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarithme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"diviser"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factoriel"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"fois"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"puissance"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"racine carrée"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"moins"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"effacer"</string>
+    <string name="desc_del" msgid="1866733601083210032">"supprimer"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"égal"</string>
 </resources>
diff --git a/res/values-gl-rES/strings.xml b/res/values-gl-rES/strings.xml
new file mode 100644
index 0000000..aa27c0a
--- /dev/null
+++ b/res/values-gl-rES/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Calculadora"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Non é número"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Erro"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sen"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"bor"</string>
+    <string name="del" msgid="6700172918709138470">"eli"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Número de Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punto"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"paréntese esquerda"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"paréntese dereita"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"coseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tanxente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"máis"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dividido entre"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"multiplicado por"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"elevado a"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"raíz cadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menos"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"borrar"</string>
+    <string name="desc_del" msgid="1866733601083210032">"eliminar"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"igual"</string>
+</resources>
diff --git a/res/values-gl-rGA/strings.xml b/res/values-gl-rGA/strings.xml
new file mode 100644
index 0000000..aa27c0a
--- /dev/null
+++ b/res/values-gl-rGA/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Calculadora"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Non é número"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Erro"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sen"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"bor"</string>
+    <string name="del" msgid="6700172918709138470">"eli"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Número de Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punto"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"paréntese esquerda"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"paréntese dereita"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"coseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tanxente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"máis"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dividido entre"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"multiplicado por"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"elevado a"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"raíz cadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menos"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"borrar"</string>
+    <string name="desc_del" msgid="1866733601083210032">"eliminar"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"igual"</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 6fe585e..89f2733 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"कैल्क्युलेटर"</string>
-    <string name="error" msgid="9197457880925804499">"त्रुटि"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DELETE"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"मूल पैनल"</string>
-    <string name="advanced" msgid="7122495413742976492">"उन्नत पैनल"</string>
-    <string name="clear_history" msgid="8458043980601165012">"इतिहास साफ़ करें"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"पाठ की प्रतिलिपि बनाई गई."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"बायां कोष्ठक"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"दायां कोष्ठक"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"क्रमगुणित"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"प्राकृतिक लघुगणक"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"लघुगणक"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"वर्गमूल"</string>
-    <string name="divDesc" msgid="7442623079124315427">"विभाजन"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"गुणा"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"योग"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"ऋण"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"बिंदु"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"घात"</string>
-    <string name="delDesc" msgid="8211175878012032240">"हटाएं"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"साफ़ करें"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"स्पर्शज्या"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"ज्या"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"कोज्या"</string>
-    <string name="eDesc" msgid="6709583372168924068">"यूलर संख्या"</string>
-    <string name="piDesc" msgid="8838151606775021517">"पाई"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"बराबर है"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"बायां कोष्ठक"</item>
-    <item msgid="1688156211934459752">"दायां कोष्ठक"</item>
-    <item msgid="6664829080840305856">"क्रमगुणित"</item>
-    <item msgid="2880199289575144121">"प्राकृतिक लघुगणक"</item>
-    <item msgid="4398774906998694599">"लघुगणक"</item>
-    <item msgid="1791869359785943266">"वर्गमूल"</item>
-    <item msgid="6833720171974254459">"इसके द्वारा विभाजित"</item>
-    <item msgid="2646574635189709515">"इससे गुणित"</item>
-    <item msgid="3487936384379753697">"योग"</item>
-    <item msgid="8608534484562258856">"ऋण"</item>
-    <item msgid="3456824579675198186">" अंक "</item>
-    <item msgid="4528629783180278651">"घात"</item>
-    <item msgid="4050948027333760159">"स्पर्शज्या"</item>
-    <item msgid="8716478860618683850">"ज्या"</item>
-    <item msgid="3203211483560707480">"कोज्या"</item>
-    <item msgid="8587490959348493065">"पाई"</item>
-    <item msgid="8134315487552198394">"बराबर है"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"संख्या नहीं है"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"त्रुटि"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"यूलर की संख्या"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"पाई"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"दशमलव"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"बायां कोष्ठक"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"दायां कोष्ठक"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"कोज्या"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"प्राकृतिक लघुगणक"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"लघुगणक"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sine"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"स्पर्शज्या"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"जोड़ का चिह्न"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"विभाजन"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"क्रमगुणन"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"गुणा"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"पावर"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"वर्गमूल"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ऋण"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"साफ़ करें"</string>
+    <string name="desc_del" msgid="1866733601083210032">"हटाएं"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"बराबर"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index a1f4f31..710ca59 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkulator"</string>
-    <string name="error" msgid="9197457880925804499">"Pogreška"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"IZBRIŠI"</string>
-    <string name="clear" msgid="8103610981407459768">"Briši"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Ploča Osnovno"</string>
-    <string name="advanced" msgid="7122495413742976492">"Ploča Napredno"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Izbriši povijest"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekst kopiran."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"lijeva zagrada"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"desna zagrada"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktorijel"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"prirodni logaritam"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritam"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"drugi korijen"</string>
-    <string name="divDesc" msgid="7442623079124315427">"podijeli"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"pomnoži"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"točka"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"snaga"</string>
-    <string name="delDesc" msgid="8211175878012032240">"izbriši"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"obriši"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangenta"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulerov broj"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"jednako"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"lijeva zagrada"</item>
-    <item msgid="1688156211934459752">"desna zagrada"</item>
-    <item msgid="6664829080840305856">"faktorijel"</item>
-    <item msgid="2880199289575144121">"prirodni logaritam"</item>
-    <item msgid="4398774906998694599">"logaritam"</item>
-    <item msgid="1791869359785943266">"drugi korijen"</item>
-    <item msgid="6833720171974254459">"podijeljeno s"</item>
-    <item msgid="2646574635189709515">"pomnoženo s"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" bod "</item>
-    <item msgid="4528629783180278651">"snaga"</item>
-    <item msgid="4050948027333760159">"tangenta"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"kosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"jednako"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Nije broj"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Pogreška"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerov broj"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"decimalni zarez"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"lijeva zagrada"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"desna zagrada"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"prirodni logaritam"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritam"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangenta"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dijeljeno"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktorijel"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"puta"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potencija"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"drugi korijen"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"obriši"</string>
+    <string name="desc_del" msgid="1866733601083210032">"izbriši"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"jednako"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 5b36a3b..bebbd89 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Számológép"</string>
-    <string name="error" msgid="9197457880925804499">"Hiba"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"TÖRLÉS"</string>
-    <string name="clear" msgid="8103610981407459768">"Törlés"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Alappanel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Speciális panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Előzmények törlése"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Szöveg átmásolva."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"nyitó zárójel"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"berekesztő zárójel"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktoriális"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"természetes logaritmus"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmus"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"négyzetgyök"</string>
-    <string name="divDesc" msgid="7442623079124315427">"osztás"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"szorzás"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plusz"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"mínusz"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"tizedesvessző"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"hatvány"</string>
-    <string name="delDesc" msgid="8211175878012032240">"törlés"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"törlés"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"szinusz"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"koszinusz"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Euler-féle szám"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"egyenlő"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"nyitó zárójel"</item>
-    <item msgid="1688156211934459752">"berekesztő zárójel"</item>
-    <item msgid="6664829080840305856">"faktoriális"</item>
-    <item msgid="2880199289575144121">"természetes logaritmus"</item>
-    <item msgid="4398774906998694599">"logaritmus"</item>
-    <item msgid="1791869359785943266">"négyzetgyök"</item>
-    <item msgid="6833720171974254459">"osztva"</item>
-    <item msgid="2646574635189709515">"szorozva"</item>
-    <item msgid="3487936384379753697">"plusz"</item>
-    <item msgid="8608534484562258856">"mínusz"</item>
-    <item msgid="3456824579675198186">" pont "</item>
-    <item msgid="4528629783180278651">"hatvány"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"szinusz"</item>
-    <item msgid="3203211483560707480">"koszinusz"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"egyenlő"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Nem egy szám"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Hiba"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler-féle szám"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"pont "</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"nyitó zárójel"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"berekesztő zárójel"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"koszinusz"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"természetes logaritmus"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmus"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"szinusz"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plusz"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"osztás"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriális"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"szorzás"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"hatvány"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"négyzetgyök"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"mínusz"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"törlés"</string>
+    <string name="desc_del" msgid="1866733601083210032">"törlés"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"egyenlő"</string>
 </resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
new file mode 100644
index 0000000..855fa20
--- /dev/null
+++ b/res/values-hy-rAM/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Հաշվիչ"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Թիվ չէ"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Սխալ կա"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tg"</string>
+    <string name="clr" msgid="3126239559646368205">"մքր"</string>
+    <string name="del" msgid="6700172918709138470">"ջնջ"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Էյլերյան թիվ"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"պի"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"կետ"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ձախ փակագիծ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"աջ փակագիծ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"կոսինուս"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"բնական լոգարիթմ"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"լոգարիթմ"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"սինուս"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"տանգենս"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"գումարում"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"բաժանում"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ֆակտորիալ"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"անգամ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"աստիճան"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"քառակուսի արմատ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"հանում"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"մաքրել"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ջնջել"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"հավասար է"</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index a1a2376..d6b7cbb 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculator"</string>
-    <string name="error" msgid="9197457880925804499">"Kesalahan"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DELETE"</string>
-    <string name="clear" msgid="8103610981407459768">"HAPUS"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Panel dasar"</string>
-    <string name="advanced" msgid="7122495413742976492">"Panel lanjutan"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Hapus riwayat"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Teks disalin."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"kurung buka"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"kurung tutup"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritma alami"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"akar pangkat dua"</string>
-    <string name="divDesc" msgid="7442623079124315427">"bagi"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"kali"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"titik"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"pangkat"</string>
-    <string name="delDesc" msgid="8211175878012032240">"hapus"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"hapus"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangen"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"bilangan Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"sama dengan"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"kurung buka"</item>
-    <item msgid="1688156211934459752">"kurung tutup"</item>
-    <item msgid="6664829080840305856">"faktorial"</item>
-    <item msgid="2880199289575144121">"logaritma alami"</item>
-    <item msgid="4398774906998694599">"logaritme"</item>
-    <item msgid="1791869359785943266">"akar pangkat dua"</item>
-    <item msgid="6833720171974254459">"dibagi dengan"</item>
-    <item msgid="2646574635189709515">"dikalikan dengan"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" poin "</item>
-    <item msgid="4528629783180278651">"pangkat"</item>
-    <item msgid="4050948027333760159">"tangen"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"kosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"sama dengan"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Bukan angka"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Kesalahan"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"bilangan Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"koma"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"kurung buka"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"kurung tutup"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritma alami"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangen"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"tambah"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"bagi"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"kali"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"pangkat"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"akar pangkat dua"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"kurang"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"hapus"</string>
+    <string name="desc_del" msgid="1866733601083210032">"hapus"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"sama dengan"</string>
 </resources>
diff --git a/res/values-is-rIS/strings.xml b/res/values-is-rIS/strings.xml
new file mode 100644
index 0000000..50f03d8
--- /dev/null
+++ b/res/values-is-rIS/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Reiknivél"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Ekki tala"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Villa"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"kós"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sín"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"hre"</string>
+    <string name="del" msgid="6700172918709138470">"eyð"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Tala Eulers"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pí"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"komma"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"vinstri svigi"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"hægri svigi"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kósínus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"náttúrlegur logri"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logri"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sínus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plús"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"deila"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"hrópmerkt"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"sinnum"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"veldi"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvaðratrót"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"mínus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"hreinsa"</string>
+    <string name="desc_del" msgid="1866733601083210032">"eyða"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"samasem"</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 9278123..5811d78 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calcolatrice"</string>
-    <string name="error" msgid="9197457880925804499">"Errore"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ELIMINA"</string>
-    <string name="clear" msgid="8103610981407459768">"CANC"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"E"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Pannello base"</string>
-    <string name="advanced" msgid="7122495413742976492">"Pannello avanzato"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Cancella cronologia"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Testo copiato."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"parentesi aperta"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"parentesi chiusa"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"fattoriale"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritmo naturale"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmo"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"radice quadrata"</string>
-    <string name="divDesc" msgid="7442623079124315427">"divisione"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"moltiplicazione"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"più"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"meno"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punto"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potenza"</string>
-    <string name="delDesc" msgid="8211175878012032240">"elimina"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"azzera"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangente"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"seno"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"coseno"</string>
-    <string name="eDesc" msgid="6709583372168924068">"numero di Eulero"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"uguale a"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"parentesi aperta"</item>
-    <item msgid="1688156211934459752">"parentesi chiusa"</item>
-    <item msgid="6664829080840305856">"fattoriale"</item>
-    <item msgid="2880199289575144121">"logaritmo naturale"</item>
-    <item msgid="4398774906998694599">"logaritmo"</item>
-    <item msgid="1791869359785943266">"radice quadrata"</item>
-    <item msgid="6833720171974254459">"diviso per"</item>
-    <item msgid="2646574635189709515">"moltiplicato per"</item>
-    <item msgid="3487936384379753697">"più"</item>
-    <item msgid="8608534484562258856">"meno"</item>
-    <item msgid="3456824579675198186">" punto "</item>
-    <item msgid="4528629783180278651">"potenza"</item>
-    <item msgid="4050948027333760159">"tangente"</item>
-    <item msgid="8716478860618683850">"seno"</item>
-    <item msgid="3203211483560707480">"coseno"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"uguale a"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Non un numero"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Errore"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"c"</string>
+    <string name="del" msgid="6700172918709138470">"ce"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"numero di Eulero"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"virgola"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"parentesi aperta"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"parentesi chiusa"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"coseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo naturale"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"più"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"diviso"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fattoriale"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"per"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potenza"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"radice quadrata"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"meno"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"cancella tutto"</string>
+    <string name="desc_del" msgid="1866733601083210032">"cancella"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"uguale"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index e287002..17b05cf 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"מחשבון"</string>
-    <string name="error" msgid="9197457880925804499">"שגיאה"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"מחק"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"חלונית בסיסית"</string>
-    <string name="advanced" msgid="7122495413742976492">"מתקדם"</string>
-    <string name="clear_history" msgid="8458043980601165012">"נקה היסטוריה"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"טקסט הועתק."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"סוגר שמאלי"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"סוגר ימני"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"עצרת"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"לוגריתם טבעי"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"לוגריתם"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"שורש ריבועי"</string>
-    <string name="divDesc" msgid="7442623079124315427">"חילוק"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"כפל"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"פלוס"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"מינוס"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"נקודה"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"חזקה"</string>
-    <string name="delDesc" msgid="8211175878012032240">"מחק"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"נקה"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"טנגנס"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"סינוס"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"קוסינוס"</string>
-    <string name="eDesc" msgid="6709583372168924068">"המספר e"</string>
-    <string name="piDesc" msgid="8838151606775021517">"פאי"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"שווה"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"סוגר שמאלי"</item>
-    <item msgid="1688156211934459752">"סוגר ימני"</item>
-    <item msgid="6664829080840305856">"עצרת"</item>
-    <item msgid="2880199289575144121">"לוגריתם טבעי"</item>
-    <item msgid="4398774906998694599">"לוגריתם"</item>
-    <item msgid="1791869359785943266">"שורש ריבועי"</item>
-    <item msgid="6833720171974254459">"חלקי"</item>
-    <item msgid="2646574635189709515">"כפול"</item>
-    <item msgid="3487936384379753697">"פלוס"</item>
-    <item msgid="8608534484562258856">"מינוס"</item>
-    <item msgid="3456824579675198186">" נקודה "</item>
-    <item msgid="4528629783180278651">"בחזקת"</item>
-    <item msgid="4050948027333760159">"טנגנס"</item>
-    <item msgid="8716478860618683850">"סינוס"</item>
-    <item msgid="3203211483560707480">"קוסינוס"</item>
-    <item msgid="8587490959348493065">"פאי"</item>
-    <item msgid="8134315487552198394">"שווה"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"אינו מספר"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"שגיאה"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"מספרי אוילר"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"פאי"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"נקודה"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"סוגר שמאלי"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"סוגר ימני"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"קוסינוס"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"לוגריתם טבעי"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"לוגריתם"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"סינוס"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"טנגנס"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"פלוס"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"חילוק"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"עצרת"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"כפל"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"חזקה"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"שורש ריבועי"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"חיסור"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"נקה"</string>
+    <string name="desc_del" msgid="1866733601083210032">"מחק"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"שווה"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index b69735c..002a511 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"電卓"</string>
-    <string name="error" msgid="9197457880925804499">"エラー"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"削除"</string>
-    <string name="clear" msgid="8103610981407459768">"消去"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"標準機能"</string>
-    <string name="advanced" msgid="7122495413742976492">"関数機能"</string>
-    <string name="clear_history" msgid="8458043980601165012">"履歴消去"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"テキストをコピーしました。"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"左かっこ"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"右かっこ"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"階乗"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"自然対数"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"対数"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"平方根"</string>
-    <string name="divDesc" msgid="7442623079124315427">"除算"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"乗算"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"足す"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"引く"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"小数点"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"累乗"</string>
-    <string name="delDesc" msgid="8211175878012032240">"削除"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"クリア"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"タンジェント"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"サイン"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"コサイン"</string>
-    <string name="eDesc" msgid="6709583372168924068">"自然対数の底"</string>
-    <string name="piDesc" msgid="8838151606775021517">"パイ"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"イコール"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"左かっこ"</item>
-    <item msgid="1688156211934459752">"右かっこ"</item>
-    <item msgid="6664829080840305856">"階乗"</item>
-    <item msgid="2880199289575144121">"自然対数"</item>
-    <item msgid="4398774906998694599">"対数"</item>
-    <item msgid="1791869359785943266">"平方根"</item>
-    <item msgid="6833720171974254459">"割る"</item>
-    <item msgid="2646574635189709515">"掛ける"</item>
-    <item msgid="3487936384379753697">"足す"</item>
-    <item msgid="8608534484562258856">"引く"</item>
-    <item msgid="3456824579675198186">"ポイント"</item>
-    <item msgid="4528629783180278651">"累乗"</item>
-    <item msgid="4050948027333760159">"タンジェント"</item>
-    <item msgid="8716478860618683850">"サイン"</item>
-    <item msgid="3203211483560707480">"コサイン"</item>
-    <item msgid="8587490959348493065">"パイ"</item>
-    <item msgid="8134315487552198394">"イコール"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"数字以外の値"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"エラー"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"自然対数の底"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"パイ"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ポイント"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"左かっこ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"右かっこ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"コサイン"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"自然対数"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"対数"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"サイン"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"タンジェント"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"足す"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"割る"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"階乗"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"掛ける"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"累乗"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"平方根"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"引く"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"クリア"</string>
+    <string name="desc_del" msgid="1866733601083210032">"削除"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"イコール"</string>
 </resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
new file mode 100644
index 0000000..4f241b2
--- /dev/null
+++ b/res/values-ka-rGE/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"კალკულატორი"</string>
+    <string name="error_nan" msgid="4071578355972369426">"არ არის რიცხვი"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"შეცდომა"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ეილერის რიცხვი"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ათობითი გამყოფი"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"მარცხენა ფრჩხილი"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"მარჯვენა ფრჩხილი"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"კოსინუსი"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ნატურალური ლოგარითმი"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ლოგარითმი"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"სინუსი"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ტანგენსი"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"პლუსი"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"გაყოფა"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ფაქტორიალი"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"გამრავლება"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ხარისხში აყვანა"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"კვადრატული ფესვი"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"მინუსი"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"გასუფთავება"</string>
+    <string name="desc_del" msgid="1866733601083210032">"წაშლა"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ტოლია"</string>
+</resources>
diff --git a/res/values-kk-rKZ/strings.xml b/res/values-kk-rKZ/strings.xml
new file mode 100644
index 0000000..b0f9688
--- /dev/null
+++ b/res/values-kk-rKZ/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Калькулятор"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Сан емес"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Қате"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"кос"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"нл"</string>
+    <string name="fun_log" msgid="6856905045055937519">"лог"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"син"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"тан"</string>
+    <string name="clr" msgid="3126239559646368205">"тзл"</string>
+    <string name="del" msgid="6700172918709138470">"жою"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Эйлер саны"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"пи"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"нүкте"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"сол жақ жақша"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"оң жақ жақша"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"натуралды логарифм"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логарифм"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"қосу"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"бөлу"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факториал"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"көбейту"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"дәреже"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"шаршы түбір"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"алу"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"тазалау"</string>
+    <string name="desc_del" msgid="1866733601083210032">"delete"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"тең"</string>
+</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
new file mode 100644
index 0000000..2abef2f
--- /dev/null
+++ b/res/values-km-rKH/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ម៉ាស៊ីន​គិត​លេខ"</string>
+    <string name="error_nan" msgid="4071578355972369426">"មិនមែន​ជា​លេខ​"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"កំហុស"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"កូស៊ីនុស"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"លេខ Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ចំណុច"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"វង់ក្រចក​ឆ្វេង"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"វង់ក្រចកស្ដាំ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"កូស៊ីនុស"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ឡូការីត​នេរពែ"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ឡូការីត"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ស៊ីនុស"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"តង់សង់"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"បូក"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ចែក"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ផាក់តូរីយ៉ែល"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"គុណ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ស្វ័យគុណ"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ឫសការ៉េ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ដក"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"សម្អាត"</string>
+    <string name="desc_del" msgid="1866733601083210032">"លុប"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ស្មើ"</string>
+</resources>
diff --git a/res/values-kn-rIN/strings.xml b/res/values-kn-rIN/strings.xml
new file mode 100644
index 0000000..a2e3b5d
--- /dev/null
+++ b/res/values-kn-rIN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ಕ್ಯಾಲ್ಕುಲೇಟರ್"</string>
+    <string name="error_nan" msgid="4071578355972369426">"ಸಂಖ್ಯೆಯಲ್ಲ"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"ದೋಷ"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"ಕೊಸ್"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ಇನ್"</string>
+    <string name="fun_log" msgid="6856905045055937519">"ಲಾ."</string>
+    <string name="fun_sin" msgid="7136698561875496766">"ಸೈನ್"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"ಟ್ಯಾ"</string>
+    <string name="clr" msgid="3126239559646368205">"ತೆರ"</string>
+    <string name="del" msgid="6700172918709138470">"ಅಳಿ"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ಯೂಲರ್‌ನ ಸಂಖ್ಯೆ"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"ಪೈ"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ಬಿಂದು"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ಎಡ ಆವರಣದ ವಾಕ್ಯ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"ಬಲ ಆವರಣದ ವಾಕ್ಯ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"ಕೊಸೈನ್"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ಸ್ವಾಭಾವಿಕ ಲಾಗರಿದಮ್"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ಲಾಗರಿದಮ್"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ಸೈನ್"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ಸ್ಪರ್ಶರೇಖೆ"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"ಸಂಕಲನ"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ವಿಭಾಗಿಸು"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ಅಪವರ್ತನೀಯ"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ಬಾರಿ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ಪವರ್‌"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ವರ್ಗಮೂಲ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ವ್ಯವಕಲನ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"ತೆರವುಗೊಳಿಸು"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ಅಳಿಸು"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ಸಮ ಚಿಹ್ನೆ"</string>
+</resources>
diff --git a/res/values-kn-rKA/strings.xml b/res/values-kn-rKA/strings.xml
new file mode 100644
index 0000000..a2e3b5d
--- /dev/null
+++ b/res/values-kn-rKA/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ಕ್ಯಾಲ್ಕುಲೇಟರ್"</string>
+    <string name="error_nan" msgid="4071578355972369426">"ಸಂಖ್ಯೆಯಲ್ಲ"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"ದೋಷ"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"ಕೊಸ್"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ಇನ್"</string>
+    <string name="fun_log" msgid="6856905045055937519">"ಲಾ."</string>
+    <string name="fun_sin" msgid="7136698561875496766">"ಸೈನ್"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"ಟ್ಯಾ"</string>
+    <string name="clr" msgid="3126239559646368205">"ತೆರ"</string>
+    <string name="del" msgid="6700172918709138470">"ಅಳಿ"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ಯೂಲರ್‌ನ ಸಂಖ್ಯೆ"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"ಪೈ"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ಬಿಂದು"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ಎಡ ಆವರಣದ ವಾಕ್ಯ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"ಬಲ ಆವರಣದ ವಾಕ್ಯ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"ಕೊಸೈನ್"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ಸ್ವಾಭಾವಿಕ ಲಾಗರಿದಮ್"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ಲಾಗರಿದಮ್"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ಸೈನ್"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ಸ್ಪರ್ಶರೇಖೆ"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"ಸಂಕಲನ"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ವಿಭಾಗಿಸು"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ಅಪವರ್ತನೀಯ"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ಬಾರಿ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ಪವರ್‌"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ವರ್ಗಮೂಲ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ವ್ಯವಕಲನ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"ತೆರವುಗೊಳಿಸು"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ಅಳಿಸು"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ಸಮ ಚಿಹ್ನೆ"</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index a817855..68fb663 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"계산기"</string>
-    <string name="error" msgid="9197457880925804499">"오류"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DEL"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"기본 패널"</string>
-    <string name="advanced" msgid="7122495413742976492">"고급 패널"</string>
-    <string name="clear_history" msgid="8458043980601165012">"기록 지우기"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"텍스트를 복사했습니다."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"왼쪽 괄호"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"오른쪽 괄호"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"계승"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"자연 대수"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"대수"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"제곱근"</string>
-    <string name="divDesc" msgid="7442623079124315427">"나누다"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"곱하다"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"더하기"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"빼기"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"점"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"거듭제곱"</string>
-    <string name="delDesc" msgid="8211175878012032240">"삭제"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"지우기"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"탄젠트(Tangent)"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"사인(sine)"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"코사인(cosine)"</string>
-    <string name="eDesc" msgid="6709583372168924068">"오일러의 수(Euler\'s number)"</string>
-    <string name="piDesc" msgid="8838151606775021517">"파이"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"같음"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"왼쪽 괄호"</item>
-    <item msgid="1688156211934459752">"오른쪽 괄호"</item>
-    <item msgid="6664829080840305856">"계승"</item>
-    <item msgid="2880199289575144121">"자연 대수"</item>
-    <item msgid="4398774906998694599">"대수"</item>
-    <item msgid="1791869359785943266">"제곱근"</item>
-    <item msgid="6833720171974254459">"나누기"</item>
-    <item msgid="2646574635189709515">"곱하기"</item>
-    <item msgid="3487936384379753697">"더하기"</item>
-    <item msgid="8608534484562258856">"빼기"</item>
-    <item msgid="3456824579675198186">" 점 "</item>
-    <item msgid="4528629783180278651">"거듭제곱"</item>
-    <item msgid="4050948027333760159">"탄젠트(Tangent)"</item>
-    <item msgid="8716478860618683850">"사인(sine)"</item>
-    <item msgid="3203211483560707480">"코사인(cosine)"</item>
-    <item msgid="8587490959348493065">"파이"</item>
-    <item msgid="8134315487552198394">"같음"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"숫자 아님"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"오류"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"오일러의 수"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"원주율(파이)"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"소수점"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"왼쪽 괄호"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"오른쪽 괄호"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"코사인(cosine)"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"자연로그"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"로그"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"사인(sine)"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"탄젠트(tangent)"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"더하기"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"나누기"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"팩토리얼"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"곱하기"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"거듭제곱"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"제곱근"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"빼기"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"지우기"</string>
+    <string name="desc_del" msgid="1866733601083210032">"삭제"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"등호"</string>
 </resources>
diff --git a/res/values-ky-rKG/strings.xml b/res/values-ky-rKG/strings.xml
new file mode 100644
index 0000000..30962eb
--- /dev/null
+++ b/res/values-ky-rKG/strings.xml
@@ -0,0 +1,62 @@
+<?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">
+    <!-- no translation found for app_name (8095131950334945205) -->
+    <skip />
+    <string name="error_nan" msgid="4071578355972369426">"Сан эмес"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Ката"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"тзл"</string>
+    <string name="del" msgid="6700172918709138470">"өчр"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Эйлер саны"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"Пи"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"чекит"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"сол кашаа"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"оң кашаа"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"натуралдык логарифм"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логарифм"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"кошуу"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"бөлүү"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факториал"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"көбөйтүү"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"даража"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"квадраттык тамыр"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"кемитүү"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"тазалоо"</string>
+    <string name="desc_del" msgid="1866733601083210032">"жок кылуу"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"барабар"</string>
+</resources>
diff --git a/res/values-land/arrays.xml b/res/values-land/arrays.xml
deleted file mode 100644
index 8c518d1..0000000
--- a/res/values-land/arrays.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <array name="simple_buttons">
-        <item>@+id/digit0</item>
-        <item>@+id/digit1</item>
-        <item>@+id/digit2</item>
-        <item>@+id/digit3</item>
-        <item>@+id/digit4</item>
-        <item>@+id/digit5</item>
-        <item>@+id/digit6</item>
-        <item>@+id/digit7</item>
-        <item>@+id/digit8</item>
-        <item>@+id/digit9</item>
-        <item>@+id/dot</item>
-        <item>@+id/plus</item>
-        <item>@+id/minus</item>
-        <item>@+id/div</item>
-        <item>@+id/mul</item>
-        <item>@+id/equal</item>
-        <item>@+id/leftParen</item>
-        <item>@+id/rightParen</item>
-    </array>
-
-    <array name="advanced_buttons">
-        <item>@+id/sin</item>
-        <item>@+id/cos</item>
-        <item>@+id/tan</item>
-        <item>@+id/ln</item>
-        <item>@+id/lg</item>
-        <item>@+id/e</item>
-        <item>@+id/pi</item>
-        <item>@+id/power</item>
-        <item>@+id/factorial</item>
-        <item>@+id/sqrt</item>
-    </array>
-
-</resources>
\ No newline at end of file
diff --git a/res/values-land/layout.xml b/res/values-land/layout.xml
new file mode 100644
index 0000000..8bc268c
--- /dev/null
+++ b/res/values-land/layout.xml
@@ -0,0 +1,20 @@
+<?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>
+    <item name="activity_calculator" type="layout">@layout/activity_calculator_land</item>
+</resources>
\ No newline at end of file
diff --git a/res/values-land/styles.xml b/res/values-land/styles.xml
new file mode 100644
index 0000000..f0c08bb
--- /dev/null
+++ b/res/values-land/styles.xml
@@ -0,0 +1,97 @@
+<?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.
+  -->
+
+<!-- Styles for landscape phone (e.g. Nexus 4/5). -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="DisplayEditTextStyle.Formula">
+        <item name="android:paddingTop">24dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+        <item name="android:textSize">30sp</item>
+    </style>
+
+    <style name="DisplayEditTextStyle.Result">
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">24dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+        <item name="android:textSize">30sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Advanced">
+        <item name="android:layout_marginTop">4dip</item>
+        <item name="android:layout_marginBottom">4dip</item>
+        <item name="android:layout_marginStart">8dip</item>
+        <item name="android:layout_marginEnd">8dip</item>
+        <item name="android:textColor">@color/pad_button_advanced_text_color</item>
+        <item name="android:textSize">15sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric">
+        <item name="android:layout_margin">4dip</item>
+        <item name="android:textSize">23sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric.Equals">
+        <item name="android:visibility">gone</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator">
+        <item name="android:layout_marginTop">4dip</item>
+        <item name="android:layout_marginBottom">4dip</item>
+        <item name="android:layout_marginStart">8dip</item>
+        <item name="android:layout_marginEnd">8dip</item>
+        <item name="android:textSize">20sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator.Text">
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textSize">15sp</item>
+    </style>
+
+    <style name="PadLayoutStyle.Advanced">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">208</item>
+        <item name="android:paddingTop">4dip</item>
+        <item name="android:paddingBottom">4dip</item>
+        <item name="android:paddingStart">8dip</item>
+        <item name="android:paddingEnd">8dip</item>
+        <item name="android:columnCount">3</item>
+        <item name="android:rowCount">4</item>
+    </style>
+
+    <style name="PadLayoutStyle.Numeric">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">240</item>
+        <item name="android:paddingTop">4dip</item>
+        <item name="android:paddingBottom">4dip</item>
+        <item name="android:paddingStart">8dip</item>
+        <item name="android:paddingEnd">8dip</item>
+    </style>
+
+    <style name="PadLayoutStyle.Operator">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">144</item>
+        <item name="android:paddingTop">4dip</item>
+        <item name="android:paddingBottom">4dip</item>
+        <item name="android:paddingStart">12dip</item>
+        <item name="android:paddingEnd">12dip</item>
+    </style>
+
+</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
new file mode 100644
index 0000000..6e65a5f
--- /dev/null
+++ b/res/values-lo-rLA/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ຈັກຄິດໄລ່"</string>
+    <string name="error_nan" msgid="4071578355972369426">"ບໍ່​ແມ່ນ​ໂຕ​ເລກ"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"ຜິດພາດ"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ຈຳ​ນວນ​ຄ່າ​ຄົງ​ທີ່"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"​ປີ່"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"​ຈ້ຳ​ເມັດ"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ວົງເລັບຊ້າຍ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"ວົງເລັບຂວາ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"ໂກຊິນ"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ໂລ​ກາ​ຣິ​ທຶມ​ທຳ​ມະ​ຊາດ"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"​ໂລ​ກາ​ຣິ​ທຶມ"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ຊິນ"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ຕັງ"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"ບວກ"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ຫານ"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ແຟັກໂຕຣຽວ"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ຄູນ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ຂຶ້ນກຳລັງ"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ຮາກ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ລົບ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"ລຶບ​ລ້າງ"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ລຶບ"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ເທົ່າກັບ"</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 8779402..4dc6165 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Skaičiuotuvas"</string>
-    <string name="error" msgid="9197457880925804499">"Klaida"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"IŠTRINTI"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Pagrindinis skydelis"</string>
-    <string name="advanced" msgid="7122495413742976492">"Išplėstinis skydelis"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Išvalyti istoriją"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekstas nukopijuotas."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"kairysis skliaustas"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"dešinysis skliaustas"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktorialas"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"natūralusis logaritmas"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmas"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kvadratinė šaknis"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dalyti"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"dauginti"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"pliusas"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minusas"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"taškas"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"laipsnis"</string>
-    <string name="delDesc" msgid="8211175878012032240">"ištrinti"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"išvalyti"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangentas"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinusas"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinusas"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulerio skaičius"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"atitinka"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"kairysis skliaustas"</item>
-    <item msgid="1688156211934459752">"dešinysis skliaustas"</item>
-    <item msgid="6664829080840305856">"faktorialas"</item>
-    <item msgid="2880199289575144121">"natūralusis logaritmas"</item>
-    <item msgid="4398774906998694599">"logaritmas"</item>
-    <item msgid="1791869359785943266">"kvadratinė šaknis"</item>
-    <item msgid="6833720171974254459">"padalyta iš"</item>
-    <item msgid="2646574635189709515">"padauginta iš"</item>
-    <item msgid="3487936384379753697">"pliusas"</item>
-    <item msgid="8608534484562258856">"minusas"</item>
-    <item msgid="3456824579675198186">" taškas "</item>
-    <item msgid="4528629783180278651">"laipsnis"</item>
-    <item msgid="4050948027333760159">"tangentas"</item>
-    <item msgid="8716478860618683850">"sinusas"</item>
-    <item msgid="3203211483560707480">"kosinusas"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"atitinka"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Ne skaičius"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Klaida"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"išv."</string>
+    <string name="del" msgid="6700172918709138470">"ištr."</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerio skaičius"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"kablelis"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"kairysis skliaustas"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"dešinysis skliaustas"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinusas"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natūralusis logaritmas"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmas"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinusas"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangentas"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"sudėties ženklas"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dalybos ženklas"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktorialas"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"daugybos ženklas"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"laipsnis"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadratinė šaknis"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"atimties ženklas"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"išvalyti"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ištrinti"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"lygybės ženklas"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 0c9af79..6763071 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkulators"</string>
-    <string name="error" msgid="9197457880925804499">"Kļūda"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DZĒST"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Pamata panelis"</string>
-    <string name="advanced" msgid="7122495413742976492">"Izvērsts panelis"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Notīrīt vēsturi"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Teksts ir nokopēts."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"kreisā iekava"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"labā iekava"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktoriāls"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"naturālais logaritms"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritms"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kvadrātsakne"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dalīt"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"reizināt"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"mīnus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"komats"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"pakāpe"</string>
-    <string name="delDesc" msgid="8211175878012032240">"dzēst"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"dzēst"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangenss"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinuss"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinuss"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eilera skaitlis"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pī"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"vienāds ar"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"kreisā iekava"</item>
-    <item msgid="1688156211934459752">"labā iekava"</item>
-    <item msgid="6664829080840305856">"faktoriāls"</item>
-    <item msgid="2880199289575144121">"naturālais logaritms"</item>
-    <item msgid="4398774906998694599">"logaritms"</item>
-    <item msgid="1791869359785943266">"kvadrātsakne"</item>
-    <item msgid="6833720171974254459">"dalīts ar"</item>
-    <item msgid="2646574635189709515">"reizināts ar"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"mīnus"</item>
-    <item msgid="3456824579675198186">" komats "</item>
-    <item msgid="4528629783180278651">"pakāpe"</item>
-    <item msgid="4050948027333760159">"tangenss"</item>
-    <item msgid="8716478860618683850">"sinuss"</item>
-    <item msgid="3203211483560707480">"kosinuss"</item>
-    <item msgid="8587490959348493065">"pī"</item>
-    <item msgid="8134315487552198394">"vienāds ar"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Nav skaitlis"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Kļūda"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"C"</string>
+    <string name="del" msgid="6700172918709138470">"C"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eilera skaitlis"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pī"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"komats"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"kreisā iekava"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"labā iekava"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinuss"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"naturālais logaritms"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritms"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinuss"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangenss"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dalīt"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriāls"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"reizināt"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"pakāpe"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadrātsakne"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"mīnus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"noņemt"</string>
+    <string name="desc_del" msgid="1866733601083210032">"dzēst"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"vienāds ar"</string>
 </resources>
diff --git a/res/values-mk-rMK/strings.xml b/res/values-mk-rMK/strings.xml
new file mode 100644
index 0000000..cff0f33
--- /dev/null
+++ b/res/values-mk-rMK/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Калкулатор"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Не е број"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Грешка"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"исч"</string>
+    <string name="del" msgid="6700172918709138470">"изб"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Ојлеров број"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"Пи"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"точка"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"лева заграда"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"десна заграда"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"природен логаритам"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логаритам"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангента"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"плус"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"подели"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факториел"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"по"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"на степен"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"квадратен корен"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"минус"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"исчисти"</string>
+    <string name="desc_del" msgid="1866733601083210032">"избриши"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"еднакво"</string>
+</resources>
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
new file mode 100644
index 0000000..cf07ff0
--- /dev/null
+++ b/res/values-ml-rIN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"കാൽക്കുലേറ്റർ"</string>
+    <string name="error_nan" msgid="4071578355972369426">"സംഖ്യയല്ല"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"പിശക്"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"ലോഗ്"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"സൈൻ"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"ടാൻ"</string>
+    <string name="clr" msgid="3126239559646368205">"മായ്‌ക്കുക"</string>
+    <string name="del" msgid="6700172918709138470">"ഇല്ലാതാക്കുക"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"യൂളറിന്റെ നമ്പർ"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"പൈ"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"പോയിന്റ്"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ഇടത് പരാന്തിസിസ്"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"വലത് പരാന്തിസിസ്"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"കസൈൻ"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"നാച്ചുറൽ ലോഗരിതം"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ലോഗരിതം"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"സൈൻ"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ടാൻജെന്റ്"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"പ്ലസ്"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ഭാഗിക്കുക"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ഫാക്‌ടോറിയൽ"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"തവണ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"പവർ"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ചതുര റൂട്ട്"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ന്യൂനചിഹ്നം"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"മായ്ക്കൂ"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ഇല്ലാതാക്കുക"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"സമം"</string>
+</resources>
diff --git a/res/values-ml-rKL/strings.xml b/res/values-ml-rKL/strings.xml
new file mode 100644
index 0000000..cf07ff0
--- /dev/null
+++ b/res/values-ml-rKL/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"കാൽക്കുലേറ്റർ"</string>
+    <string name="error_nan" msgid="4071578355972369426">"സംഖ്യയല്ല"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"പിശക്"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"ലോഗ്"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"സൈൻ"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"ടാൻ"</string>
+    <string name="clr" msgid="3126239559646368205">"മായ്‌ക്കുക"</string>
+    <string name="del" msgid="6700172918709138470">"ഇല്ലാതാക്കുക"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"യൂളറിന്റെ നമ്പർ"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"പൈ"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"പോയിന്റ്"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ഇടത് പരാന്തിസിസ്"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"വലത് പരാന്തിസിസ്"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"കസൈൻ"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"നാച്ചുറൽ ലോഗരിതം"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ലോഗരിതം"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"സൈൻ"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ടാൻജെന്റ്"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"പ്ലസ്"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ഭാഗിക്കുക"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ഫാക്‌ടോറിയൽ"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"തവണ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"പവർ"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"ചതുര റൂട്ട്"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ന്യൂനചിഹ്നം"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"മായ്ക്കൂ"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ഇല്ലാതാക്കുക"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"സമം"</string>
+</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
new file mode 100644
index 0000000..2ef7fea
--- /dev/null
+++ b/res/values-mn-rMN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Тооны машин"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Тоо биш байна"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Алдаа"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Эйлерийн тоо"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"пи"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"цэг"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"зүүн хаалт"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"баруун хаалт"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"натурал логарифм"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логарифм"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"нэмэх"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"хуваах"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факториал"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"үржүүлэх"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"зэрэг"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"язгуур"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"хасах"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"цэвэрлэх"</string>
+    <string name="desc_del" msgid="1866733601083210032">"устгах"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"тэнцүү"</string>
+</resources>
diff --git a/res/values-mr-rIN/strings.xml b/res/values-mr-rIN/strings.xml
new file mode 100644
index 0000000..8d12255
--- /dev/null
+++ b/res/values-mr-rIN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"कॅलक्युलेटर"</string>
+    <string name="error_nan" msgid="4071578355972369426">"संख्या नाही"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"त्रुटी"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"कॉस"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"इन"</string>
+    <string name="fun_log" msgid="6856905045055937519">"लॉग"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"साइन"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"टॅन"</string>
+    <string name="clr" msgid="3126239559646368205">"साफ करा"</string>
+    <string name="del" msgid="6700172918709138470">"हटवा"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"यूलरची संख्या"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"पाय"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"बिंदू"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"डावा कंस"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"उजवा कंस"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"कोसाइन"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"प्राकृतिक लॉगॅरिथम"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"लॉगॅरिथम"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"साइन"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"टँजंट"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"अधिक"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"भागणे"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"क्रमगुणित"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"वेळा"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"घात"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"वर्गमूळ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"वजा"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"साफ करा"</string>
+    <string name="desc_del" msgid="1866733601083210032">"हटवा"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"समान"</string>
+</resources>
diff --git a/res/values-mr-rMH/strings.xml b/res/values-mr-rMH/strings.xml
new file mode 100644
index 0000000..8d12255
--- /dev/null
+++ b/res/values-mr-rMH/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"कॅलक्युलेटर"</string>
+    <string name="error_nan" msgid="4071578355972369426">"संख्या नाही"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"त्रुटी"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"कॉस"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"इन"</string>
+    <string name="fun_log" msgid="6856905045055937519">"लॉग"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"साइन"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"टॅन"</string>
+    <string name="clr" msgid="3126239559646368205">"साफ करा"</string>
+    <string name="del" msgid="6700172918709138470">"हटवा"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"यूलरची संख्या"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"पाय"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"बिंदू"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"डावा कंस"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"उजवा कंस"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"कोसाइन"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"प्राकृतिक लॉगॅरिथम"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"लॉगॅरिथम"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"साइन"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"टँजंट"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"अधिक"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"भागणे"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"क्रमगुणित"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"वेळा"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"घात"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"वर्गमूळ"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"वजा"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"साफ करा"</string>
+    <string name="desc_del" msgid="1866733601083210032">"हटवा"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"समान"</string>
+</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
new file mode 100644
index 0000000..a21a20b
--- /dev/null
+++ b/res/values-ms-rMY/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulator"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Bukan nombor"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Ralat"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"kos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"ksg"</string>
+    <string name="del" msgid="6700172918709138470">"pdm"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Nombor Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"mata"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"tanda kurung kiri"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"tanda kurung kanan"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritma asli"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritma"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangen"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"tambah"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"bahagi"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"kali"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"kuasa"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kuasa dua"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"tolak"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"kosongkan"</string>
+    <string name="desc_del" msgid="1866733601083210032">"padam"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"sama dengan"</string>
+</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
deleted file mode 100644
index 8d4a3a1..0000000
--- a/res/values-ms/strings.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?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="app_name" msgid="8095131950334945205">"Kalkulator"</string>
-    <string name="error" msgid="9197457880925804499">"Ralat"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"PADAM"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"kos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Panel asas"</string>
-    <string name="advanced" msgid="7122495413742976492">"Panel lanjutan"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Padam bersih sejarah"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Teks disalin."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"tanda kurung kiri"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"tanda kurung kanan"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritma asli"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritma"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kuasa dua"</string>
-    <string name="divDesc" msgid="7442623079124315427">"bahagi"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"darab"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"tanda campur"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"tolak"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"mata"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"kuasa"</string>
-    <string name="delDesc" msgid="8211175878012032240">"padam"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"kosongkan"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangen"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Nombor Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"sama dengan"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"tanda kurung kiri"</item>
-    <item msgid="1688156211934459752">"tanda kurung kanan"</item>
-    <item msgid="6664829080840305856">"faktorial"</item>
-    <item msgid="2880199289575144121">"logaritma asli"</item>
-    <item msgid="4398774906998694599">"logaritma"</item>
-    <item msgid="1791869359785943266">"punca kuasa dua"</item>
-    <item msgid="6833720171974254459">"dibahagi dengan"</item>
-    <item msgid="2646574635189709515">"didarab dengan"</item>
-    <item msgid="3487936384379753697">"tanda campur"</item>
-    <item msgid="8608534484562258856">"tolak"</item>
-    <item msgid="3456824579675198186">" mata "</item>
-    <item msgid="4528629783180278651">"kuasa"</item>
-    <item msgid="4050948027333760159">"tangen"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"kosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"sama dengan"</item>
-  </string-array>
-</resources>
diff --git a/res/values-my-rMM/strings.xml b/res/values-my-rMM/strings.xml
new file mode 100644
index 0000000..af6df36
--- /dev/null
+++ b/res/values-my-rMM/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ဂဏန်းတွက်စက်"</string>
+    <string name="error_nan" msgid="4071578355972369426">"ဂဏန်း မဟုတ်"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"အမှား"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"၀"</string>
+    <string name="digit_1" msgid="9009337429640544205">"၁"</string>
+    <string name="digit_2" msgid="7722707864768133877">"၂"</string>
+    <string name="digit_3" msgid="5813321444694024561">"၃"</string>
+    <string name="digit_4" msgid="4768173444612236144">"၄"</string>
+    <string name="digit_5" msgid="2015349411036328271">"၅"</string>
+    <string name="digit_6" msgid="7350999202882497047">"၆"</string>
+    <string name="digit_7" msgid="2386463125354638611">"၇"</string>
+    <string name="digit_8" msgid="6298159258090202166">"၈"</string>
+    <string name="digit_9" msgid="1221342734731110246">"၉"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler\'s ဂဏန်း"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"ပိုင်"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"အစက်"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ကွင်းစ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"ကွင်းပိတ်"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"ကိုဆိုင်း"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"သဘာဝ လော်ဂရစ်သမ်"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"လော်ဂရစ်သမ်"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ဆိုင်း"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"တန်းဂျင့်"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"အပေါင်း လက္ခဏာ"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"စားရန်"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"မြှောက်ကိန်း"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"အကြိမ်"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ထပ်ကိန်း"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"နှစ်ထပ်ကိန်းရင်း"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"အနှုတ်"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"clear"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ပယ်ဖျက်ရန်"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"ညီမျှခြင်း"</string>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 8533a5c..cfbf682 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkulator"</string>
-    <string name="error" msgid="9197457880925804499">"Feil"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SLETT"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Grunnleggende panel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Avansert panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Tøm logg"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekst er kopiert."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"venstre parentes"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"høyre parentes"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"fakultet"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"naturlig logaritme"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kvadratrot"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dele"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplisere"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"pluss"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"komma"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potens"</string>
-    <string name="delDesc" msgid="8211175878012032240">"slett"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"slett"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulers tall"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"er lik"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"venstre parentes"</item>
-    <item msgid="1688156211934459752">"høyre parentes"</item>
-    <item msgid="6664829080840305856">"fakultet"</item>
-    <item msgid="2880199289575144121">"naturlig logaritme"</item>
-    <item msgid="4398774906998694599">"logaritme"</item>
-    <item msgid="1791869359785943266">"kvadratrot"</item>
-    <item msgid="6833720171974254459">"delt på"</item>
-    <item msgid="2646574635189709515">"multiplisert med"</item>
-    <item msgid="3487936384379753697">"pluss"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" komma "</item>
-    <item msgid="4528629783180278651">"potens"</item>
-    <item msgid="4050948027333760159">"tangent"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"er lik"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Ikke et tall"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Feil"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulers tall"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"komma "</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"venstre parentes"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"høyre parentes"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"naturlig logaritme"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"pluss"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dele"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fakultet"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ganger"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potens"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadratrot"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minusknapp"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"slett"</string>
+    <string name="desc_del" msgid="1866733601083210032">"slett"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"er lik"</string>
 </resources>
diff --git a/res/values-ne-rNP/strings.xml b/res/values-ne-rNP/strings.xml
new file mode 100644
index 0000000..a5f1e29
--- /dev/null
+++ b/res/values-ne-rNP/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"क्यालकुलेटर"</string>
+    <string name="error_nan" msgid="4071578355972369426">"संख्या होइन"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"त्रुटि"</string>
+    <string name="dec_point" msgid="6555721211126788808">"।"</string>
+    <string name="digit_0" msgid="697966218778843272">"०"</string>
+    <string name="digit_1" msgid="9009337429640544205">"१"</string>
+    <string name="digit_2" msgid="7722707864768133877">"२"</string>
+    <string name="digit_3" msgid="5813321444694024561">"३"</string>
+    <string name="digit_4" msgid="4768173444612236144">"४"</string>
+    <string name="digit_5" msgid="2015349411036328271">"५"</string>
+    <string name="digit_6" msgid="7350999202882497047">"६"</string>
+    <string name="digit_7" msgid="2386463125354638611">"७"</string>
+    <string name="digit_8" msgid="6298159258090202166">"८"</string>
+    <string name="digit_9" msgid="1221342734731110246">"९"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"युलरको अङ्क"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"बिन्दु"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"बायाँ कोष्ठ"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"बायाँ कोष्ठ"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"कसाइन"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"प्राकृतिक लघुगणक"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"लघुगणक"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"साइन"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ट्यान्जेन्ट"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"जोड"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"भाग गर्नुहोस्"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"क्रमगुणित"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"पटक"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"पावर"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"वर्गमूल"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"घटाउ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"सफा गर्नुहोस्"</string>
+    <string name="desc_del" msgid="1866733601083210032">"मेटाउनुहोस्"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"बराबर"</string>
+</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
new file mode 100644
index 0000000..ff0e43c
--- /dev/null
+++ b/res/values-ne/strings.xml
@@ -0,0 +1,84 @@
+<?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="app_name" msgid="8095131950334945205">"क्यालकुलेटर"</string>
+    <string name="error" msgid="9197457880925804499">"त्रुटि"</string>
+    <string name="digit0" msgid="8069590963464434135">"०"</string>
+    <string name="digit1" msgid="8535041374797804029">"१"</string>
+    <string name="digit2" msgid="8977354203154316247">"२"</string>
+    <string name="digit3" msgid="148544090755132760">"३"</string>
+    <string name="digit4" msgid="2199490603838247678">"४"</string>
+    <string name="digit5" msgid="7568514524384173087">"५"</string>
+    <string name="digit6" msgid="6705952561049362551">"६"</string>
+    <string name="digit7" msgid="658125644218958447">"७"</string>
+    <string name="digit8" msgid="3134686906411558886">"८"</string>
+    <string name="digit9" msgid="765379157698748031">"९"</string>
+    <string name="del" msgid="6248896117422989693">"मेटाउनुहोस्"</string>
+    <string name="clear" msgid="8103610981407459768">"CLR"</string>
+    <string name="sin" msgid="6793866152659175277">"साइन"</string>
+    <string name="cos" msgid="6901841853098114414">"कस"</string>
+    <string name="tan" msgid="7957459816738554960">"ट्यान"</string>
+    <string name="e" msgid="1377847800971731483">"e"</string>
+    <string name="ln" msgid="6888500680285403344">"मा"</string>
+    <string name="lg" msgid="873623857385418182">"लग"</string>
+    <string name="leftParen" msgid="4850643713953092099">"("</string>
+    <string name="rightParen" msgid="3177971166159324016">")"</string>
+    <string name="basic" msgid="7691469861698059753">"साधारण प्यानल"</string>
+    <string name="advanced" msgid="7122495413742976492">"जटिल प्यानल"</string>
+    <string name="clear_history" msgid="8458043980601165012">"इतिहास हटाउनुहोस्"</string>
+    <string name="text_copied_toast" msgid="5801480710472541833">"पाठ प्रतिलिपी गरिएको।"</string>
+    <string name="leftParenDesc" msgid="8446428211982811379">"बायाँ कोष्ठ"</string>
+    <string name="rightParenDesc" msgid="9133691645148976523">"बायाँ कोष्ठ"</string>
+    <string name="factorialDesc" msgid="9217024218012761574">"क्रमगुणित"</string>
+    <string name="lnDesc" msgid="1052579286300842270">"प्राकृतिक लोगारिदम"</string>
+    <string name="lgDesc" msgid="6490920451513731160">"लोगारिदम"</string>
+    <string name="sqrtDesc" msgid="2247252128762219267">"वर्गमूल"</string>
+    <string name="divDesc" msgid="7442623079124315427">"भाग गर्नुहोस्"</string>
+    <string name="mulDesc" msgid="9003016819648670694">"गुणन"</string>
+    <string name="plusDesc" msgid="3145322700823848264">"जोड"</string>
+    <string name="minusDesc" msgid="5033462008907390900">"घटाउ"</string>
+    <string name="dotDesc" msgid="5253752241630161722">"बिन्दु"</string>
+    <string name="powerDesc" msgid="9034898318444176910">"उर्जा"</string>
+    <string name="delDesc" msgid="8211175878012032240">"मेटाउनुहोस्"</string>
+    <string name="clearDesc" msgid="8015748901120751476">"सफा गर्नुहोस्"</string>
+    <string name="tanDesc" msgid="2055554933130702423">"ट्यान्जेन्ट"</string>
+    <string name="sinDesc" msgid="6563285042235077204">"साइन"</string>
+    <string name="cosDesc" msgid="4048942450207926538">"कसाइन"</string>
+    <string name="eDesc" msgid="6709583372168924068">"युलरको अङ्क"</string>
+    <string name="piDesc" msgid="8838151606775021517">"पाइ"</string>
+    <string name="equalDesc" msgid="4164435100263313101">"बराबर"</string>
+  <string-array name="operatorDescs">
+    <item msgid="7903565108986789641">"बायाँ कोष्ठ"</item>
+    <item msgid="1688156211934459752">"दायाँ कोष्ठ"</item>
+    <item msgid="6664829080840305856">"क्रमगुणित"</item>
+    <item msgid="2880199289575144121">"प्राकृतिक लगारिदम"</item>
+    <item msgid="4398774906998694599">"लोगारिदम"</item>
+    <item msgid="1791869359785943266">"वर्गमूल"</item>
+    <item msgid="6833720171974254459">"ले भाग गरेको"</item>
+    <item msgid="2646574635189709515">"ले गुणन गरेको"</item>
+    <item msgid="3487936384379753697">"जोड"</item>
+    <item msgid="8608534484562258856">"घटाउ"</item>
+    <item msgid="3456824579675198186">" बिन्दु "</item>
+    <item msgid="4528629783180278651">"उर्जा"</item>
+    <item msgid="4050948027333760159">"ट्यान्जेन्ट"</item>
+    <item msgid="8716478860618683850">"साइन"</item>
+    <item msgid="3203211483560707480">"कोसाइन"</item>
+    <item msgid="8587490959348493065">"पाइ"</item>
+    <item msgid="8134315487552198394">"बराबर"</item>
+  </string-array>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 2ef47df..2dd17fb 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculator"</string>
-    <string name="error" msgid="9197457880925804499">"Fout"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"VERWIJDEREN"</string>
-    <string name="clear" msgid="8103610981407459768">"WISSEN"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Basis"</string>
-    <string name="advanced" msgid="7122495413742976492">"Geavanceerd"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Geschiedenis wissen"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekst is gekopieerd."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"linkerhaakje"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"rechterhaakje"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faculteit"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"natuurlijk logaritme"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritme"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"vierkantswortel"</string>
-    <string name="divDesc" msgid="7442623079124315427">"delen"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"vermenigvuldigen"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"min"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punt"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"macht"</string>
-    <string name="delDesc" msgid="8211175878012032240">"verwijderen"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"wissen"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"constante van Neper"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"is gelijk aan"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"linkerhaakje"</item>
-    <item msgid="1688156211934459752">"rechterhaakje"</item>
-    <item msgid="6664829080840305856">"faculteit"</item>
-    <item msgid="2880199289575144121">"natuurlijk logaritme"</item>
-    <item msgid="4398774906998694599">"logaritme"</item>
-    <item msgid="1791869359785943266">"vierkantswortel"</item>
-    <item msgid="6833720171974254459">"gedeeld door"</item>
-    <item msgid="2646574635189709515">"vermenigvuldigd met"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"min"</item>
-    <item msgid="3456824579675198186">" punt "</item>
-    <item msgid="4528629783180278651">"macht"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"is gelijk aan"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Is geen getal"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Fout"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"wis"</string>
+    <string name="del" msgid="6700172918709138470">"←"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"constante van Neper"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"punt"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"linkerhaakje"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"rechterhaakje"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natuurlijk logaritme"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritme"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"delen"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faculteit"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"keer"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"macht"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"vierkantswortel"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"min"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"wissen"</string>
+    <string name="desc_del" msgid="1866733601083210032">"verwijderen"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"is gelijk aan"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 4360f79..c1e7989 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkulator"</string>
-    <string name="error" msgid="9197457880925804499">"Błąd"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"USUŃ"</string>
-    <string name="clear" msgid="8103610981407459768">"CZYŚĆ"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tg"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Panel podstawowy"</string>
-    <string name="advanced" msgid="7122495413742976492">"Panel zaawansowany"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Wyczyść historię"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Tekst został skopiowany."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"nawias otwierający"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"nawias zamykający"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"silnia"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logarytm naturalny"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logarytm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"pierwiastek kwadratowy"</string>
-    <string name="divDesc" msgid="7442623079124315427">"podzielić"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"pomnożyć"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"przecinek"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potęga"</string>
-    <string name="delDesc" msgid="8211175878012032240">"usuń"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"wyczyść"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"liczba Eulera"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"równa się"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"nawias otwierający"</item>
-    <item msgid="1688156211934459752">"nawias zamykający"</item>
-    <item msgid="6664829080840305856">"silnia"</item>
-    <item msgid="2880199289575144121">"logarytm naturalny"</item>
-    <item msgid="4398774906998694599">"logarytm"</item>
-    <item msgid="1791869359785943266">"pierwiastek kwadratowy"</item>
-    <item msgid="6833720171974254459">"dzielone przez"</item>
-    <item msgid="2646574635189709515">"mnożone przez"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" przecinek "</item>
-    <item msgid="4528629783180278651">"do potęgi"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"równa się"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"To nie liczba"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Błąd"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tg"</string>
+    <string name="clr" msgid="3126239559646368205">"CE"</string>
+    <string name="del" msgid="6700172918709138470">"←"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"liczba Eulera"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"przecinek"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"nawias otwierający"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"nawias zamykający"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logarytm naturalny"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarytm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"podziel"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"silnia"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"pomnóż"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potęga"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"pierwiastek kwadratowy"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"wyczyść"</string>
+    <string name="desc_del" msgid="1866733601083210032">"usuń"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"równa się"</string>
 </resources>
diff --git a/res/values-port/arrays.xml b/res/values-port/arrays.xml
deleted file mode 100644
index 8bc888c..0000000
--- a/res/values-port/arrays.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <array name="simple_buttons">
-        <item>@+id/digit0</item>
-        <item>@+id/digit1</item>
-        <item>@+id/digit2</item>
-        <item>@+id/digit3</item>
-        <item>@+id/digit4</item>
-        <item>@+id/digit5</item>
-        <item>@+id/digit6</item>
-        <item>@+id/digit7</item>
-        <item>@+id/digit8</item>
-        <item>@+id/digit9</item>
-        <item>@+id/dot</item>
-        <item>@+id/plus</item>
-        <item>@+id/minus</item>
-        <item>@+id/div</item>
-        <item>@+id/mul</item>
-        <item>@+id/equal</item>
-    </array>
-
-    <array name="advanced_buttons">
-        <item>@+id/leftParen</item>
-        <item>@+id/rightParen</item>
-        <item>@+id/sin</item>
-        <item>@+id/cos</item>
-        <item>@+id/tan</item>
-        <item>@+id/ln</item>
-        <item>@+id/lg</item>
-        <item>@+id/e</item>
-        <item>@+id/pi</item>
-        <item>@+id/power</item>
-        <item>@+id/factorial</item>
-        <item>@+id/sqrt</item>
-    </array>
-
-</resources>
\ No newline at end of file
diff --git a/res/values-port/dimens.xml b/res/values-port/dimens.xml
new file mode 100644
index 0000000..dd66e9a
--- /dev/null
+++ b/res/values-port/dimens.xml
@@ -0,0 +1,23 @@
+<?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>
+
+    <!-- The margin between the pad pages when displayed using a view pager. -->
+    <dimen name="pad_page_margin">-24dip</dimen>
+
+</resources>
diff --git a/res/values-port/layout.xml b/res/values-port/layout.xml
new file mode 100644
index 0000000..99ea0b8
--- /dev/null
+++ b/res/values-port/layout.xml
@@ -0,0 +1,20 @@
+<?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>
+    <item name="activity_calculator" type="layout">@layout/activity_calculator_port</item>
+</resources>
\ No newline at end of file
diff --git a/res/values-port/styles.xml b/res/values-port/styles.xml
new file mode 100644
index 0000000..c14558b
--- /dev/null
+++ b/res/values-port/styles.xml
@@ -0,0 +1,92 @@
+<?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.
+  -->
+
+<!-- Styles for portrait phone (e.g. Nexus 4/5). -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="DisplayEditTextStyle.Formula">
+        <item name="android:paddingTop">48dip</item>
+        <item name="android:paddingBottom">24dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+        <item name="minTextSize">36sp</item>
+        <item name="maxTextSize">64sp</item>
+        <item name="stepTextSize">8sp</item>
+    </style>
+
+    <style name="DisplayEditTextStyle.Result">
+        <item name="android:paddingTop">24dip</item>
+        <item name="android:paddingBottom">48dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Advanced">
+        <item name="android:layout_margin">4dip</item>
+        <item name="android:textColor">@color/pad_button_advanced_text_color</item>
+        <item name="android:textSize">20sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric">
+        <item name="android:layout_margin">4dip</item>
+        <item name="android:textSize">32sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric.Equals">
+        <item name="android:visibility">visible</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator">
+        <item name="android:layout_margin">8dip</item>
+        <item name="android:textSize">23sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator.Text">
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textSize">15sp</item>
+    </style>
+
+    <style name="PadLayoutStyle.Advanced">
+        <item name="android:elevation">4dip</item>
+        <item name="android:paddingTop">12dip</item>
+        <item name="android:paddingBottom">20dip</item>
+        <item name="android:paddingStart">20dip</item>
+        <item name="android:paddingEnd">20dip</item>
+        <item name="android:columnCount">3</item>
+        <item name="android:rowCount">4</item>
+    </style>
+
+    <style name="PadLayoutStyle.Numeric">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">264</item>
+        <item name="android:paddingTop">12dip</item>
+        <item name="android:paddingBottom">20dip</item>
+        <item name="android:paddingStart">12dip</item>
+        <item name="android:paddingEnd">12dip</item>
+    </style>
+
+    <style name="PadLayoutStyle.Operator">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">96</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">24dip</item>
+        <item name="android:paddingStart">8dip</item>
+        <item name="android:paddingEnd">24dip</item>
+    </style>
+
+</resources>
\ No newline at end of file
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 48c8134..27ce078 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculadora"</string>
-    <string name="error" msgid="9197457880925804499">"Erro"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ELIMINAR"</string>
-    <string name="clear" msgid="8103610981407459768">"LIMPAR"</string>
-    <string name="sin" msgid="6793866152659175277">"sen"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"reg."</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Painel básico"</string>
-    <string name="advanced" msgid="7122495413742976492">"Painel avançado"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Limpar histórico"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Texto copiado."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"parêntese esquerdo"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"parêntese direito"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"fatorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritmo natural"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmo"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"raiz quadrada"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dividir"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplicar"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"mais"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"menos"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"ponto"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"expoente"</string>
-    <string name="delDesc" msgid="8211175878012032240">"eliminar"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"limpar"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangente"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"seno"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosseno"</string>
-    <string name="eDesc" msgid="6709583372168924068">"número de Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"igual a"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"parêntese esquerdo"</item>
-    <item msgid="1688156211934459752">"parêntese direito"</item>
-    <item msgid="6664829080840305856">"fatorial"</item>
-    <item msgid="2880199289575144121">"logaritmo natural"</item>
-    <item msgid="4398774906998694599">"logaritmo"</item>
-    <item msgid="1791869359785943266">"raiz quadrada"</item>
-    <item msgid="6833720171974254459">"dividido por"</item>
-    <item msgid="2646574635189709515">"multiplicado por"</item>
-    <item msgid="3487936384379753697">"mais"</item>
-    <item msgid="8608534484562258856">"menos"</item>
-    <item msgid="3456824579675198186">" ponto "</item>
-    <item msgid="4528629783180278651">"expoente"</item>
-    <item msgid="4050948027333760159">"tangente"</item>
-    <item msgid="8716478860618683850">"seno"</item>
-    <item msgid="3203211483560707480">"cosseno"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"igual a"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Não é um núm."</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Erro"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sen"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Número de Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"ponto"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"parêntese esquerdo"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"parêntese direito"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"mais"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dividir"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fatorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"vezes"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"expoente"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"raiz quadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menos"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"limpar"</string>
+    <string name="desc_del" msgid="1866733601083210032">"eliminar"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"igual"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 613d72c..6fa5bf7 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculadora"</string>
-    <string name="error" msgid="9197457880925804499">"Erro"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"EXCLUIR"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Painel básico"</string>
-    <string name="advanced" msgid="7122495413742976492">"Painel avançado"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Limpar histórico"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Texto copiado."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"parêntese esquerdo"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"parêntese direito"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"fatorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritmo natural"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmo"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"raiz quadrada"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dividir"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplicar"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"mais"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"menos"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"ponto"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potência"</string>
-    <string name="delDesc" msgid="8211175878012032240">"excluir"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"limpar"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangente"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"seno"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosseno"</string>
-    <string name="eDesc" msgid="6709583372168924068">"número de Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"igual a"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"parêntese esquerdo"</item>
-    <item msgid="1688156211934459752">"parêntese direito"</item>
-    <item msgid="6664829080840305856">"fatorial"</item>
-    <item msgid="2880199289575144121">"logaritmo natural"</item>
-    <item msgid="4398774906998694599">"logaritmo"</item>
-    <item msgid="1791869359785943266">"raiz quadrada"</item>
-    <item msgid="6833720171974254459">"dividido por"</item>
-    <item msgid="2646574635189709515">"multiplicado por"</item>
-    <item msgid="3487936384379753697">"mais"</item>
-    <item msgid="8608534484562258856">"menos"</item>
-    <item msgid="3456824579675198186">" ponto "</item>
-    <item msgid="4528629783180278651">"potência"</item>
-    <item msgid="4050948027333760159">"tangente"</item>
-    <item msgid="8716478860618683850">"seno"</item>
-    <item msgid="3203211483560707480">"cosseno"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"igual a"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Não é número"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Erro"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sen"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"número de Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"vírgula"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"parêntese esquerdo"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"parêntese direito"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosseno"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritmo natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmo"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"seno"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangente"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"mais"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"dividir"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fatorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"vezes"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potência"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"raiz quadrada"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"menos"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"limpar"</string>
+    <string name="desc_del" msgid="1866733601083210032">"excluir"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"igual"</string>
 </resources>
diff --git a/res/values-rm/strings.xml b/res/values-rm/strings.xml
index ea64f2c..e654947 100644
--- a/res/values-rm/strings.xml
+++ b/res/values-rm/strings.xml
@@ -1,104 +1,101 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculatur"</string>
-    <string name="error" msgid="9197457880925804499">"Errur"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"C"</string>
-    <!-- no translation found for clear (8103610981407459768) -->
+    <!-- no translation found for error_nan (4071578355972369426) -->
     <skip />
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Funcziuns da basa"</string>
-    <string name="advanced" msgid="7122495413742976492">"Funcziuns avanzadas"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Stizzar la cronologia"</string>
-    <!-- no translation found for text_copied_toast (5801480710472541833) -->
+    <!-- no translation found for error_syntax (6940043994468390738) -->
     <skip />
-    <!-- no translation found for leftParenDesc (8446428211982811379) -->
+    <!-- no translation found for dec_point (6555721211126788808) -->
     <skip />
-    <!-- no translation found for rightParenDesc (9133691645148976523) -->
+    <!-- no translation found for digit_0 (697966218778843272) -->
     <skip />
-    <!-- no translation found for factorialDesc (9217024218012761574) -->
+    <!-- no translation found for digit_1 (9009337429640544205) -->
     <skip />
-    <!-- no translation found for lnDesc (1052579286300842270) -->
+    <!-- no translation found for digit_2 (7722707864768133877) -->
     <skip />
-    <!-- no translation found for lgDesc (6490920451513731160) -->
+    <!-- no translation found for digit_3 (5813321444694024561) -->
     <skip />
-    <!-- no translation found for sqrtDesc (2247252128762219267) -->
+    <!-- no translation found for digit_4 (4768173444612236144) -->
     <skip />
-    <!-- no translation found for divDesc (7442623079124315427) -->
+    <!-- no translation found for digit_5 (2015349411036328271) -->
     <skip />
-    <!-- no translation found for mulDesc (9003016819648670694) -->
+    <!-- no translation found for digit_6 (7350999202882497047) -->
     <skip />
-    <!-- no translation found for plusDesc (3145322700823848264) -->
+    <!-- no translation found for digit_7 (2386463125354638611) -->
     <skip />
-    <!-- no translation found for minusDesc (5033462008907390900) -->
+    <!-- no translation found for digit_8 (6298159258090202166) -->
     <skip />
-    <!-- no translation found for dotDesc (5253752241630161722) -->
+    <!-- no translation found for digit_9 (1221342734731110246) -->
     <skip />
-    <!-- no translation found for powerDesc (9034898318444176910) -->
+    <!-- no translation found for fun_cos (7312559527731358211) -->
     <skip />
-    <!-- no translation found for delDesc (8211175878012032240) -->
+    <!-- no translation found for fun_ln (6282013842946532944) -->
     <skip />
-    <!-- no translation found for clearDesc (8015748901120751476) -->
+    <!-- no translation found for fun_log (6856905045055937519) -->
     <skip />
-    <!-- no translation found for tanDesc (2055554933130702423) -->
+    <!-- no translation found for fun_sin (7136698561875496766) -->
     <skip />
-    <!-- no translation found for sinDesc (6563285042235077204) -->
+    <!-- no translation found for fun_tan (9116158377794370341) -->
     <skip />
-    <!-- no translation found for cosDesc (4048942450207926538) -->
+    <!-- no translation found for clr (3126239559646368205) -->
     <skip />
-    <!-- no translation found for eDesc (6709583372168924068) -->
+    <!-- no translation found for del (6700172918709138470) -->
     <skip />
-    <!-- no translation found for piDesc (8838151606775021517) -->
+    <!-- no translation found for desc_const_e (7752508267661034194) -->
     <skip />
-    <!-- no translation found for equalDesc (4164435100263313101) -->
+    <!-- no translation found for desc_const_pi (5843835548313660468) -->
     <skip />
-    <!-- no translation found for operatorDescs:0 (7903565108986789641) -->
-    <!-- no translation found for operatorDescs:1 (1688156211934459752) -->
-    <!-- no translation found for operatorDescs:2 (6664829080840305856) -->
-    <!-- no translation found for operatorDescs:3 (2880199289575144121) -->
-    <!-- no translation found for operatorDescs:4 (4398774906998694599) -->
-    <!-- no translation found for operatorDescs:5 (1791869359785943266) -->
-    <!-- no translation found for operatorDescs:6 (6833720171974254459) -->
-    <!-- no translation found for operatorDescs:7 (2646574635189709515) -->
-    <!-- no translation found for operatorDescs:8 (3487936384379753697) -->
-    <!-- no translation found for operatorDescs:9 (8608534484562258856) -->
-    <!-- no translation found for operatorDescs:10 (3456824579675198186) -->
-    <!-- no translation found for operatorDescs:11 (4528629783180278651) -->
-    <!-- no translation found for operatorDescs:12 (4050948027333760159) -->
-    <!-- no translation found for operatorDescs:13 (8716478860618683850) -->
-    <!-- no translation found for operatorDescs:14 (3203211483560707480) -->
-    <!-- no translation found for operatorDescs:15 (8587490959348493065) -->
-    <!-- no translation found for operatorDescs:16 (8134315487552198394) -->
+    <!-- no translation found for desc_dec_point (6211527612960070934) -->
+    <skip />
+    <!-- no translation found for desc_lparen (3319203240269597504) -->
+    <skip />
+    <!-- no translation found for desc_rparen (7629704943022422763) -->
+    <skip />
+    <!-- no translation found for desc_fun_cos (3197307754450718348) -->
+    <skip />
+    <!-- no translation found for desc_fun_ln (4943842219071979148) -->
+    <skip />
+    <!-- no translation found for desc_fun_log (6163178034661345125) -->
+    <skip />
+    <!-- no translation found for desc_fun_sin (4010564022860883142) -->
+    <skip />
+    <!-- no translation found for desc_fun_tan (8547330421304946587) -->
+    <skip />
+    <!-- no translation found for desc_op_add (1174812755738083078) -->
+    <skip />
+    <!-- no translation found for desc_op_div (8320455802423478031) -->
+    <skip />
+    <!-- no translation found for desc_op_fact (5004950609277631750) -->
+    <skip />
+    <!-- no translation found for desc_op_mul (978652245185868311) -->
+    <skip />
+    <!-- no translation found for desc_op_pow (2620877401884059447) -->
+    <skip />
+    <!-- no translation found for desc_op_sqrt (4405610392216554239) -->
+    <skip />
+    <!-- no translation found for desc_op_sub (2563060630032563021) -->
+    <skip />
+    <!-- no translation found for desc_clr (8357371663749541924) -->
+    <skip />
+    <!-- no translation found for desc_del (1866733601083210032) -->
+    <skip />
+    <!-- no translation found for desc_eq (8068773095462472408) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index adbf59b..92817b1 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculator"</string>
-    <string name="error" msgid="9197457880925804499">"Eroare"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ȘTERGEŢI"</string>
-    <string name="clear" msgid="8103610981407459768">"ȘTERGE"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tg"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Panou de bază"</string>
-    <string name="advanced" msgid="7122495413742976492">"Panou avansat"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Ștergeţi istoricul"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Textul a fost copiat."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"paranteză stânga"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"paranteză dreapta"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logaritm natural"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"rădăcină pătrată"</string>
-    <string name="divDesc" msgid="7442623079124315427">"împărţiţi"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"înmulţiţi"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"virgulă"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"putere"</string>
-    <string name="delDesc" msgid="8211175878012032240">"ştergeţi"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"goliţi"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangentă"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"numărul lui Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"este egal cu"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"paranteză stânga"</item>
-    <item msgid="1688156211934459752">"paranteză dreapta"</item>
-    <item msgid="6664829080840305856">"factorial"</item>
-    <item msgid="2880199289575144121">"logaritm natural"</item>
-    <item msgid="4398774906998694599">"logaritm"</item>
-    <item msgid="1791869359785943266">"rădăcină pătrată"</item>
-    <item msgid="6833720171974254459">"împărţit la"</item>
-    <item msgid="2646574635189709515">"înmulţit cu"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" punct "</item>
-    <item msgid="4528629783180278651">"putere"</item>
-    <item msgid="4050948027333760159">"tangentă"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"este egal cu"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Nu este număr"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Eroare"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tg"</string>
+    <string name="clr" msgid="3126239559646368205">"elim"</string>
+    <string name="del" msgid="6700172918709138470">"ștrg"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"numărul lui Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">" punct "</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"paranteză stânga"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"paranteză dreapta"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logaritm natural"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangentă"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"împărțit"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ori"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"putere"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"rădăcină pătrată"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"goliţi"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ștergeți"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"este egal cu"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e6576ae..ee4de2f 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Калькулятор"</string>
-    <string name="error" msgid="9197457880925804499">"Ошибка"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"Удалить"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Основная панель"</string>
-    <string name="advanced" msgid="7122495413742976492">"Дополнительная панель"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Очистить историю"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Текст скопирован."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"открывающая скобка"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"закрывающая скобка"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"факториал числа"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"натуральный логарифм числа"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"логарифм числа"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"квадратный корень из числа"</string>
-    <string name="divDesc" msgid="7442623079124315427">"деление"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"умножение"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"плюс"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"минус"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"десятичный разделитель"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"в степени"</string>
-    <string name="delDesc" msgid="8211175878012032240">"удаление"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"сброс"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"тангенс"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"синус"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"косинус"</string>
-    <string name="eDesc" msgid="6709583372168924068">"число Эйлера"</string>
-    <string name="piDesc" msgid="8838151606775021517">"число \"пи\""</string>
-    <string name="equalDesc" msgid="4164435100263313101">"равно"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"открывающая скобка"</item>
-    <item msgid="1688156211934459752">"закрывающая скобка"</item>
-    <item msgid="6664829080840305856">"факториал числа"</item>
-    <item msgid="2880199289575144121">"натуральный логарифм числа"</item>
-    <item msgid="4398774906998694599">"логарифм числа"</item>
-    <item msgid="1791869359785943266">"квадратный корень из числа"</item>
-    <item msgid="6833720171974254459">"разделить на"</item>
-    <item msgid="2646574635189709515">"умножить на"</item>
-    <item msgid="3487936384379753697">"плюс"</item>
-    <item msgid="8608534484562258856">"минус"</item>
-    <item msgid="3456824579675198186">" десятичный разделитель "</item>
-    <item msgid="4528629783180278651">"в степени"</item>
-    <item msgid="4050948027333760159">"тангенс"</item>
-    <item msgid="8716478860618683850">"синус"</item>
-    <item msgid="3203211483560707480">"косинус"</item>
-    <item msgid="8587490959348493065">"число \"пи\""</item>
-    <item msgid="8134315487552198394">"равно"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Не число"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Ошибка"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"C"</string>
+    <string name="del" msgid="6700172918709138470">"C"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"число Эйлера"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"число \"пи\""</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"десятичный разделитель"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"открывающая скобка"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"закрывающая скобка"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"натуральный логарифм числа"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логарифм числа"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"плюс"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"разделить"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факториал числа"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"умножить"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"в степени"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"квадратный корень из числа"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"минус"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"сброс"</string>
+    <string name="desc_del" msgid="1866733601083210032">"удалить"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"равно"</string>
 </resources>
diff --git a/res/values-si-rLK/strings.xml b/res/values-si-rLK/strings.xml
new file mode 100644
index 0000000..1c0d9ee
--- /dev/null
+++ b/res/values-si-rLK/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"ගණක යන්ත්‍රය"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Not a number"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"දෝෂය"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"කොස්"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ශ්‍රිතයක් ලෙස"</string>
+    <string name="fun_log" msgid="6856905045055937519">"ලොගය"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"සයින"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"ටෑන්"</string>
+    <string name="clr" msgid="3126239559646368205">"හිස්"</string>
+    <string name="del" msgid="6700172918709138470">"මක"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ඔයිලර් අංකය"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"පයි"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"දශම"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"වම් වරහන"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"දකුණු වරහන"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"කෝසයින"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ස්වාභාවික ලඝු"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ලඝු"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"සයින"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ටැන්ජන"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"ධන"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"බෙදන්න"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ක්‍රමාරෝපිත"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"වාර"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"බලය"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"වර්ග මූලය"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ඍණ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"හිස් කරන්න"</string>
+    <string name="desc_del" msgid="1866733601083210032">"මකන්න"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"සමාන"</string>
+</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
new file mode 100644
index 0000000..1f82914
--- /dev/null
+++ b/res/values-si/strings.xml
@@ -0,0 +1,84 @@
+<?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="app_name" msgid="8095131950334945205">"ගණක යන්ත්‍රය"</string>
+    <string name="error" msgid="9197457880925804499">"දෝෂය"</string>
+    <string name="digit0" msgid="8069590963464434135">"0"</string>
+    <string name="digit1" msgid="8535041374797804029">"1"</string>
+    <string name="digit2" msgid="8977354203154316247">"2"</string>
+    <string name="digit3" msgid="148544090755132760">"3"</string>
+    <string name="digit4" msgid="2199490603838247678">"4"</string>
+    <string name="digit5" msgid="7568514524384173087">"5"</string>
+    <string name="digit6" msgid="6705952561049362551">"6"</string>
+    <string name="digit7" msgid="658125644218958447">"7"</string>
+    <string name="digit8" msgid="3134686906411558886">"8"</string>
+    <string name="digit9" msgid="765379157698748031">"9"</string>
+    <string name="del" msgid="6248896117422989693">"මකන්න"</string>
+    <string name="clear" msgid="8103610981407459768">"CLR"</string>
+    <string name="sin" msgid="6793866152659175277">"සයින"</string>
+    <string name="cos" msgid="6901841853098114414">"කොස්"</string>
+    <string name="tan" msgid="7957459816738554960">"ටෑන්"</string>
+    <string name="e" msgid="1377847800971731483">"e"</string>
+    <string name="ln" msgid="6888500680285403344">"ශ්‍රිතයක් ලෙස"</string>
+    <string name="lg" msgid="873623857385418182">"ලොගය"</string>
+    <string name="leftParen" msgid="4850643713953092099">"("</string>
+    <string name="rightParen" msgid="3177971166159324016">")"</string>
+    <string name="basic" msgid="7691469861698059753">"මූලික පැනලය"</string>
+    <string name="advanced" msgid="7122495413742976492">"උසස් පැනලය"</string>
+    <string name="clear_history" msgid="8458043980601165012">"ඉතිහාසය හිස් කරන්න"</string>
+    <string name="text_copied_toast" msgid="5801480710472541833">"පෙළ පිටපත් කරන ලදි."</string>
+    <string name="leftParenDesc" msgid="8446428211982811379">"වම් වරහන"</string>
+    <string name="rightParenDesc" msgid="9133691645148976523">"දකුණු වරහන"</string>
+    <string name="factorialDesc" msgid="9217024218012761574">"ක්‍රමාරෝපිත"</string>
+    <string name="lnDesc" msgid="1052579286300842270">"ප්‍රති ලඝු"</string>
+    <string name="lgDesc" msgid="6490920451513731160">"ලඝු"</string>
+    <string name="sqrtDesc" msgid="2247252128762219267">"වර්ග මූලය"</string>
+    <string name="divDesc" msgid="7442623079124315427">"බෙදන්න"</string>
+    <string name="mulDesc" msgid="9003016819648670694">"ගුණිතය"</string>
+    <string name="plusDesc" msgid="3145322700823848264">"ධන"</string>
+    <string name="minusDesc" msgid="5033462008907390900">"සෘණ"</string>
+    <string name="dotDesc" msgid="5253752241630161722">"දශම"</string>
+    <string name="powerDesc" msgid="9034898318444176910">"බලය"</string>
+    <string name="delDesc" msgid="8211175878012032240">"මකන්න"</string>
+    <string name="clearDesc" msgid="8015748901120751476">"හිස් කරන්න"</string>
+    <string name="tanDesc" msgid="2055554933130702423">"ටැන්ජන"</string>
+    <string name="sinDesc" msgid="6563285042235077204">"සයින"</string>
+    <string name="cosDesc" msgid="4048942450207926538">"කෝසයින"</string>
+    <string name="eDesc" msgid="6709583372168924068">"ඔයිලර් අංකය"</string>
+    <string name="piDesc" msgid="8838151606775021517">"පයි"</string>
+    <string name="equalDesc" msgid="4164435100263313101">"සමාන"</string>
+  <string-array name="operatorDescs">
+    <item msgid="7903565108986789641">"වම් වරහන"</item>
+    <item msgid="1688156211934459752">"දකුණු වරහන"</item>
+    <item msgid="6664829080840305856">"ක්‍රමාරෝපිත"</item>
+    <item msgid="2880199289575144121">"ස්වාභාවික ලඝු"</item>
+    <item msgid="4398774906998694599">"ලඝු"</item>
+    <item msgid="1791869359785943266">"වර්ග මූල"</item>
+    <item msgid="6833720171974254459">"මඟින් බෙදන ලදි"</item>
+    <item msgid="2646574635189709515">"මඟින් ගුණකරන ලදි"</item>
+    <item msgid="3487936384379753697">"ධන"</item>
+    <item msgid="8608534484562258856">"සෘණ"</item>
+    <item msgid="3456824579675198186">" දශම "</item>
+    <item msgid="4528629783180278651">"බලය"</item>
+    <item msgid="4050948027333760159">"ටැන්ජන"</item>
+    <item msgid="8716478860618683850">"සයින"</item>
+    <item msgid="3203211483560707480">"කෝසයින"</item>
+    <item msgid="8587490959348493065">"පයි"</item>
+    <item msgid="8134315487552198394">"සමාන"</item>
+  </string-array>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 9f39e22..2934546 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkulačka"</string>
-    <string name="error" msgid="9197457880925804499">"Chyba"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ODSTRÁNIŤ"</string>
-    <string name="clear" msgid="8103610981407459768">"Vymaz."</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Základné funkcie"</string>
-    <string name="advanced" msgid="7122495413742976492">"Rozšírené funkcie"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Vymazať históriu"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Text bol skopírovaný."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"ľavá zátvorka"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"pravá zátvorka"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktoriál"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"prirodzený logaritmus"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritmus"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"druhá odmocnina"</string>
-    <string name="divDesc" msgid="7442623079124315427">"deliť"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"vynásobiť"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"mínus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"desatinná čiarka"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"umocniť"</string>
-    <string name="delDesc" msgid="8211175878012032240">"odstrániť"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"vymazať"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sínus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosínus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulerovo číslo"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pí"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"sa rovná"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"ľavá zátvorka"</item>
-    <item msgid="1688156211934459752">"pravá zátvorka"</item>
-    <item msgid="6664829080840305856">"faktoriál"</item>
-    <item msgid="2880199289575144121">"prirodzený logaritmus"</item>
-    <item msgid="4398774906998694599">"logaritmus"</item>
-    <item msgid="1791869359785943266">"druhá odmocnina"</item>
-    <item msgid="6833720171974254459">"deleno"</item>
-    <item msgid="2646574635189709515">"krát"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"mínus"</item>
-    <item msgid="3456824579675198186">" bod "</item>
-    <item msgid="4528629783180278651">"mocnina"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"sínus"</item>
-    <item msgid="3203211483560707480">"kosínus"</item>
-    <item msgid="8587490959348493065">"pí"</item>
-    <item msgid="8134315487552198394">"sa rovná"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Nie je číslo"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Chyba"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"CE"</string>
+    <string name="del" msgid="6700172918709138470">"←"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerovo číslo"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pí"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"desatinná čiarka"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ľavá zátvorka"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"pravá zátvorka"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosínus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"prirodzený logaritmus"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritmus"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sínus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"deleno"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktoriál"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"krát"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"umocnené na"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"druhá odmocnina"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"mínus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"vymazať"</string>
+    <string name="desc_del" msgid="1866733601083210032">"vymazať"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"sa rovná"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index c61d850..8289bd2 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Računalo"</string>
-    <string name="error" msgid="9197457880925804499">"Napaka"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"IZBRIŠI"</string>
-    <string name="clear" msgid="8103610981407459768">"IZBRIS"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Osnovna plošča"</string>
-    <string name="advanced" msgid="7122495413742976492">"Plošča z dodatnimi nastavitvami"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Počisti zgodovino"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Besedilo je bilo kopirano."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"oklepaj"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"zaklepaj"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"fakulteta"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"naravni logaritem"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritem"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kvadratni koren"</string>
-    <string name="divDesc" msgid="7442623079124315427">"deli"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"pomnoži"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"decimalna vejica"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"potenca"</string>
-    <string name="delDesc" msgid="8211175878012032240">"izbriši"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"počisti"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangens"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulerjevo število"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"je enako"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"oklepaj"</item>
-    <item msgid="1688156211934459752">"zaklepaj"</item>
-    <item msgid="6664829080840305856">"fakulteta"</item>
-    <item msgid="2880199289575144121">"naravni logaritem"</item>
-    <item msgid="4398774906998694599">"logaritem"</item>
-    <item msgid="1791869359785943266">"kvadratni koren"</item>
-    <item msgid="6833720171974254459">"deljeno s"</item>
-    <item msgid="2646574635189709515">"pomnoženo s"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" točka "</item>
-    <item msgid="4528629783180278651">"potenca"</item>
-    <item msgid="4050948027333760159">"tangens"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"kosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"je enako"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Ni število"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Napaka"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"izb"</string>
+    <string name="del" msgid="6700172918709138470">"izb"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulerjevo število"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"pika"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"oklepaj"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"zaklepaj"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"naravni logaritem"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritem"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"deli"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fakulteta"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"krat"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"potenca"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadratni koren"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"počisti"</string>
+    <string name="desc_del" msgid="1866733601083210032">"izbriši"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"je enako"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 0345791..d33dd8b 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Калкулатор"</string>
-    <string name="error" msgid="9197457880925804499">"Грешка"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ИЗБРИШИ"</string>
-    <string name="clear" msgid="8103610981407459768">"ОБРИШИ"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"У"</string>
-    <string name="lg" msgid="873623857385418182">"евиденција"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Основна табла"</string>
-    <string name="advanced" msgid="7122495413742976492">"Напредна табла"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Обриши историју"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Текст је копиран."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"отворена заграда"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"затворена заграда"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"факторијел"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"природни логаритам"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"логаритам"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"квадратни корен"</string>
-    <string name="divDesc" msgid="7442623079124315427">"подели"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"помножи"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"плус"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"минус"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"зарез"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"степен"</string>
-    <string name="delDesc" msgid="8211175878012032240">"избриши"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"обриши"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"тангенс"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"синус"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"косинус"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Ојлеров број"</string>
-    <string name="piDesc" msgid="8838151606775021517">"пи"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"једнако"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"отворена заграда"</item>
-    <item msgid="1688156211934459752">"затворена заграда"</item>
-    <item msgid="6664829080840305856">"факторијел"</item>
-    <item msgid="2880199289575144121">"природни логаритам"</item>
-    <item msgid="4398774906998694599">"логаритам"</item>
-    <item msgid="1791869359785943266">"квадратни корен"</item>
-    <item msgid="6833720171974254459">"подељено са"</item>
-    <item msgid="2646574635189709515">"пута"</item>
-    <item msgid="3487936384379753697">"плус"</item>
-    <item msgid="8608534484562258856">"минус"</item>
-    <item msgid="3456824579675198186">" зарез "</item>
-    <item msgid="4528629783180278651">"степен"</item>
-    <item msgid="4050948027333760159">"тангенс"</item>
-    <item msgid="8716478860618683850">"синус"</item>
-    <item msgid="3203211483560707480">"косинус"</item>
-    <item msgid="8587490959348493065">"пи"</item>
-    <item msgid="8134315487552198394">"једнако"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Није број"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Грешка"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tg"</string>
+    <string name="clr" msgid="3126239559646368205">"C"</string>
+    <string name="del" msgid="6700172918709138470">"CE"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Ојлеров број"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"пи"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"зарез"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"отворена заграда"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"затворена заграда"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"природни логаритам"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логаритам"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"плус"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"подели"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факторијел"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"пута"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"степен"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"квадратни корен"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"минус"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"обриши"</string>
+    <string name="desc_del" msgid="1866733601083210032">"избриши"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"једнако"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index ba580aa..318d225 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kalkylator"</string>
-    <string name="error" msgid="9197457880925804499">"Fel"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"RADERA"</string>
-    <string name="clear" msgid="8103610981407459768">"Rensa"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Standardpanel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Avancerad panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Rensa historik"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Texten har kopierats."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"vänsterparentes"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"högerparentes"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"fakultet"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"naturlig logaritm"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"kvadratrot"</string>
-    <string name="divDesc" msgid="7442623079124315427">"dividera"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"multiplicera"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"plus"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"punkt"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"exponent"</string>
-    <string name="delDesc" msgid="8211175878012032240">"ta bort"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"rensa"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinus"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosinus"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Eulers tal"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"är lika med"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"vänsterparentes"</item>
-    <item msgid="1688156211934459752">"högerparentes"</item>
-    <item msgid="6664829080840305856">"fakultet"</item>
-    <item msgid="2880199289575144121">"naturlig logaritm"</item>
-    <item msgid="4398774906998694599">"logaritm"</item>
-    <item msgid="1791869359785943266">"kvadratrot"</item>
-    <item msgid="6833720171974254459">"dividerat med"</item>
-    <item msgid="2646574635189709515">"multiplicerat med"</item>
-    <item msgid="3487936384379753697">"plus"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" komma "</item>
-    <item msgid="4528629783180278651">"exponent"</item>
-    <item msgid="4050948027333760159">"tangent"</item>
-    <item msgid="8716478860618683850">"sinus"</item>
-    <item msgid="3203211483560707480">"cosinus"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"är lika med"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Inte ett tal"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Fel"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"CE"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eulers tal"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"komma "</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"vänsterparentes"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"högerparentes"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"naturlig logaritm"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"plus"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"delat med"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"fakultet"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"gånger"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"exponent"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadratrot"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"rensa"</string>
+    <string name="desc_del" msgid="1866733601083210032">"delete"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"är lika med"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 2bc864a..8c9b39b 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Kikokotoo"</string>
-    <string name="error" msgid="9197457880925804499">"Hitilafu"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"FUTA"</string>
-    <string name="clear" msgid="8103610981407459768">"FUT"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"Kwenye"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Paneli msingi"</string>
-    <string name="advanced" msgid="7122495413742976492">"Paneli pevu"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Futa historia"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Maandishi yamenakiliwa."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"mabano ya kushoto"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"mabano ya kulia"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"kiwanda"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logi asili"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logi"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"Kipeo cha pili"</string>
-    <string name="divDesc" msgid="7442623079124315427">"gawanya"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"zidisha"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"jumlisha"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"kutoa"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"nukta"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"nguvu"</string>
-    <string name="delDesc" msgid="8211175878012032240">"futa"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"futa"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"mstari"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sine"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosi"</string>
-    <string name="eDesc" msgid="6709583372168924068">"namba ya Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"sawa na"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"Mabano ya kushoto"</item>
-    <item msgid="1688156211934459752">"mabano ya kulia"</item>
-    <item msgid="6664829080840305856">"kiwanda"</item>
-    <item msgid="2880199289575144121">"logi asili"</item>
-    <item msgid="4398774906998694599">"logi"</item>
-    <item msgid="1791869359785943266">"Kipeo cha pili"</item>
-    <item msgid="6833720171974254459">"imegawanywa na"</item>
-    <item msgid="2646574635189709515">"imezidishwa na"</item>
-    <item msgid="3487936384379753697">"jumlisha"</item>
-    <item msgid="8608534484562258856">"kutoa"</item>
-    <item msgid="3456824579675198186">" mahali "</item>
-    <item msgid="4528629783180278651">"nguvu"</item>
-    <item msgid="4050948027333760159">"mstari"</item>
-    <item msgid="8716478860618683850">"sine"</item>
-    <item msgid="3203211483560707480">"kosi"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"sawa na"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Si nambari"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Hitilafu"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"2"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"In"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"futa"</string>
+    <string name="del" msgid="6700172918709138470">"futa"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Nambari ya Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"nukta"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"mabano ya kushoto"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"mabano ya kulia"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosini"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logi asili"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logi"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sini"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tanjenti"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"jumlisha"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"gawanya"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"zao mtiririko"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"zidisha"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"kipeo"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kipeo cha pili"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"kutoa"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"futa"</string>
+    <string name="desc_del" msgid="1866733601083210032">"futa"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"sawa na"</string>
 </resources>
diff --git a/res/values-sw600dp-land/styles.xml b/res/values-sw600dp-land/styles.xml
new file mode 100644
index 0000000..7de1e8a
--- /dev/null
+++ b/res/values-sw600dp-land/styles.xml
@@ -0,0 +1,93 @@
+<?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.
+  -->
+
+<!-- Styles for landscape 600dip-wide tablet (e.g. Nexus 7). -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="DisplayEditTextStyle.Formula">
+        <item name="android:paddingTop">72dip</item>
+        <item name="android:paddingBottom">26dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="minTextSize">48sp</item>
+        <item name="maxTextSize">80sp</item>
+        <item name="stepTextSize">8sp</item>
+    </style>
+
+    <style name="DisplayEditTextStyle.Result">
+        <item name="android:paddingTop">26dip</item>
+        <item name="android:paddingBottom">46dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="android:textSize">48sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Advanced">
+        <item name="android:layout_margin">6dip</item>
+        <item name="android:textColor">@color/pad_button_advanced_text_color</item>
+        <item name="android:textSize">27sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric">
+        <item name="android:layout_margin">6dip</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric.Equals">
+        <item name="android:visibility">gone</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator">
+        <item name="android:layout_margin">6dip</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator.Text">
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textSize">24sp</item>
+    </style>
+
+    <style name="PadLayoutStyle.Advanced">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">508</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:paddingStart">18dip</item>
+        <item name="android:paddingEnd">22dip</item>
+        <item name="android:columnCount">3</item>
+        <item name="android:rowCount">4</item>
+    </style>
+
+    <style name="PadLayoutStyle.Numeric">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">532</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:paddingStart">22dip</item>
+        <item name="android:paddingEnd">18dip</item>
+    </style>
+
+    <style name="PadLayoutStyle.Operator">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">240</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:paddingStart">18dip</item>
+        <item name="android:paddingEnd">18dip</item>
+    </style>
+
+</resources>
diff --git a/res/values-sw600dp-port/layout.xml b/res/values-sw600dp-port/layout.xml
new file mode 100644
index 0000000..46d71cb
--- /dev/null
+++ b/res/values-sw600dp-port/layout.xml
@@ -0,0 +1,20 @@
+<?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>
+    <item name="activity_calculator" type="layout">@layout/activity_calculator_tablet_port</item>
+</resources>
\ No newline at end of file
diff --git a/res/values-sw600dp-port/styles.xml b/res/values-sw600dp-port/styles.xml
index 799f6fe..3a4c188 100644
--- a/res/values-sw600dp-port/styles.xml
+++ b/res/values-sw600dp-port/styles.xml
@@ -1,18 +1,106 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!--
+  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
+  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
+    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>
-    <dimen name="group_padding">48sp</dimen>
+  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.
+  -->
+
+
+<!-- Styles for portrait 600dip-wide tablet (e.g. Nexus 7). -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="DisplayEditTextStyle.Formula">
+        <item name="android:paddingTop">72dip</item>
+        <item name="android:paddingBottom">32dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="minTextSize">48sp</item>
+        <item name="maxTextSize">80sp</item>
+        <item name="stepTextSize">8sp</item>
+    </style>
+
+    <style name="DisplayEditTextStyle.Result">
+        <item name="android:paddingTop">32dip</item>
+        <item name="android:paddingBottom">90dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="android:textSize">48sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Advanced">
+        <item name="android:layout_marginTop">8dip</item>
+        <item name="android:layout_marginBottom">8dip</item>
+        <item name="android:layout_marginStart">12dip</item>
+        <item name="android:layout_marginEnd">12dip</item>
+        <item name="android:textColor">@color/pad_button_advanced_text_color</item>
+        <item name="android:textSize">27sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric">
+        <item name="android:layout_margin">8dip</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric.Equals">
+        <item name="android:visibility">gone</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator">
+        <item name="android:layout_marginTop">8dip</item>
+        <item name="android:layout_marginBottom">8dip</item>
+        <item name="android:layout_marginStart">16dip</item>
+        <item name="android:layout_marginEnd">16dip</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator.Text">
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textSize">24sp</item>
+    </style>
+
+    <style name="PadLayoutStyle.Advanced">
+        <item name="android:layout_height">0dip</item>
+        <item name="android:layout_weight">256</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+        <item name="android:columnCount">6</item>
+        <item name="android:rowCount">2</item>
+    </style>
+
+    <style name="PadLayoutStyle.Numeric">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">532</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+    </style>
+
+    <style name="PadLayoutStyle.Operator">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">240</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">0dip</item>
+        <item name="android:paddingEnd">8dip</item>
+    </style>
+
+    <style name="PadLinearLayoutStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">0dip</item>
+        <item name="android:layout_weight">508</item>
+    </style>
+
 </resources>
diff --git a/res/values-sw600dp/arrays.xml b/res/values-sw600dp/arrays.xml
deleted file mode 100644
index 219b3e5..0000000
--- a/res/values-sw600dp/arrays.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
- * Copyright 2011, The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
--->
-<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <array name="buttons">
-        <item>@+id/digit0</item>
-        <item>@+id/digit1</item>
-        <item>@+id/digit2</item>
-        <item>@+id/digit3</item>
-        <item>@+id/digit4</item>
-        <item>@+id/digit5</item>
-        <item>@+id/digit6</item>
-        <item>@+id/digit7</item>
-        <item>@+id/digit8</item>
-        <item>@+id/digit9</item>
-        <item>@+id/dot</item>
-        <item>@+id/plus</item>
-        <item>@+id/minus</item>
-        <item>@+id/div</item>
-        <item>@+id/mul</item>
-        <item>@+id/equal</item>
-        <item>@+id/leftParen</item>
-        <item>@+id/rightParen</item>
-        <item>@+id/sin</item>
-        <item>@+id/cos</item>
-        <item>@+id/tan</item>
-        <item>@+id/ln</item>
-        <item>@+id/lg</item>
-        <item>@+id/e</item>
-        <item>@+id/pi</item>
-        <item>@+id/power</item>
-        <item>@+id/factorial</item>
-        <item>@+id/sqrt</item>
-    </array>
-
-</resources>
\ No newline at end of file
diff --git a/res/values-sw600dp/styles.xml b/res/values-sw600dp/styles.xml
deleted file mode 100644
index 8676d59..0000000
--- a/res/values-sw600dp/styles.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-    <dimen name="btn_digit_text_size">50sp</dimen>
-    <dimen name="btn_operation_text_size">50sp</dimen>
-    <dimen name="btn_function_text_size">25sp</dimen>
-    <dimen name="btn_clear_text_size">40sp</dimen>
-    <dimen name="display_text_size">60sp</dimen>
-
-    <dimen name="left_right_padding">16sp</dimen>
-    <dimen name="top_bottom_padding">16sp</dimen>
-    <dimen name="group_padding">16sp</dimen>
-
-    <style name="display_style">
-       <item name="android:textSize">@dimen/display_text_size</item>
-       <item name="android:inputType">text|textNoSuggestions</item>
-       <item name="android:gravity">right|bottom</item>
-       <item name="android:layout_gravity">right|bottom</item>
-       <item name="android:textColor">#ffffff</item>
-       <item name="android:maxLines">1</item>
-       <item name="android:scrollbars">none</item>
-       <item name="android:scrollHorizontally">true</item>
-       <item name="android:layout_width">match_parent</item>
-       <item name="android:layout_height">wrap_content</item>
-       <item name="android:paddingTop">8dp</item>
-       <item name="android:paddingLeft">8dp</item>
-       <item name="android:paddingRight">8dp</item>
-       <item name="android:paddingBottom">0dp</item>
-    </style>
-</resources>
\ No newline at end of file
diff --git a/res/values-sw800dp-land/styles.xml b/res/values-sw800dp-land/styles.xml
index 9d1c26c..da69230 100644
--- a/res/values-sw800dp-land/styles.xml
+++ b/res/values-sw800dp-land/styles.xml
@@ -1,20 +1,93 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!--
+  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
+  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
+    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>
-    <dimen name="left_right_padding">48sp</dimen>
-    <dimen name="top_bottom_padding">48sp</dimen>
-    <dimen name="group_padding">48sp</dimen>
+  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.
+  -->
+
+<!-- Styles for landscape 800dip-wide tablet (e.g. Nexus 10). -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="DisplayEditTextStyle.Formula">
+        <item name="android:paddingTop">72dip</item>
+        <item name="android:paddingBottom">26dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="minTextSize">56sp</item>
+        <item name="maxTextSize">96sp</item>
+        <item name="stepTextSize">8sp</item>
+    </style>
+
+    <style name="DisplayEditTextStyle.Result">
+        <item name="android:paddingTop">26dip</item>
+        <item name="android:paddingBottom">46dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="android:textSize">56sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Advanced">
+        <item name="android:layout_margin">6dip</item>
+        <item name="android:textColor">@color/pad_button_advanced_text_color</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric">
+        <item name="android:layout_margin">6dip</item>
+        <item name="android:textSize">48sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric.Equals">
+        <item name="android:visibility">gone</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator">
+        <item name="android:layout_margin">6dip</item>
+        <item name="android:textSize">48sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator.Text">
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textSize">32sp</item>
+    </style>
+
+    <style name="PadLayoutStyle.Advanced">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">508</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:paddingStart">18dip</item>
+        <item name="android:paddingEnd">22dip</item>
+        <item name="android:columnCount">3</item>
+        <item name="android:rowCount">4</item>
+    </style>
+
+    <style name="PadLayoutStyle.Numeric">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">532</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:paddingStart">22dip</item>
+        <item name="android:paddingEnd">18dip</item>
+    </style>
+
+    <style name="PadLayoutStyle.Operator">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">240</item>
+        <item name="android:paddingTop">10dip</item>
+        <item name="android:paddingBottom">10dip</item>
+        <item name="android:paddingStart">18dip</item>
+        <item name="android:paddingEnd">18dip</item>
+    </style>
+
 </resources>
diff --git a/res/values-sw800dp-port/layout.xml b/res/values-sw800dp-port/layout.xml
new file mode 100644
index 0000000..46d71cb
--- /dev/null
+++ b/res/values-sw800dp-port/layout.xml
@@ -0,0 +1,20 @@
+<?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>
+    <item name="activity_calculator" type="layout">@layout/activity_calculator_tablet_port</item>
+</resources>
\ No newline at end of file
diff --git a/res/values-sw800dp-port/styles.xml b/res/values-sw800dp-port/styles.xml
index a6b181e..9b7475a 100644
--- a/res/values-sw800dp-port/styles.xml
+++ b/res/values-sw800dp-port/styles.xml
@@ -1,20 +1,105 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!--
+  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
+  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
+    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>
-    <dimen name="left_right_padding">32sp</dimen>
-    <dimen name="top_bottom_padding">64sp</dimen>
-    <dimen name="group_padding">72sp</dimen>
+  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.
+  -->
+
+<!-- Styles for portrait 800dip-wide tablet (e.g. Nexus 10). -->
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="DisplayEditTextStyle.Formula">
+        <item name="android:paddingTop">72dip</item>
+        <item name="android:paddingBottom">32dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="minTextSize">56sp</item>
+        <item name="maxTextSize">96sp</item>
+        <item name="stepTextSize">8sp</item>
+    </style>
+
+    <style name="DisplayEditTextStyle.Result">
+        <item name="android:paddingTop">32dip</item>
+        <item name="android:paddingBottom">90dip</item>
+        <item name="android:paddingStart">44dip</item>
+        <item name="android:paddingEnd">44dip</item>
+        <item name="android:textSize">56sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Advanced">
+        <item name="android:layout_marginTop">8dip</item>
+        <item name="android:layout_marginBottom">8dip</item>
+        <item name="android:layout_marginStart">12dip</item>
+        <item name="android:layout_marginEnd">12dip</item>
+        <item name="android:textColor">@color/pad_button_advanced_text_color</item>
+        <item name="android:textSize">36sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric">
+        <item name="android:layout_margin">8dip</item>
+        <item name="android:textSize">48sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Numeric.Equals">
+        <item name="android:visibility">gone</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator">
+        <item name="android:layout_marginTop">8dip</item>
+        <item name="android:layout_marginBottom">8dip</item>
+        <item name="android:layout_marginStart">16dip</item>
+        <item name="android:layout_marginEnd">16dip</item>
+        <item name="android:textSize">48sp</item>
+    </style>
+
+    <style name="PadButtonStyle.Operator.Text">
+        <item name="android:textAllCaps">true</item>
+        <item name="android:textSize">32sp</item>
+    </style>
+
+    <style name="PadLayoutStyle.Advanced">
+        <item name="android:layout_height">0dip</item>
+        <item name="android:layout_weight">256</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+        <item name="android:columnCount">6</item>
+        <item name="android:rowCount">2</item>
+    </style>
+
+    <style name="PadLayoutStyle.Numeric">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">532</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">16dip</item>
+        <item name="android:paddingEnd">16dip</item>
+    </style>
+
+    <style name="PadLayoutStyle.Operator">
+        <item name="android:layout_width">0dip</item>
+        <item name="android:layout_weight">240</item>
+        <item name="android:paddingTop">8dip</item>
+        <item name="android:paddingBottom">8dip</item>
+        <item name="android:paddingStart">0dip</item>
+        <item name="android:paddingEnd">8dip</item>
+    </style>
+
+    <style name="PadLinearLayoutStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">0dip</item>
+        <item name="android:layout_weight">508</item>
+    </style>
+
 </resources>
diff --git a/res/values-sw800dp/styles.xml b/res/values-sw800dp/styles.xml
deleted file mode 100644
index 9dd6b4e..0000000
--- a/res/values-sw800dp/styles.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-<resources>
-    <dimen name="btn_digit_text_size">64sp</dimen>
-    <dimen name="btn_operation_text_size">64sp</dimen>
-    <dimen name="btn_function_text_size">32sp</dimen>
-    <dimen name="btn_clear_text_size">48sp</dimen>
-    <dimen name="display_text_size">72sp</dimen>
-</resources>
diff --git a/res/values-ta-rIN/strings.xml b/res/values-ta-rIN/strings.xml
new file mode 100644
index 0000000..e2ad3c8
--- /dev/null
+++ b/res/values-ta-rIN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"கணிப்பான்"</string>
+    <string name="error_nan" msgid="4071578355972369426">"எண் அல்ல"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"பிழை"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"காஸ்"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"மடக்கை"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"சைன்"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"டேன்"</string>
+    <string name="clr" msgid="3126239559646368205">"அழி"</string>
+    <string name="del" msgid="6700172918709138470">"நீக்கு"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ஆய்லரின் எண்"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"பை"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"புள்ளி"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"இடது அடைப்புக்குறி"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"வலது அடைப்புக்குறி"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"கோசைன்"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"இயல் மடக்கை"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"மடக்கை"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"சைன்"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"டேன்ஜென்ட்"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"பிளஸ்"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"வகுத்தல்"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"காரணியப் பெருக்கம்"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"பெருக்கல்"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"அடுக்கு"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"வர்க்க மூலம்"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"கழித்தல்"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"அழி"</string>
+    <string name="desc_del" msgid="1866733601083210032">"நீக்கு"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"சமக்குறி"</string>
+</resources>
diff --git a/res/values-ta-rTN/strings.xml b/res/values-ta-rTN/strings.xml
new file mode 100644
index 0000000..e2ad3c8
--- /dev/null
+++ b/res/values-ta-rTN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"கணிப்பான்"</string>
+    <string name="error_nan" msgid="4071578355972369426">"எண் அல்ல"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"பிழை"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"காஸ்"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"மடக்கை"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"சைன்"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"டேன்"</string>
+    <string name="clr" msgid="3126239559646368205">"அழி"</string>
+    <string name="del" msgid="6700172918709138470">"நீக்கு"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"ஆய்லரின் எண்"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"பை"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"புள்ளி"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"இடது அடைப்புக்குறி"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"வலது அடைப்புக்குறி"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"கோசைன்"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"இயல் மடக்கை"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"மடக்கை"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"சைன்"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"டேன்ஜென்ட்"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"பிளஸ்"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"வகுத்தல்"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"காரணியப் பெருக்கம்"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"பெருக்கல்"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"அடுக்கு"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"வர்க்க மூலம்"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"கழித்தல்"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"அழி"</string>
+    <string name="desc_del" msgid="1866733601083210032">"நீக்கு"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"சமக்குறி"</string>
+</resources>
diff --git a/res/values-te-rAP/strings.xml b/res/values-te-rAP/strings.xml
new file mode 100644
index 0000000..d86688e
--- /dev/null
+++ b/res/values-te-rAP/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"గణనయంత్రం"</string>
+    <string name="error_nan" msgid="4071578355972369426">"సంఖ్య కాదు"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"లోపం"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"యూలర్ సంఖ్య"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"పై"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"బిందువు"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ఎడమ కుండలీకరణం"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"కుడి కుండలీకరణం"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"కొసైన్"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"సహజ సంవర్గమానం"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"సంవర్గమానం"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"సైన్"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ట్యాంజెంట్"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"కూడిక"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"భాగహారం"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"క్రమగుణితం"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"గుణకారం"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ఘాతం"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"వర్గమూలం"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"తీసివేత"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"క్లియర్ చేయి"</string>
+    <string name="desc_del" msgid="1866733601083210032">"తొలగించు"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"సమాన గుర్తు"</string>
+</resources>
diff --git a/res/values-te-rIN/strings.xml b/res/values-te-rIN/strings.xml
new file mode 100644
index 0000000..d86688e
--- /dev/null
+++ b/res/values-te-rIN/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"గణనయంత్రం"</string>
+    <string name="error_nan" msgid="4071578355972369426">"సంఖ్య కాదు"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"లోపం"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"యూలర్ సంఖ్య"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"పై"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"బిందువు"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ఎడమ కుండలీకరణం"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"కుడి కుండలీకరణం"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"కొసైన్"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"సహజ సంవర్గమానం"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"సంవర్గమానం"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"సైన్"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ట్యాంజెంట్"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"కూడిక"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"భాగహారం"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"క్రమగుణితం"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"గుణకారం"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ఘాతం"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"వర్గమూలం"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"తీసివేత"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"క్లియర్ చేయి"</string>
+    <string name="desc_del" msgid="1866733601083210032">"తొలగించు"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"సమాన గుర్తు"</string>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ce74db2..b934494 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"คิดเลข"</string>
-    <string name="error" msgid="9197457880925804499">"ข้อผิดพลาด"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"DELETE"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"แผงควบคุมพื้นฐาน"</string>
-    <string name="advanced" msgid="7122495413742976492">"แผงควบคุมขั้นสูง"</string>
-    <string name="clear_history" msgid="8458043980601165012">"ล้างประวัติ"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"คัดลอกข้อความแล้ว"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"วงเล็บซ้าย"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"วงเล็บขวา"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"แฟกทอเรียล"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"ลอการิทึมธรรมชาติ"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"ลอการิทึม"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"รากที่สอง"</string>
-    <string name="divDesc" msgid="7442623079124315427">"หาร"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"คูณ"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"บวก"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"ลบ"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"จุด"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"ยกกำลัง"</string>
-    <string name="delDesc" msgid="8211175878012032240">"ลบ"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"ล้าง"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"แทนเจนต์"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"ไซน์"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"โคไซน์"</string>
-    <string name="eDesc" msgid="6709583372168924068">"จำนวนออยเลอร์"</string>
-    <string name="piDesc" msgid="8838151606775021517">"พาย"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"เท่ากับ"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"วงเล็บซ้าย"</item>
-    <item msgid="1688156211934459752">"วงเล็บขวา"</item>
-    <item msgid="6664829080840305856">"แฟกทอเรียล"</item>
-    <item msgid="2880199289575144121">"ลอการิทึมธรรมชาติ"</item>
-    <item msgid="4398774906998694599">"ลอการิทึม"</item>
-    <item msgid="1791869359785943266">"รากที่สอง"</item>
-    <item msgid="6833720171974254459">"หารด้วย"</item>
-    <item msgid="2646574635189709515">"คูณด้วย"</item>
-    <item msgid="3487936384379753697">"บวก"</item>
-    <item msgid="8608534484562258856">"ลบ"</item>
-    <item msgid="3456824579675198186">" จุด "</item>
-    <item msgid="4528629783180278651">"ยกกำลัง"</item>
-    <item msgid="4050948027333760159">"แทนเจนต์"</item>
-    <item msgid="8716478860618683850">"ไซน์"</item>
-    <item msgid="3203211483560707480">"โคไซน์"</item>
-    <item msgid="8587490959348493065">"พาย"</item>
-    <item msgid="8134315487552198394">"เท่ากับ"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"ไม่ใช่ตัวเลข"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"พบข้อผิดพลาด"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"จำนวนออยเลอร์"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"พาย"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"จุด"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"วงเล็บซ้าย"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"วงเล็บขวา"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"โคไซน์"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"ลอการิทึมธรรมชาติ"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"ลอการิทึม"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"ไซน์"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"แทนเจนต์"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"บวก"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"หาร"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"แฟกทอเรียล"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"คูณ"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"ยกกำลัง"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"รากที่สอง"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ลบ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"ล้าง"</string>
+    <string name="desc_del" msgid="1866733601083210032">"ลบ"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"เท่ากับ"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 181df8e..d549d57 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Calculator"</string>
-    <string name="error" msgid="9197457880925804499">"Error"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"TANGGALIN"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Pangunahing panel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Advanced na panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"I-clear ang kasaysayan"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Nakopya ang teksto."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"kaliwang panaklong"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"kanang panaklong"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"factorial"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"natural na logarithm"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logarithm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"square root"</string>
-    <string name="divDesc" msgid="7442623079124315427">"hatiin"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"paramihin"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"dagdagan ng"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"minus"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"tuldok"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"power"</string>
-    <string name="delDesc" msgid="8211175878012032240">"tanggalin"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"i-clear"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sine"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosine"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Euler\'s number"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"katumbas ng"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"kaliwang panaklong"</item>
-    <item msgid="1688156211934459752">"kanang panaklong"</item>
-    <item msgid="6664829080840305856">"factorial"</item>
-    <item msgid="2880199289575144121">"natural na logarithm"</item>
-    <item msgid="4398774906998694599">"logarithm"</item>
-    <item msgid="1791869359785943266">"square root"</item>
-    <item msgid="6833720171974254459">"hinati ng"</item>
-    <item msgid="2646574635189709515">"pinarami ng"</item>
-    <item msgid="3487936384379753697">"dagdagan ng"</item>
-    <item msgid="8608534484562258856">"minus"</item>
-    <item msgid="3456824579675198186">" point "</item>
-    <item msgid="4528629783180278651">"power"</item>
-    <item msgid="4050948027333760159">"tangent"</item>
-    <item msgid="8716478860618683850">"sine"</item>
-    <item msgid="3203211483560707480">"cosine"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"katumbas ng"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Hindi isang numero"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Error"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler\'s number"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"tuldok"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"kaliwang panaklong"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"kanang panaklong"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosine"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natural na logarithm"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarithm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sine"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"dagdagan ng"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"hatiin"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"factorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"beses"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"power"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"square root"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"minus"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"i-clear"</string>
+    <string name="desc_del" msgid="1866733601083210032">"tanggalin"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"katumbas ng"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 9a2cc61..aaa5659 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Hesap Makinesi"</string>
-    <string name="error" msgid="9197457880925804499">"Hata"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SİL"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Ana panel"</string>
-    <string name="advanced" msgid="7122495413742976492">"Gelişmiş panel"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Geçmişi temizle"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Metin kopyalandı."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"sol parantez"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"sağ parantez"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"faktöryel"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"doğal logaritma"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logaritma"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"karekök"</string>
-    <string name="divDesc" msgid="7442623079124315427">"böl"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"çarpı"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"artı"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"eksi"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"virgül"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"üstü"</string>
-    <string name="delDesc" msgid="8211175878012032240">"sil"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"temizle"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tanjant"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sinüs"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"kosinüs"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Euler sayısı"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"eşittir"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"sol parantez"</item>
-    <item msgid="1688156211934459752">"sağ parantez"</item>
-    <item msgid="6664829080840305856">"faktöryel"</item>
-    <item msgid="2880199289575144121">"doğal logaritma"</item>
-    <item msgid="4398774906998694599">"logaritma"</item>
-    <item msgid="1791869359785943266">"karekök"</item>
-    <item msgid="6833720171974254459">"bölü"</item>
-    <item msgid="2646574635189709515">"çarpı"</item>
-    <item msgid="3487936384379753697">"artı"</item>
-    <item msgid="8608534484562258856">"eksi"</item>
-    <item msgid="3456824579675198186">" nokta "</item>
-    <item msgid="4528629783180278651">"üstü"</item>
-    <item msgid="4050948027333760159">"tanjant"</item>
-    <item msgid="8716478860618683850">"sinüs"</item>
-    <item msgid="3203211483560707480">"kosinüs"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"eşittir"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Sayı değil"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Hata"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"tmzl"</string>
+    <string name="del" msgid="6700172918709138470">"sil"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Euler sayısı"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"nokta"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"sol parantez"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"sağ parantez"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinüs"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"doğal logaritma"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logaritma"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinüs"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tanjant"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"artı"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"bölü"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktöryel"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"çarpı"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"üstü"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"karekök"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"eksi"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"temizle"</string>
+    <string name="desc_del" msgid="1866733601083210032">"sil"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"eşittir"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index d2801ca..bee1bd9 100755
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Калькулятор"</string>
-    <string name="error" msgid="9197457880925804499">"Помилка"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"ВИДАЛИТИ"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tg"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Основна панель"</string>
-    <string name="advanced" msgid="7122495413742976492">"Розширена панель"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Очистити історію"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Текст скопійовано."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"ліва дужка"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"права дужка"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"факторіал"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"натуральний логарифм"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"логарифм"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"квадратний корінь"</string>
-    <string name="divDesc" msgid="7442623079124315427">"ділення"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"множення"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"плюс"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"мінус"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"крапка"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"показник ступеня"</string>
-    <string name="delDesc" msgid="8211175878012032240">"видалити"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"очистити"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"тангенс"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"синус"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"косинус"</string>
-    <string name="eDesc" msgid="6709583372168924068">"число Ейлера"</string>
-    <string name="piDesc" msgid="8838151606775021517">"пі"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"дорівнює"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"ліва дужка"</item>
-    <item msgid="1688156211934459752">"права дужка"</item>
-    <item msgid="6664829080840305856">"факторіал"</item>
-    <item msgid="2880199289575144121">"натуральний логарифм"</item>
-    <item msgid="4398774906998694599">"логарифм"</item>
-    <item msgid="1791869359785943266">"квадратний корінь"</item>
-    <item msgid="6833720171974254459">"поділити на"</item>
-    <item msgid="2646574635189709515">"помножити на"</item>
-    <item msgid="3487936384379753697">"плюс"</item>
-    <item msgid="8608534484562258856">"мінус"</item>
-    <item msgid="3456824579675198186">" крапка "</item>
-    <item msgid="4528629783180278651">"показник ступеня"</item>
-    <item msgid="4050948027333760159">"тангенс"</item>
-    <item msgid="8716478860618683850">"синус"</item>
-    <item msgid="3203211483560707480">"косинус"</item>
-    <item msgid="8587490959348493065">"пі"</item>
-    <item msgid="8134315487552198394">"дорівнює"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Не число"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Помилка"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"С"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"число Ейлера"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"пі"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"крапка"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"ліва дужка"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"права дужка"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"косинус"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"натуральний логарифм"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"логарифм"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"синус"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"тангенс"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"плюс"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"ділення"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"факторіал"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"множення"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"степінь"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"квадратний корінь"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"мінус"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"очистити"</string>
+    <string name="desc_del" msgid="1866733601083210032">"видалити"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"дорівнює"</string>
 </resources>
diff --git a/res/values-ur-rPK/strings.xml b/res/values-ur-rPK/strings.xml
new file mode 100644
index 0000000..8e92795
--- /dev/null
+++ b/res/values-ur-rPK/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"کیلکولیٹر"</string>
+    <string name="error_nan" msgid="4071578355972369426">"نمبر نہیں ہے"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"خرابی"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"‏Euler کا نمبر"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"پوائنٹ"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"بایاں قوسین"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"دایاں قوسین"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"کوسائن"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"نیچرل لاگردھم"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"لاگردھم"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"سائن"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"ٹینجنٹ"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"جمع"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"تقسیم"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"فیکٹوریل"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"گُنا"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"پاور"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"جذر مربع"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"منفی"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"صاف کریں"</string>
+    <string name="desc_del" msgid="1866733601083210032">"حذف کریں"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"برابر"</string>
+</resources>
diff --git a/res/values-uz-rUZ/strings.xml b/res/values-uz-rUZ/strings.xml
new file mode 100644
index 0000000..1c297dd
--- /dev/null
+++ b/res/values-uz-rUZ/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"Kalkulator"</string>
+    <string name="error_nan" msgid="4071578355972369426">"Son emas"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Xato"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"tzl"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Eyler soni"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"nuqta"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"chap qavs"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"o‘ng qavs"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"kosinus"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"natural logarifm"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarifm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sinus"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangens"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"qo‘shuv"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"bo‘lish"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"faktorial"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"ko‘paytirish"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"darajada"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"kvadrat ildiz"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"ayiruv"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"tozalash"</string>
+    <string name="desc_del" msgid="1866733601083210032">"o‘chirish"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"barobar"</string>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 31527ee..638bc67 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Máy tính"</string>
-    <string name="error" msgid="9197457880925804499">"Lỗi"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"XOÁ"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"ghi"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Bảng điều khiển cơ bản"</string>
-    <string name="advanced" msgid="7122495413742976492">"Bảng điều khiển nâng cao"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Xóa lịch sử"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Đã sao chép văn bản."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"dấu ngoặc trái"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"dấu ngoặc phải"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"giai thừa"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"logarit tự nhiên"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"logarit"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"dấu khai căn"</string>
-    <string name="divDesc" msgid="7442623079124315427">"chia"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"nhân"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"cộng"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"trừ"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"điểm"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"lũy thừa"</string>
-    <string name="delDesc" msgid="8211175878012032240">"xóa"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"xóa"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"tiếp tuyến"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"sin"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"cosin"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Số Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"bằng"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"dấu ngoặc trái"</item>
-    <item msgid="1688156211934459752">"dấu ngoặc phải"</item>
-    <item msgid="6664829080840305856">"giai thừa"</item>
-    <item msgid="2880199289575144121">"logarit tự nhiên"</item>
-    <item msgid="4398774906998694599">"logarit"</item>
-    <item msgid="1791869359785943266">"dấu khai căn"</item>
-    <item msgid="6833720171974254459">"chia cho"</item>
-    <item msgid="2646574635189709515">"nhân với"</item>
-    <item msgid="3487936384379753697">"cộng"</item>
-    <item msgid="8608534484562258856">"trừ"</item>
-    <item msgid="3456824579675198186">" điểm "</item>
-    <item msgid="4528629783180278651">"lũy thừa"</item>
-    <item msgid="4050948027333760159">"tiếp tuyến"</item>
-    <item msgid="8716478860618683850">"sin"</item>
-    <item msgid="3203211483560707480">"cosin"</item>
-    <item msgid="8587490959348493065">"pi"</item>
-    <item msgid="8134315487552198394">"bằng"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Không phải số"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Lỗi"</string>
+    <string name="dec_point" msgid="6555721211126788808">","</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"del"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Số Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"chấm"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"dấu ngoặc trái"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"dấu ngoặc phải"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosin"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logarit tự nhiên"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarit"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sin"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tang"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"cộng"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"chia"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"giai thừa"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"nhân"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"lũy thừa"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"dấu khai căn"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"trừ"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"xóa"</string>
+    <string name="desc_del" msgid="1866733601083210032">"xóa"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"bằng"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index be93218..a30962b 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"计算器"</string>
-    <string name="error" msgid="9197457880925804499">"出错"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"删除"</string>
-    <string name="clear" msgid="8103610981407459768">"清除"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"基本面板"</string>
-    <string name="advanced" msgid="7122495413742976492">"高级面板"</string>
-    <string name="clear_history" msgid="8458043980601165012">"清除历史记录"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"文本已复制。"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"左括号"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"右括号"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"阶乘"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"自然对数"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"对数"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"平方根"</string>
-    <string name="divDesc" msgid="7442623079124315427">"除"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"乘"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"加"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"减"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"小数点"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"幂"</string>
-    <string name="delDesc" msgid="8211175878012032240">"删除"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"清除"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"正切"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"正弦"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"余弦"</string>
-    <string name="eDesc" msgid="6709583372168924068">"欧拉数"</string>
-    <string name="piDesc" msgid="8838151606775021517">"圆周率"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"等于"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"左括号"</item>
-    <item msgid="1688156211934459752">"右括号"</item>
-    <item msgid="6664829080840305856">"阶乘"</item>
-    <item msgid="2880199289575144121">"自然对数"</item>
-    <item msgid="4398774906998694599">"对数"</item>
-    <item msgid="1791869359785943266">"平方根"</item>
-    <item msgid="6833720171974254459">"除以"</item>
-    <item msgid="2646574635189709515">"乘"</item>
-    <item msgid="3487936384379753697">"加"</item>
-    <item msgid="8608534484562258856">"减"</item>
-    <item msgid="3456824579675198186">"点"</item>
-    <item msgid="4528629783180278651">"幂"</item>
-    <item msgid="4050948027333760159">"正切"</item>
-    <item msgid="8716478860618683850">"正弦"</item>
-    <item msgid="3203211483560707480">"余弦"</item>
-    <item msgid="8587490959348493065">"圆周率"</item>
-    <item msgid="8134315487552198394">"等于"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"不是数字"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"错误"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"ln"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"清除"</string>
+    <string name="del" msgid="6700172918709138470">"删除"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"欧拉数"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"圆周率"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"点"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"左括号"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"右括号"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"余弦"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"自然对数"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"对数"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"正弦"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"正切"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"加"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"除"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"阶乘"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"乘"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"幂数"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"平方根"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"减"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"清除"</string>
+    <string name="desc_del" msgid="1866733601083210032">"删除"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"等于"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..d9a87fb
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,61 @@
+<?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="app_name" msgid="8095131950334945205">"計算機"</string>
+    <string name="error_nan" msgid="4071578355972369426">"並非數字"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"錯誤"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"COS"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"LN"</string>
+    <string name="fun_log" msgid="6856905045055937519">"LOG"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"SIN"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"TAN"</string>
+    <string name="clr" msgid="3126239559646368205">"CLR"</string>
+    <string name="del" msgid="6700172918709138470">"DEL"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"歐拉數"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"圓周率"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"小數點"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"左括弧"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"右括弧"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"餘弦"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"自然對數"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"對數"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"正弦"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"正切"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"加號"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"除號"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"階乘"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"乘號"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"指數"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"平方根"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"減號"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"清除"</string>
+    <string name="desc_del" msgid="1866733601083210032">"刪除"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"等號"</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index bceb3b9..262c98d 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"計算機"</string>
-    <string name="error" msgid="9197457880925804499">"錯誤"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"刪除"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"ln"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"基本面板"</string>
-    <string name="advanced" msgid="7122495413742976492">"進階面板"</string>
-    <string name="clear_history" msgid="8458043980601165012">"清除紀錄"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"文字已複製。"</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"左括弧"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"右括弧"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"階乘"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"自然對數"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"對數"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"平方根號"</string>
-    <string name="divDesc" msgid="7442623079124315427">"除號"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"乘號"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"加號"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"減號"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"點"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"指數"</string>
-    <string name="delDesc" msgid="8211175878012032240">"刪除"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"清除"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"正切函數"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"正弦函數"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"餘弦函數"</string>
-    <string name="eDesc" msgid="6709583372168924068">"尤拉數"</string>
-    <string name="piDesc" msgid="8838151606775021517">"圓周率符號"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"等於"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"左括弧"</item>
-    <item msgid="1688156211934459752">"右括弧"</item>
-    <item msgid="6664829080840305856">"階乘"</item>
-    <item msgid="2880199289575144121">"自然對數"</item>
-    <item msgid="4398774906998694599">"對數"</item>
-    <item msgid="1791869359785943266">"平方根號"</item>
-    <item msgid="6833720171974254459">"除以"</item>
-    <item msgid="2646574635189709515">"乘以"</item>
-    <item msgid="3487936384379753697">"加"</item>
-    <item msgid="8608534484562258856">"減"</item>
-    <item msgid="3456824579675198186">" 點 "</item>
-    <item msgid="4528629783180278651">"指數"</item>
-    <item msgid="4050948027333760159">"正切函數"</item>
-    <item msgid="8716478860618683850">"正弦函數"</item>
-    <item msgid="3203211483560707480">"餘弦函數"</item>
-    <item msgid="8587490959348493065">"圓周率"</item>
-    <item msgid="8134315487552198394">"等於"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"非數字"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"錯誤"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"COS"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"LN"</string>
+    <string name="fun_log" msgid="6856905045055937519">"LOG"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"SIN"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"TAN"</string>
+    <string name="clr" msgid="3126239559646368205">"CLR"</string>
+    <string name="del" msgid="6700172918709138470">"DEL"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"尤拉數"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"圓周率"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"點"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"左括弧"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"右括弧"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"餘弦"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"自然對數"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"對數"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"正弦"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"正切"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"加"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"除"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"階乘"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"乘"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"指數"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"平方根"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"減"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"清除"</string>
+    <string name="desc_del" msgid="1866733601083210032">"刪除"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"等於"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 706cfa2..14b01c8 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -1,84 +1,61 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!--  Copyright (C) 2007 The Android Open Source Project
+<!-- 
+  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
+  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
+    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.
- -->
+  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="app_name" msgid="8095131950334945205">"Isibali"</string>
-    <string name="error" msgid="9197457880925804499">"Iphutha"</string>
-    <string name="digit0" msgid="8069590963464434135">"0"</string>
-    <string name="digit1" msgid="8535041374797804029">"1"</string>
-    <string name="digit2" msgid="8977354203154316247">"2"</string>
-    <string name="digit3" msgid="148544090755132760">"3"</string>
-    <string name="digit4" msgid="2199490603838247678">"4"</string>
-    <string name="digit5" msgid="7568514524384173087">"5"</string>
-    <string name="digit6" msgid="6705952561049362551">"6"</string>
-    <string name="digit7" msgid="658125644218958447">"7"</string>
-    <string name="digit8" msgid="3134686906411558886">"8"</string>
-    <string name="digit9" msgid="765379157698748031">"9"</string>
-    <string name="del" msgid="6248896117422989693">"SUSA"</string>
-    <string name="clear" msgid="8103610981407459768">"CLR"</string>
-    <string name="sin" msgid="6793866152659175277">"sin"</string>
-    <string name="cos" msgid="6901841853098114414">"cos"</string>
-    <string name="tan" msgid="7957459816738554960">"tan"</string>
-    <string name="e" msgid="1377847800971731483">"e"</string>
-    <string name="ln" msgid="6888500680285403344">"In"</string>
-    <string name="lg" msgid="873623857385418182">"log"</string>
-    <string name="leftParen" msgid="4850643713953092099">"("</string>
-    <string name="rightParen" msgid="3177971166159324016">")"</string>
-    <string name="basic" msgid="7691469861698059753">"Iphaneli eyisisekelo"</string>
-    <string name="advanced" msgid="7122495413742976492">"Iphaneli ethuthukisiwe"</string>
-    <string name="clear_history" msgid="8458043980601165012">"Sula umlando"</string>
-    <string name="text_copied_toast" msgid="5801480710472541833">"Umbhalo okopishiwe."</string>
-    <string name="leftParenDesc" msgid="8446428211982811379">"ama-parenthesis esobunxele"</string>
-    <string name="rightParenDesc" msgid="9133691645148976523">"I-parenthesis yesokudla"</string>
-    <string name="factorialDesc" msgid="9217024218012761574">"ngokwesimo"</string>
-    <string name="lnDesc" msgid="1052579286300842270">"i-logarithm yemvelo"</string>
-    <string name="lgDesc" msgid="6490920451513731160">"i-logarithm"</string>
-    <string name="sqrtDesc" msgid="2247252128762219267">"Impande yesikwele"</string>
-    <string name="divDesc" msgid="7442623079124315427">"hlukanisa"</string>
-    <string name="mulDesc" msgid="9003016819648670694">"phindaphinda"</string>
-    <string name="plusDesc" msgid="3145322700823848264">"kuhlanganise"</string>
-    <string name="minusDesc" msgid="5033462008907390900">"susa"</string>
-    <string name="dotDesc" msgid="5253752241630161722">"iphoyinti"</string>
-    <string name="powerDesc" msgid="9034898318444176910">"Amandla"</string>
-    <string name="delDesc" msgid="8211175878012032240">"susa"</string>
-    <string name="clearDesc" msgid="8015748901120751476">"SULA"</string>
-    <string name="tanDesc" msgid="2055554933130702423">"i-tangent"</string>
-    <string name="sinDesc" msgid="6563285042235077204">"i-sine"</string>
-    <string name="cosDesc" msgid="4048942450207926538">"i-cosine"</string>
-    <string name="eDesc" msgid="6709583372168924068">"Inombolo ka-Euler"</string>
-    <string name="piDesc" msgid="8838151606775021517">"i-Pi"</string>
-    <string name="equalDesc" msgid="4164435100263313101">"okulinganayo"</string>
-  <string-array name="operatorDescs">
-    <item msgid="7903565108986789641">"ama-parenthesis esobunxele"</item>
-    <item msgid="1688156211934459752">"I-parenthesis yesokudla"</item>
-    <item msgid="6664829080840305856">"ngokwesimo"</item>
-    <item msgid="2880199289575144121">"i-logarithm yemvelo"</item>
-    <item msgid="4398774906998694599">"i-logarithm"</item>
-    <item msgid="1791869359785943266">"Impande yesikwele"</item>
-    <item msgid="6833720171974254459">"ihlukaniswe nge"</item>
-    <item msgid="2646574635189709515">"kuphindaphindwa ngo"</item>
-    <item msgid="3487936384379753697">"kuhlanganise"</item>
-    <item msgid="8608534484562258856">"susa"</item>
-    <item msgid="3456824579675198186">" iphoyinti "</item>
-    <item msgid="4528629783180278651">"Amandla"</item>
-    <item msgid="4050948027333760159">"i-tangent"</item>
-    <item msgid="8716478860618683850">"i-sine"</item>
-    <item msgid="3203211483560707480">"i-cosine"</item>
-    <item msgid="8587490959348493065">"i-Pi"</item>
-    <item msgid="8134315487552198394">"okulinganayo"</item>
-  </string-array>
+    <string name="error_nan" msgid="4071578355972369426">"Akuyona inombolo"</string>
+    <string name="error_syntax" msgid="6940043994468390738">"Iphutha"</string>
+    <string name="dec_point" msgid="6555721211126788808">"."</string>
+    <string name="digit_0" msgid="697966218778843272">"0"</string>
+    <string name="digit_1" msgid="9009337429640544205">"1"</string>
+    <string name="digit_2" msgid="7722707864768133877">"2"</string>
+    <string name="digit_3" msgid="5813321444694024561">"3"</string>
+    <string name="digit_4" msgid="4768173444612236144">"4"</string>
+    <string name="digit_5" msgid="2015349411036328271">"5"</string>
+    <string name="digit_6" msgid="7350999202882497047">"6"</string>
+    <string name="digit_7" msgid="2386463125354638611">"7"</string>
+    <string name="digit_8" msgid="6298159258090202166">"8"</string>
+    <string name="digit_9" msgid="1221342734731110246">"9"</string>
+    <string name="fun_cos" msgid="7312559527731358211">"cos"</string>
+    <string name="fun_ln" msgid="6282013842946532944">"In"</string>
+    <string name="fun_log" msgid="6856905045055937519">"log"</string>
+    <string name="fun_sin" msgid="7136698561875496766">"sin"</string>
+    <string name="fun_tan" msgid="9116158377794370341">"tan"</string>
+    <string name="clr" msgid="3126239559646368205">"clr"</string>
+    <string name="del" msgid="6700172918709138470">"sula"</string>
+    <string name="desc_const_e" msgid="7752508267661034194">"Inombolo ye-Euler"</string>
+    <string name="desc_const_pi" msgid="5843835548313660468">"pi"</string>
+    <string name="desc_dec_point" msgid="6211527612960070934">"iphoyinti"</string>
+    <string name="desc_lparen" msgid="3319203240269597504">"abakaki abakwesokunxele"</string>
+    <string name="desc_rparen" msgid="7629704943022422763">"abakaki abakwesokudla"</string>
+    <string name="desc_fun_cos" msgid="3197307754450718348">"cosine"</string>
+    <string name="desc_fun_ln" msgid="4943842219071979148">"logarithm yemvelo"</string>
+    <string name="desc_fun_log" msgid="6163178034661345125">"logarithm"</string>
+    <string name="desc_fun_sin" msgid="4010564022860883142">"sine"</string>
+    <string name="desc_fun_tan" msgid="8547330421304946587">"tangent"</string>
+    <string name="desc_op_add" msgid="1174812755738083078">"hlanganisa"</string>
+    <string name="desc_op_div" msgid="8320455802423478031">"hlukanisa"</string>
+    <string name="desc_op_fact" msgid="5004950609277631750">"ngokwesimo"</string>
+    <string name="desc_op_mul" msgid="978652245185868311">"izikhathi"</string>
+    <string name="desc_op_pow" msgid="2620877401884059447">"amandla"</string>
+    <string name="desc_op_sqrt" msgid="4405610392216554239">"impande yesikwele"</string>
+    <string name="desc_op_sub" msgid="2563060630032563021">"susa"</string>
+    <string name="desc_clr" msgid="8357371663749541924">"sula"</string>
+    <string name="desc_del" msgid="1866733601083210032">"susa"</string>
+    <string name="desc_eq" msgid="8068773095462472408">"okulinganayo"</string>
 </resources>
diff --git a/res/values/attr.xml b/res/values/attr.xml
new file mode 100644
index 0000000..5043663
--- /dev/null
+++ b/res/values/attr.xml
@@ -0,0 +1,26 @@
+<?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">
+
+    <declare-styleable name="CalculatorEditText">
+        <attr name="minTextSize" format="dimension" />
+        <attr name="maxTextSize" format="dimension" />
+        <attr name="stepTextSize" format="dimension" />
+    </declare-styleable>
+
+</resources>
diff --git a/res/values/color.xml b/res/values/color.xml
new file mode 100644
index 0000000..f7a68e7
--- /dev/null
+++ b/res/values/color.xml
@@ -0,0 +1,53 @@
+<?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>
+
+    <!-- Default background color for the status bar. -->
+    <color name="calculator_accent_color">#00BCD4</color>
+
+    <!-- Color to indicate an error has occured. -->
+    <color name="calculator_error_color">#F40056</color>
+
+    <!-- Background color of the calculator display. -->
+    <color name="display_background_color">#FFF</color>
+
+    <!-- Text color for the formula in the calculator display. -->
+    <color name="display_formula_text_color">#AAA</color>
+
+    <!-- Text color for the result in the calculator display. -->
+    <color name="display_result_text_color">#CCC</color>
+
+    <!-- Background color for the numeric pad. -->
+    <color name="pad_numeric_background_color">#434343</color>
+
+    <!-- Background color for the operator pad. -->
+    <color name="pad_operator_background_color">#636363</color>
+
+    <!-- Background color for the advanced pad. -->
+    <color name="pad_advanced_background_color">#1DE9B6</color>
+
+    <!-- Text color for a button in a pad. -->
+    <color name="pad_button_text_color">#FFF</color>
+
+    <!-- Text color for a button in the advanced pad. -->
+    <color name="pad_button_advanced_text_color">#85000000</color>
+
+    <!-- Ripple color when a button is pressed in a pad. -->
+    <color name="pad_button_ripple_color">#80FFFFFF</color>
+
+</resources>
\ No newline at end of file
diff --git a/res/values/colors.xml b/res/values/colors.xml
deleted file mode 100644
index 54171e9..0000000
--- a/res/values/colors.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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>
-    <color name="magic_flame">#00ffffff</color>
-    <color name="button_text">#ffffffff</color>
-</resources>
diff --git a/res/values/constants.xml b/res/values/constants.xml
deleted file mode 100644
index 98c14ec..0000000
--- a/res/values/constants.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<resources>
-    <integer name="max_digits">14</integer>
-</resources>
\ No newline at end of file
diff --git a/res/values/donottranslate_strings.xml b/res/values/donottranslate_strings.xml
new file mode 100644
index 0000000..69d2959
--- /dev/null
+++ b/res/values/donottranslate_strings.xml
@@ -0,0 +1,50 @@
+<?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>
+
+    <!-- Constant for Euler's number (i.e. "2.7182…"). [CHAR_LIMIT=1] -->
+    <string name="const_e">e</string>
+    <!-- Constant for pi (i.e. "3.1415…"). [CHAR_LIMIT=1] -->
+    <string name="const_pi">π</string>
+
+    <!-- Left parenthesis (e.g. "log(", "2 × (3 - 1)". [CHAR_LIMIT=1] -->
+    <string name="lparen">(</string>
+    <!-- Right parenthesis (e.g. "log(2)", "(3 - 1) × 2". [CHAR_LIMIT=1] -->
+    <string name="rparen">)</string>
+
+    <!-- Addition operator (e.g. "1 + 2"). [CHAR_LIMIT=1] -->
+    <string name="op_add">+</string>
+    <!-- Divide operator (e.g. "1 ÷ 2"). [CHAR_LIMIT=1] -->
+    <string name="op_div">÷</string>
+    <!-- Factorial operator (e.g. "2!"). [CHAR_LIMIT=1] -->
+    <string name="op_fact">!</string>
+    <!-- Multiply operator (e.g. "1 × 2"). [CHAR_LIMIT=1] -->
+    <string name="op_mul">×</string>
+    <!-- Power operator (e.g. "1 ^ 2"). [CHAR_LIMIT=1] -->
+    <string name="op_pow">^</string>
+    <!-- Square root operator (e.g. "√1"). [CHAR_LIMIT=1] -->
+    <string name="op_sqrt">√</string>
+    <!-- Subtraction operator (e.g. "1 - 2"). [CHAR_LIMIT=1] -->
+    <string name="op_sub">−</string>
+
+    <!-- Equals operator (e.g. "1 + 2 = ?"). [CHAR_LIMIT=1] -->
+    <string name="eq">=</string>
+    <!-- Result displayed when expression evaluates to infinity. [CHAR_LIMIT=1] -->
+    <string name="inf">∞</string>
+
+</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index a24cd4e..bcdd55e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1,192 +1,117 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
+<!--
+  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
+  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
+    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.
--->
+  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>
-    <!-- Application name -->
+
+    <!-- Name of the application. [CHAR_LIMIT=NONE] -->
     <string name="app_name">Calculator</string>
-    <!-- If there is a syntax error in the user entered calculation, an error dialog will appear.  This is the title. -->
-    <string name="error">Error</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit0">0</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit1">1</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit2">2</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit3">3</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit4">4</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit5">5</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit6">6</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit7">7</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit8">8</string>
-    <!-- Displayed numbers for the digit buttons -->
-    <string name="digit9">9</string>
-    <!-- Button name on screen to delete the last entered digit or operator -->
-    <string name="del">DELETE</string>
-    <!-- Button name on screen to clear the entire calculation field. [CHAR LIMIT=6] -->
-    <string name="clear">CLR</string>
-    <!-- Do not translate. Unicode division sign; don't translate. Displayed as button on screen. -->
-    <string name="div">\u00f7</string>
-    <!-- Do not translate. Unicode multiplication sign; don't translate. Displayed as button on screen. -->
-    <string name="mul">\u00d7</string>
-    <!-- Do not translate. Plus sign, displayed as button on screen -->
-    <string name="plus">+</string>
-    <!-- Do not translate. Unicode minus sign; don't translate. Displayed as button on screen. -->
-    <string name="minus">\u2212</string>
-    <!-- Do not translate. Decimal point; don't translate. Displayed as button on screen. -->
-    <string name="dot">.</string>
-    <!-- Do not translate. Equal sign; don't translate. Displayed as button on screen. -->
-    <string name="equal">=</string>
-    <!-- Do not translate. Down arrow; don't translate. Displayed as button on screen. -->
-    <string name="enter">\u2193</string>
-    <!-- Displayed on buttons on screen for the sin function. -->
-    <string name="sin">sin</string>
-    <!-- Do not translate. What we replace translated SIN with for calculating sin.-->
-    <string translate="false" name="sin_mathematical_value">sin</string>
-    <!-- Displayed on buttons on screen for the cos function. -->
-    <string name="cos">cos</string>
-    <!-- Do not translate. What we replace translated COS with for calculating cos. -->
-    <string translate="false" name="cos_mathematical_value">cos</string>
-    <!-- Displayed on buttons on screen for the tan function. -->
-    <string name="tan">tan</string>
-    <!-- Do not translate. What we replace translated TAN with for calculating tan. -->
-    <string translate="false" name="tan_mathematical_value">tan</string>
-    <!-- Do not translate. Unicode pi sign; don't translate. Displayed as button on screen. -->
-    <string name="pi">\u03c0</string>
-    <!-- Displayed on buttons on screen for the e function. -->
-    <string name="e">e</string>
-    <!-- Do not translate. What we replace translated e with for calculating e. -->
-    <string translate="false" name="e_mathematical_value">e</string>
-    <!-- Displayed on buttons on screen for the ln function. -->
-    <string name="ln">ln</string>
-    <!-- Do not translate. What we replace translated ln with for calculating ln. -->
-    <string translate="false" name="ln_mathematical_value">ln</string>
-    <!-- Displayed on buttons on screen for the log function. -->
-    <string name="lg">log</string>
-    <!-- Do not translate. What we replace translated lg with for calculating lg. -->
-    <string translate="false" name="lg_mathematical_value">lg</string>
-    <!-- Displayed on buttons on screen for a left parenthesis. -->
-    <string name="leftParen">(</string>
-    <!-- Displayed on buttons on screen for a right parenthesis. -->
-    <string name="rightParen">)</string>
-    <!-- Do not translate. Unicode square root sign; don't translate. Displayed on button on screen. -->
-    <string name="sqrt">\u221a</string>
-    <!-- Do not translate. Displayed on buttons on screen. -->
-    <string name="power">^</string>
-    <!-- Do not translate. -->
-    <string name="factorial">!</string>
-    <!-- Menu item text to take user to the screen with the basic digits and operators. -->
-    <string name="basic">Basic panel</string>
-    <!-- Menu item text to take user to the screen with the advanced functions, such as sin, cos, ln, log, etc. -->
-    <string name="advanced">Advanced panel</string>
-    <!-- Menu item text to clear the calculation history. -->
-    <string name="clear_history">Clear history</string>
-    <!-- Toast shown when text is copied to the clipboard. -->
-    <string name="text_copied_toast">Text copied.</string>
 
-    <!--Content descriptions for accessibility. These strings will be read aloud to users who are using the calculator with
-    accessibility features enabled and should reflect the mathematical concept instead of a direct representation of what is shown
-    on the button-->
-    <string name="leftParenDesc">left parenthesis</string>
-    <string name="rightParenDesc">right parenthesis</string>
-    <string name="factorialDesc">factorial</string>
-    <string name="lnDesc">natural logarithm</string>
-    <string name="lgDesc">logarithm</string>
-    <string name="sqrtDesc">square root</string>
-    <string name="divDesc">divide</string>
-    <string name="mulDesc">multiply</string>
-    <string name="plusDesc">plus</string>
-    <string name="minusDesc">minus</string>
-    <string name="dotDesc">point</string>
-    <string name="powerDesc">power</string>
-    <string name="delDesc">delete</string>
-    <string name="clearDesc">clear</string>
-    <string name="tanDesc">tangent</string>
-    <string name="sinDesc">sine</string>
-    <string name="cosDesc">cosine</string>
-    <string name="eDesc">Euler\'s number</string>
-    <string name="piDesc">pi</string>
-    <string name="equalDesc">equals</string>
+    <!-- Error displayed when expression evaluates to NaN. [CHAR_LIMIT=14] -->
+    <string name="error_nan">Not a number</string>
+    <!-- Error displayed when expression contains a syntax error. [CHAR_LIMIT=14] -->
+    <string name="error_syntax">Error</string>
 
-    <!--Content descriptions for accessibility used as keys when determining which mathematical
-    concept description to speak when accessibility features are enabled. Order of the array is
-    important. -->
-    <string-array name="operators" translatable="false">
-        <item>(</item>
-        <item>)</item>
-        <item>!</item>
-        <item>ln</item>
-        <item>log</item>
-        <item>\u221a</item>
-        <item>\u00f7</item>
-        <item>\u00d7</item>
-        <item>+</item>
-        <item>\u2212</item>
-        <item>.</item>
-        <item>^</item>
-        <item>tan</item>
-        <item>sin</item>
-        <item>cos</item>
-        <item>\u03c0</item>
-        <item>=</item>
-    </string-array>
+    <!-- Decimal separator (e.g. "1.23"). [CHAR_LIMIT=1] -->
+    <string name="dec_point">.</string>
 
-    <!--Content descriptions for accessibility. These strings will be read aloud to users who
-     are using the calculator with accessibility features enabled and hover over the edit text
-     field. These should reflect the mathematical concept instead of a direct representation of
-     what is shown in the text field. Order of the array is important.-->
-    <string-array name="operatorDescs">
-        <!-- Description for mathematical ( [CHAR LIMIT=200]-->
-        <item>left parenthesis</item>
-        <!-- Description for mathematical ) [CHAR LIMIT=200]-->
-        <item>right parenthesis</item>
-        <!-- Description for mathematical ! (factorial) function [CHAR LIMIT=200]-->
-        <item>factorial</item>
-        <!-- Description for mathematical ln [CHAR LIMIT=200]-->
-        <item>natural logarithm</item>
-        <!-- Description for mathematical log [CHAR LIMIT=200]-->
-        <item>logarithm</item>
-        <!-- Description for mathematical square root [CHAR LIMIT=200]-->
-        <item>square root</item>
-        <!-- Description for mathematical / [CHAR LIMIT=200]-->
-        <item>divided by</item>
-        <!-- Description for mathematical x [CHAR LIMIT=200]-->
-        <item>multiplied by</item>
-        <!-- Description for mathematical + [CHAR LIMIT=200]-->
-        <item>plus</item>
-        <!-- Description for mathematical - [CHAR LIMIT=200]-->
-        <item>minus</item>
-        <!-- Description for mathematical . [CHAR LIMIT=200]-->
-        <item>&#160;point&#160;</item>
-        <!-- Description for mathematical ^ [CHAR LIMIT=200]-->
-        <item>power</item>
-        <!-- Description for mathematical TAN [CHAR LIMIT=200]-->
-        <item>tangent</item>
-        <!-- Description for mathematical SIN [CHAR LIMIT=200]-->
-        <item>sine</item>
-        <!-- Description for mathematical COS [CHAR LIMIT=200]-->
-        <item>cosine</item>
-        <!-- Description for mathematical PI [CHAR LIMIT=200]-->
-        <item>pi</item>
-        <!-- Description for mathematical = [CHAR LIMIT=200]-->
-        <item>equals</item>
-    </string-array>
+    <!-- Decimal representation of zero (e.g. "0", "10", "1.0", "1e0"). [CHAR_LIMIT=1] -->
+    <string name="digit_0">0</string>
+    <!-- Decimal representation of one (e.g. "1", "11", "1.1", "1e1"). [CHAR_LIMIT=1] -->
+    <string name="digit_1">1</string>
+    <!-- Decimal representation of two (e.g. "2", "22", "2.2", "2e2"). [CHAR_LIMIT=1] -->
+    <string name="digit_2">2</string>
+    <!-- Decimal representation of three (e.g. "3", "33", "3.3", "3e3"). [CHAR_LIMIT=1] -->
+    <string name="digit_3">3</string>
+    <!-- Decimal representation of four (e.g. "4", "44", "4.4", "4e4"). [CHAR_LIMIT=1] -->
+    <string name="digit_4">4</string>
+    <!-- Decimal representation of five (e.g. "5", "55", "5.5", "5e5"). [CHAR_LIMIT=1] -->
+    <string name="digit_5">5</string>
+    <!-- Decimal representation of six (e.g. "6", "66", "6.6", "6e6"). [CHAR_LIMIT=1] -->
+    <string name="digit_6">6</string>
+    <!-- Decimal representation of seven (e.g. "7", "77", "7.7", "7e7"). [CHAR_LIMIT=1] -->
+    <string name="digit_7">7</string>
+    <!-- Decimal representation of eight (e.g. "8", "88", "8.8", "8e8"). [CHAR_LIMIT=1] -->
+    <string name="digit_8">8</string>
+    <!-- Decimal representation of eight (e.g. "9", "99", "9.9", "9e9"). [CHAR_LIMIT=1] -->
+    <string name="digit_9">9</string>
+
+    <!-- Abbrev. name of cosine function (e.g. "cos(π)". [CHAR_LIMIT=3] -->
+    <string name="fun_cos">cos</string>
+    <!-- Natural logarithm function (e.g. "ln(2)"). [CHAR_LIMIT=3] -->
+    <string name="fun_ln">ln</string>
+    <!-- Logarithm function (e.g. "log(10)"). [CHAR_LIMIT=3] -->
+    <string name="fun_log">log</string>
+    <!-- Abbrev. name of sine function (e.g. "sin(π)". [CHAR_LIMIT=3] -->
+    <string name="fun_sin">sin</string>
+    <!-- Abbrev. name of tangent function (e.g. "tan(π)". [CHAR_LIMIT=3] -->
+    <string name="fun_tan">tan</string>
+
+    <!-- Clear operation to clear the currently entered expression. [CHAR_LIMIT=3] -->
+    <string name="clr">clr</string>
+    <!-- Delete operation to remove last entered token. [CHAR_LIMIT=3] -->
+    <string name="del">del</string>
+
+    <!-- Content Descriptions -->
+    <eat-comment />
+
+    <!-- Content description for 'e' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_const_e">Euler\'s number</string>
+    <!-- Content description for 'π' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_const_pi">pi</string>
+
+    <!-- Content description for '.' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_dec_point">point</string>
+
+    <!-- Content description for '(' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_lparen">left parenthesis</string>
+    <!-- Content description for ')' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_rparen">right parenthesis</string>
+
+    <!-- Content description for 'cos' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_fun_cos">cosine</string>
+    <!-- Content description for 'ln' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_fun_ln">natural logarithm</string>
+    <!-- Content description for 'log' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_fun_log">logarithm</string>
+    <!-- Content description for 'sin' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_fun_sin">sine</string>
+    <!-- Content description for 'tan' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_fun_tan">tangent</string>
+
+    <!-- Content description for '+' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_add">plus</string>
+    <!-- Content description for '÷' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_div">divide</string>
+    <!-- Content description for '!' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_fact">factorial</string>
+    <!-- Content description for '×' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_mul">times</string>
+    <!-- Content description for '^' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_pow">power</string>
+    <!-- Content description for '√' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_sqrt">square root</string>
+    <!-- Content description for '-' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_op_sub">minus</string>
+
+    <!-- Content description for "clr" button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_clr">clear</string>
+    <!-- Content description for "del" button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_del">delete</string>
+    <!-- Content description for '=' button. [CHAR_LIMIT=NONE] -->
+    <string name="desc_eq">equals</string>
+
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 4680f31..217df5d 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -1,94 +1,53 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2007 The Android Open Source Project
+<!--
+  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
+  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
+    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>
-    <dimen name="btn_digit_text_size">40sp</dimen>
-    <dimen name="btn_operation_text_size">40sp</dimen>
-    <dimen name="btn_function_text_size">30sp</dimen>
-    <dimen name="btn_clear_text_size">30sp</dimen>
-    <dimen name="display_text_size">30sp</dimen>
+  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.
+  -->
 
-    <style name="button_style">
-       <item name="android:textSize">40dp</item>
-       <item name="android:layout_width">match_parent</item>
-       <item name="android:layout_height">match_parent</item>
-       <item name="android:layout_weight">1</item>
-       <item name="android:focusable">true</item>
-       <item name="android:background">@drawable/btn_function</item>
-       <item name="android:layout_marginLeft">1dp</item>
+<resources xmlns:android="http://schemas.android.com/apk/res/android">
+
+    <style name="CalculatorTheme" parent="@android:style/Theme.Material.Light.NoActionBar">
+        <item name="android:colorPrimary">@color/calculator_accent_color</item>
+        <item name="android:navigationBarColor">@android:color/black</item>
+        <item name="android:statusBarColor">@color/calculator_accent_color</item>
+        <item name="android:windowContentOverlay">@null</item>
     </style>
 
-    <style name="digit_button_style" parent="button_style">
-       <item name="android:background">@drawable/btn_digit</item>
+    <style name="DisplayEditTextStyle" parent="@android:style/Widget.Material.Light.EditText">
+        <item name="android:background">@android:color/transparent</item>
+        <item name="android:cursorVisible">false</item>
+        <item name="android:fontFamily">sans-serif-light</item>
+        <item name="android:includeFontPadding">false</item>
+        <item name="android:gravity">bottom|end</item>
     </style>
 
-    <style name="button_small_style" parent="button_style">
-       <item name="android:textSize">30dp</item>
+    <style name="PadButtonStyle" parent="@android:style/Widget.Material.Light.Button.Borderless">
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+        <item name="android:background">@drawable/pad_btn_background</item>
+        <item name="android:fontFamily">sans-serif-light</item>
+        <item name="android:gravity">center</item>
+        <item name="android:includeFontPadding">false</item>
+        <item name="android:minWidth">0dip</item>
+        <item name="android:minHeight">0dip</item>
+        <item name="android:textAllCaps">false</item>
+        <item name="android:textColor">@color/pad_button_text_color</item>
     </style>
 
-    <style name="display_style">
-       <item name="android:textSize">@dimen/display_text_size</item>
-       <item name="android:inputType">text|textNoSuggestions</item>
-       <item name="android:gravity">right|center_vertical</item>
-       <item name="android:textColor">#ffffff</item>
-       <item name="android:maxLines">1</item>
-       <item name="android:scrollbars">none</item>
-       <item name="android:scrollHorizontally">true</item>
-       <item name="android:layout_width">match_parent</item>
-       <item name="android:layout_height">match_parent</item>
-       <item name="android:paddingTop">8dp</item>
-       <item name="android:paddingLeft">8dp</item>
-       <item name="android:paddingRight">8dp</item>
-       <item name="android:paddingBottom">0dp</item>
+    <style name="PadLayoutStyle">
+        <item name="android:layout_width">match_parent</item>
+        <item name="android:layout_height">match_parent</item>
     </style>
 
-    <style name="btn_row_style">
-       <item name="android:layout_width">match_parent</item>
-       <item name="android:layout_height">0dip</item>
-       <item name="android:layout_weight">1</item>
-       <item name="android:orientation">horizontal</item>
-    </style>
-
-    <style name="btn_function_cell_style">
-       <item name="android:layout_width">0dip</item>
-       <item name="android:layout_weight">1</item>
-       <item name="android:layout_height">match_parent</item>
-       <item name="android:background">@drawable/btn_function</item>
-       <item name="android:textSize">@dimen/btn_function_text_size</item>
-    </style>
-
-    <style name="btn_operation_cell_style">
-       <item name="android:layout_width">0dip</item>
-       <item name="android:layout_weight">1</item>
-       <item name="android:layout_height">match_parent</item>
-       <item name="android:gravity">center</item>
-       <item name="android:background">@drawable/btn_function</item>
-       <item name="android:textSize">@dimen/btn_operation_text_size</item>
-    </style>
-
-    <style name="btn_digit_cell_style">
-       <item name="android:layout_width">0dip</item>
-       <item name="android:layout_weight">1</item>
-       <item name="android:layout_height">match_parent</item>
-       <item name="android:gravity">center</item>
-       <item name="android:background">@drawable/btn_digit</item>
-       <item name="android:textSize">@dimen/btn_digit_text_size</item>
-    </style>
-
-    <style name="btn_clear">
-       <item name="android:background">?android:attr/selectableItemBackground</item>
-       <item name="android:textSize">@dimen/btn_clear_text_size</item>
-    </style>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/src/com/android/calculator2/Calculator.java b/src/com/android/calculator2/Calculator.java
index d7b7742..256cf4e 100644
--- a/src/com/android/calculator2/Calculator.java
+++ b/src/com/android/calculator2/Calculator.java
@@ -1,11 +1,11 @@
 /*
- * Copyright (C) 2008 The Android Open Source Project
+ * 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
+ *   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,
@@ -16,322 +16,387 @@
 
 package com.android.calculator2;
 
+import android.animation.Animator;
+import android.animation.Animator.AnimatorListener;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ArgbEvaluator;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
+import android.animation.ValueAnimator.AnimatorUpdateListener;
 import android.app.Activity;
-import android.content.res.Resources;
-import android.content.res.TypedArray;
+import android.graphics.Rect;
 import android.os.Bundle;
-import android.os.Parcelable;
-import android.support.v4.view.PagerAdapter;
 import android.support.v4.view.ViewPager;
-import android.util.Log;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuItem;
 import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewConfiguration;
-import android.view.ViewGroup;
-import android.view.WindowManager;
-import android.widget.PopupMenu;
-import android.widget.PopupMenu.OnMenuItemClickListener;
+import android.view.View.OnLongClickListener;
+import android.view.ViewAnimationUtils;
+import android.view.ViewGroupOverlay;
+import android.view.animation.AccelerateDecelerateInterpolator;
+import android.widget.Button;
+import android.widget.TextView;
 
-public class Calculator extends Activity implements PanelSwitcher.Listener, Logic.Listener,
-        OnClickListener, OnMenuItemClickListener {
-    EventListener mListener = new EventListener();
-    private CalculatorDisplay mDisplay;
-    private Persist mPersist;
-    private History mHistory;
-    private Logic mLogic;
-    private ViewPager mPager;
+import com.android.calculator2.CalculatorEditText.OnTextSizeChangeListener;
+import com.android.calculator2.CalculatorExpressionEvaluator.EvaluateCallback;
+
+public class Calculator extends Activity
+        implements OnTextSizeChangeListener, EvaluateCallback, OnLongClickListener {
+
+    public static final String CALCULATOR_ACTIVITY_CURRENT_STATE =
+            Calculator.class.getSimpleName() + "_currentState";
+
+    private enum CalculatorState {
+        INPUT, EVALUATE, RESULT, ERROR
+    }
+
+    private final TextWatcher mFormulaTextWatcher = new TextWatcher() {
+        @Override
+        public void beforeTextChanged(CharSequence charSequence, int start, int count, int after) {
+        }
+
+        @Override
+        public void onTextChanged(CharSequence charSequence, int start, int count, int after) {
+        }
+
+        @Override
+        public void afterTextChanged(Editable editable) {
+            setState(CalculatorState.INPUT);
+            mEvaluator.evaluate(editable, Calculator.this);
+        }
+    };
+
+    private final Editable.Factory mFormulaEditableFactory = new Editable.Factory() {
+        @Override
+        public Editable newEditable(CharSequence source) {
+            return new CalculatorExpressionBuilder(Calculator.this, source,
+                    mCurrentState == CalculatorState.INPUT);
+        }
+    };
+
+    private CalculatorState mCurrentState;
+    private CalculatorExpressionEvaluator mEvaluator;
+
+    private CalculatorEditText mFormulaEditText;
+    private CalculatorEditText mResultEditText;
+
+    private ViewPager mPadViewPager;
+
+    private View mDeleteButton;
     private View mClearButton;
-    private View mBackspaceButton;
-    private View mOverflowMenuButton;
 
-    static final int BASIC_PANEL    = 0;
-    static final int ADVANCED_PANEL = 1;
-
-    private static final String LOG_TAG = "Calculator";
-    private static final boolean DEBUG  = false;
-    private static final boolean LOG_ENABLED = false;
-    private static final String STATE_CURRENT_VIEW = "state-current-view";
+    private View mCurrentButton;
+    private Animator mCurrentAnimator;
 
     @Override
-    public void onCreate(Bundle state) {
-        super.onCreate(state);
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_calculator);
 
-        // Disable IME for this application
-        getWindow().setFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
-                WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
+        mFormulaEditText = (CalculatorEditText) findViewById(R.id.formula);
+        mResultEditText = (CalculatorEditText) findViewById(R.id.result);
 
-        setContentView(R.layout.main);
-        mPager = (ViewPager) findViewById(R.id.panelswitch);
-        if (mPager != null) {
-            mPager.setAdapter(new PageAdapter(mPager));
-        } else {
-            // Single page UI
-            final TypedArray buttons = getResources().obtainTypedArray(R.array.buttons);
-            for (int i = 0; i < buttons.length(); i++) {
-                setOnClickListener(null, buttons.getResourceId(i, 0));
+        mPadViewPager = (ViewPager) findViewById(R.id.pad_pager);
+
+        mDeleteButton = findViewById(R.id.del);
+        mClearButton = findViewById(R.id.clr);
+
+        savedInstanceState = savedInstanceState == null ? Bundle.EMPTY : savedInstanceState;
+        setState(CalculatorState.values()[savedInstanceState.getInt(
+                CALCULATOR_ACTIVITY_CURRENT_STATE, CalculatorState.INPUT.ordinal())]);
+        mEvaluator = new CalculatorExpressionEvaluator(this);
+
+        mFormulaEditText.setEditableFactory(mFormulaEditableFactory);
+        mFormulaEditText.addTextChangedListener(mFormulaTextWatcher);
+        mFormulaEditText.setOnTextSizeChangeListener(this);
+
+        mDeleteButton.setOnLongClickListener(this);
+    }
+
+    @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putInt(CALCULATOR_ACTIVITY_CURRENT_STATE, mCurrentState.ordinal());
+    }
+
+    private void setState(CalculatorState state) {
+        if (mCurrentState != state) {
+            mCurrentState = state;
+
+            if (state == CalculatorState.RESULT || state == CalculatorState.ERROR) {
+                mDeleteButton.setVisibility(View.GONE);
+                mClearButton.setVisibility(View.VISIBLE);
+            } else {
+                mDeleteButton.setVisibility(View.VISIBLE);
+                mClearButton.setVisibility(View.GONE);
             }
-            buttons.recycle();
+
+            if (state == CalculatorState.ERROR) {
+                final int errorColor = getResources().getColor(R.color.calculator_error_color);
+                mFormulaEditText.setTextColor(errorColor);
+                mResultEditText.setTextColor(errorColor);
+                getWindow().setStatusBarColor(errorColor);
+            } else {
+                mFormulaEditText.setTextColor(
+                        getResources().getColor(R.color.display_formula_text_color));
+                mResultEditText.setTextColor(
+                        getResources().getColor(R.color.display_result_text_color));
+                getWindow().setStatusBarColor(
+                        getResources().getColor(R.color.calculator_accent_color));
+            }
         }
-
-        if (mClearButton == null) {
-            mClearButton = findViewById(R.id.clear);
-            mClearButton.setOnClickListener(mListener);
-            mClearButton.setOnLongClickListener(mListener);
-        }
-        if (mBackspaceButton == null) {
-            mBackspaceButton = findViewById(R.id.del);
-            mBackspaceButton.setOnClickListener(mListener);
-            mBackspaceButton.setOnLongClickListener(mListener);
-        }
-
-        mPersist = new Persist(this);
-        mPersist.load();
-
-        mHistory = mPersist.history;
-
-        mDisplay = (CalculatorDisplay) findViewById(R.id.display);
-
-        mLogic = new Logic(this, mHistory, mDisplay);
-        mLogic.setListener(this);
-
-        mLogic.setDeleteMode(mPersist.getDeleteMode());
-        mLogic.setLineLength(mDisplay.getMaxDigits());
-
-        HistoryAdapter historyAdapter = new HistoryAdapter(this, mHistory, mLogic);
-        mHistory.setObserver(historyAdapter);
-
-        if (mPager != null) {
-            mPager.setCurrentItem(state == null ? 0 : state.getInt(STATE_CURRENT_VIEW, 0));
-        }
-
-        mListener.setHandler(mLogic, mPager);
-        mDisplay.setOnKeyListener(mListener);
-
-        if (!ViewConfiguration.get(this).hasPermanentMenuKey()) {
-            createFakeMenu();
-        }
-
-        mLogic.resumeWithHistory();
-        updateDeleteMode();
     }
 
-    private void updateDeleteMode() {
-        if (mLogic.getDeleteMode() == Logic.DELETE_MODE_BACKSPACE) {
-            mClearButton.setVisibility(View.GONE);
-            mBackspaceButton.setVisibility(View.VISIBLE);
+    @Override
+    public void onBackPressed() {
+        if (mPadViewPager == null || mPadViewPager.getCurrentItem() == 0) {
+            // If the user is currently looking at the first pad (or the pad is not paged),
+            // allow the system to handle the Back button.
+            super.onBackPressed();
         } else {
-            mClearButton.setVisibility(View.VISIBLE);
-            mBackspaceButton.setVisibility(View.GONE);
-        }
-    }
-
-    void setOnClickListener(View root, int id) {
-        final View target = root != null ? root.findViewById(id) : findViewById(id);
-        target.setOnClickListener(mListener);
-    }
-
-    @Override
-    public boolean onCreateOptionsMenu(Menu menu) {
-        super.onCreateOptionsMenu(menu);
-        getMenuInflater().inflate(R.menu.menu, menu);
-        return true;
-    }
-
-    @Override
-    public boolean onPrepareOptionsMenu(Menu menu) {
-        super.onPrepareOptionsMenu(menu);
-        menu.findItem(R.id.basic).setVisible(!getBasicVisibility());
-        menu.findItem(R.id.advanced).setVisible(!getAdvancedVisibility());
-        return true;
-    }
-
-
-    private void createFakeMenu() {
-        mOverflowMenuButton = findViewById(R.id.overflow_menu);
-        if (mOverflowMenuButton != null) {
-            mOverflowMenuButton.setVisibility(View.VISIBLE);
-            mOverflowMenuButton.setOnClickListener(this);
+            // Otherwise, select the previous pad.
+            mPadViewPager.setCurrentItem(mPadViewPager.getCurrentItem() - 1);
         }
     }
 
     @Override
-    public void onClick(View v) {
-        switch (v.getId()) {
-            case R.id.overflow_menu:
-                PopupMenu menu = constructPopupMenu();
-                if (menu != null) {
-                    menu.show();
+    public void onUserInteraction() {
+        super.onUserInteraction();
+
+        // If there's an animation in progress, cancel it so the user interaction can be handled
+        // immediately.
+        if (mCurrentAnimator != null) {
+            mCurrentAnimator.cancel();
+        }
+    }
+
+    public void onButtonClick(View view) {
+        mCurrentButton = view;
+
+        switch (view.getId()) {
+            case R.id.eq:
+                if (mCurrentState == CalculatorState.INPUT) {
+                    setState(CalculatorState.EVALUATE);
+                    mEvaluator.evaluate(mFormulaEditText.getText(), this);
                 }
                 break;
-        }
-    }
-
-    private PopupMenu constructPopupMenu() {
-        final PopupMenu popupMenu = new PopupMenu(this, mOverflowMenuButton);
-        mOverflowMenuButton.setOnTouchListener(popupMenu.getDragToOpenListener());
-        final Menu menu = popupMenu.getMenu();
-        popupMenu.inflate(R.menu.menu);
-        popupMenu.setOnMenuItemClickListener(this);
-        onPrepareOptionsMenu(menu);
-        return popupMenu;
-    }
-
-
-    @Override
-    public boolean onMenuItemClick(MenuItem item) {
-        return onOptionsItemSelected(item);
-    }
-
-    private boolean getBasicVisibility() {
-        return mPager != null && mPager.getCurrentItem() == BASIC_PANEL;
-    }
-
-    private boolean getAdvancedVisibility() {
-        return mPager != null && mPager.getCurrentItem() == ADVANCED_PANEL;
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case R.id.clear_history:
-                mHistory.clear();
-                mLogic.onClear();
+            case R.id.del:
+                mFormulaEditText.dispatchKeyEvent(
+                        new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
                 break;
-
-            case R.id.basic:
-                if (!getBasicVisibility() && mPager != null) {
-                    mPager.setCurrentItem(BASIC_PANEL, true);
-                }
+            case R.id.clr:
+                onClear();
                 break;
-
-            case R.id.advanced:
-                if (!getAdvancedVisibility() && mPager != null) {
-                    mPager.setCurrentItem(ADVANCED_PANEL, true);
-                }
+            case R.id.fun_cos:
+            case R.id.fun_ln:
+            case R.id.fun_log:
+            case R.id.fun_sin:
+            case R.id.fun_tan:
+                // add left paren after functions
+                mFormulaEditText.append(((Button) view).getText() + "(");
+                break;
+            default:
+                mFormulaEditText.append(((Button) view).getText());
                 break;
         }
-        return super.onOptionsItemSelected(item);
     }
 
     @Override
-    protected void onSaveInstanceState(Bundle state) {
-        super.onSaveInstanceState(state);
-        if (mPager != null) {
-            state.putInt(STATE_CURRENT_VIEW, mPager.getCurrentItem());
-        }
-    }
+    public boolean onLongClick(View view) {
+        mCurrentButton = view;
 
-    @Override
-    public void onPause() {
-        super.onPause();
-        mLogic.updateHistory();
-        mPersist.setDeleteMode(mLogic.getDeleteMode());
-        mPersist.save();
-    }
-
-    @Override
-    public boolean onKeyDown(int keyCode, KeyEvent keyEvent) {
-        if (keyCode == KeyEvent.KEYCODE_BACK && getAdvancedVisibility()
-                && mPager != null) {
-            mPager.setCurrentItem(BASIC_PANEL);
+        if (view.getId() == R.id.del) {
+            onClear();
             return true;
-        } else {
-            return super.onKeyDown(keyCode, keyEvent);
         }
+        return false;
     }
 
-    static void log(String message) {
-        if (LOG_ENABLED) {
-            Log.v(LOG_TAG, message);
+    @Override
+    public void onEvaluate(String expr, String result, String error) {
+        if (mCurrentState == CalculatorState.INPUT) {
+            mResultEditText.setText(result);
+        } else if (!TextUtils.isEmpty(error)) {
+            onError(error);
+        } else if (!TextUtils.isEmpty(result)) {
+            onResult(result);
+        } else if (mCurrentState == CalculatorState.EVALUATE) {
+            // The current expression cannot be evaluated -> return to the input state.
+            setState(CalculatorState.INPUT);
         }
     }
 
     @Override
-    public void onChange() {
-        invalidateOptionsMenu();
+    public void onTextSizeChanged(final TextView textView, float oldSize) {
+        if (mCurrentState != CalculatorState.INPUT) {
+            // Only animate text changes that occur from user input.
+            return;
+        }
+
+        // Calculate the values needed to perform the scale and translation animations,
+        // maintaining the same apparent baseline for the displayed text.
+        final float textScale = oldSize / textView.getTextSize();
+        final float translationX = (1.0f - textScale) *
+                (textView.getWidth() / 2.0f - textView.getPaddingEnd());
+        final float translationY = (1.0f - textScale) *
+                (textView.getHeight() / 2.0f - textView.getPaddingBottom());
+
+        final AnimatorSet animatorSet = new AnimatorSet();
+        animatorSet.playTogether(
+                ObjectAnimator.ofFloat(textView, View.SCALE_X, textScale, 1.0f),
+                ObjectAnimator.ofFloat(textView, View.SCALE_Y, textScale, 1.0f),
+                ObjectAnimator.ofFloat(textView, View.TRANSLATION_X, translationX, 0.0f),
+                ObjectAnimator.ofFloat(textView, View.TRANSLATION_Y, translationY, 0.0f));
+        animatorSet.setDuration(getResources().getInteger(android.R.integer.config_mediumAnimTime));
+        animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
+        animatorSet.start();
     }
 
-    @Override
-    public void onDeleteModeChange() {
-        updateDeleteMode();
+    private void reveal(View sourceView, int colorRes, AnimatorListener listener) {
+        final View displayView = findViewById(R.id.display);
+        final View decorView = getWindow().getDecorView();
+
+        final Rect displayRect = new Rect();
+        displayView.getGlobalVisibleRect(displayRect);
+
+        // Make reveal cover the display and status bar.
+        final View revealView = new View(this);
+        revealView.setBottom(displayRect.bottom);
+        revealView.setLeft(displayRect.left);
+        revealView.setRight(displayRect.right);
+        revealView.setBackgroundColor(getResources().getColor(colorRes));
+
+        final int[] clearLocation = new int[2];
+        sourceView.getLocationInWindow(clearLocation);
+        clearLocation[0] += sourceView.getWidth() / 2;
+        clearLocation[1] += sourceView.getHeight() / 2;
+
+        final int revealCenterX = clearLocation[0] - revealView.getLeft();
+        final int revealCenterY = clearLocation[1] - revealView.getTop();
+
+        final double x1_2 = Math.pow(revealView.getLeft() - revealCenterX, 2);
+        final double x2_2 = Math.pow(revealView.getRight() - revealCenterX, 2);
+        final double y_2 = Math.pow(revealView.getTop() - revealCenterY, 2);
+        final float revealRadius = (float) Math.max(Math.sqrt(x1_2 + y_2), Math.sqrt(x2_2 + y_2));
+
+        final Animator revealAnimator =
+                ViewAnimationUtils.createCircularReveal(revealView,
+                        revealCenterX, revealCenterY, 0.0f, revealRadius);
+        revealAnimator.setDuration(
+                getResources().getInteger(android.R.integer.config_longAnimTime));
+        revealAnimator.addListener(listener);
+
+        final Animator alphaAnimator = ObjectAnimator.ofFloat(revealView, View.ALPHA, 0.0f);
+        alphaAnimator.setDuration(
+                getResources().getInteger(android.R.integer.config_mediumAnimTime));
+
+        final ViewGroupOverlay groupOverlay = (ViewGroupOverlay) decorView.getOverlay();
+        final AnimatorSet animatorSet = new AnimatorSet();
+        animatorSet.play(revealAnimator).before(alphaAnimator);
+        animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
+        animatorSet.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationStart(Animator animation) {
+                groupOverlay.add(revealView);
+            }
+
+            @Override
+            public void onAnimationEnd(Animator animator) {
+                groupOverlay.remove(revealView);
+                mCurrentAnimator = null;
+            }
+        });
+
+        mCurrentAnimator = animatorSet;
+        animatorSet.start();
     }
 
-    class PageAdapter extends PagerAdapter {
-        private View mSimplePage;
-        private View mAdvancedPage;
+    private void onClear() {
+        if (TextUtils.isEmpty(mFormulaEditText.getText())) {
+            return;
+        }
 
-        public PageAdapter(ViewPager parent) {
-            final LayoutInflater inflater = LayoutInflater.from(parent.getContext());
-            final View simplePage = inflater.inflate(R.layout.simple_pad, parent, false);
-            final View advancedPage = inflater.inflate(R.layout.advanced_pad, parent, false);
-            mSimplePage = simplePage;
-            mAdvancedPage = advancedPage;
-
-            final Resources res = getResources();
-            final TypedArray simpleButtons = res.obtainTypedArray(R.array.simple_buttons);
-            for (int i = 0; i < simpleButtons.length(); i++) {
-                setOnClickListener(simplePage, simpleButtons.getResourceId(i, 0));
+        reveal(mCurrentButton, R.color.calculator_accent_color, new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                mFormulaEditText.getEditableText().clear();
             }
-            simpleButtons.recycle();
+        });
+    }
 
-            final TypedArray advancedButtons = res.obtainTypedArray(R.array.advanced_buttons);
-            for (int i = 0; i < advancedButtons.length(); i++) {
-                setOnClickListener(advancedPage, advancedButtons.getResourceId(i, 0));
+    private void onError(final String error) {
+        reveal(mCurrentButton, R.color.calculator_error_color, new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                setState(CalculatorState.ERROR);
+                mResultEditText.setText(error);
             }
-            advancedButtons.recycle();
+        });
+    }
 
-            final View clearButton = simplePage.findViewById(R.id.clear);
-            if (clearButton != null) {
-                mClearButton = clearButton;
+    private void onResult(final String result) {
+        // Calculate the values needed to perform the scale and translation animations,
+        // accounting for how the scale will affect the final position of the text.
+        final float resultScale =
+                mFormulaEditText.getVariableTextSize(result) / mResultEditText.getTextSize();
+        final float resultTranslationX = (1.0f - resultScale) *
+                (mResultEditText.getWidth() / 2.0f - mResultEditText.getPaddingEnd());
+        final float resultTranslationY = (1.0f - resultScale) *
+                (mResultEditText.getHeight() / 2.0f - mResultEditText.getPaddingBottom()) +
+                (mFormulaEditText.getBottom() - mResultEditText.getBottom()) +
+                (mResultEditText.getPaddingBottom() - mFormulaEditText.getPaddingBottom());
+        final float formulaTranslationY = -mFormulaEditText.getBottom();
+
+        // Use a value animator to fade to the final text color over the course of the animation.
+        final int resultTextColor = mResultEditText.getCurrentTextColor();
+        final int formulaTextColor = mFormulaEditText.getCurrentTextColor();
+        final ValueAnimator textColorAnimator =
+                ValueAnimator.ofObject(new ArgbEvaluator(), resultTextColor, formulaTextColor);
+        textColorAnimator.addUpdateListener(new AnimatorUpdateListener() {
+            @Override
+            public void onAnimationUpdate(ValueAnimator valueAnimator) {
+                mResultEditText.setTextColor((int) valueAnimator.getAnimatedValue());
+            }
+        });
+
+        final AnimatorSet animatorSet = new AnimatorSet();
+        animatorSet.playTogether(
+                textColorAnimator,
+                ObjectAnimator.ofFloat(mResultEditText, View.SCALE_X, resultScale),
+                ObjectAnimator.ofFloat(mResultEditText, View.SCALE_Y, resultScale),
+                ObjectAnimator.ofFloat(mResultEditText, View.TRANSLATION_X, resultTranslationX),
+                ObjectAnimator.ofFloat(mResultEditText, View.TRANSLATION_Y, resultTranslationY),
+                ObjectAnimator.ofFloat(mFormulaEditText, View.TRANSLATION_Y, formulaTranslationY));
+        animatorSet.setDuration(getResources().getInteger(android.R.integer.config_longAnimTime));
+        animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
+        animatorSet.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationStart(Animator animation) {
+                mResultEditText.setText(result);
             }
 
-            final View backspaceButton = simplePage.findViewById(R.id.del);
-            if (backspaceButton != null) {
-                mBackspaceButton = backspaceButton;
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                // Reset all of the values modified during the animation.
+                mResultEditText.setTextColor(resultTextColor);
+                mResultEditText.setScaleX(1.0f);
+                mResultEditText.setScaleY(1.0f);
+                mResultEditText.setTranslationX(0.0f);
+                mResultEditText.setTranslationY(0.0f);
+                mFormulaEditText.setTranslationY(0.0f);
+
+                // Finally update the formula to use the current result.
+                mFormulaEditText.setText(result);
+                setState(CalculatorState.RESULT);
+
+                mCurrentAnimator = null;
             }
-        }
+        });
 
-        @Override
-        public int getCount() {
-            return 2;
-        }
-
-        @Override
-        public void startUpdate(View container) {
-        }
-
-        @Override
-        public Object instantiateItem(View container, int position) {
-            final View page = position == 0 ? mSimplePage : mAdvancedPage;
-            ((ViewGroup) container).addView(page);
-            return page;
-        }
-
-        @Override
-        public void destroyItem(View container, int position, Object object) {
-            ((ViewGroup) container).removeView((View) object);
-        }
-
-        @Override
-        public void finishUpdate(View container) {
-        }
-
-        @Override
-        public boolean isViewFromObject(View view, Object object) {
-            return view == object;
-        }
-
-        @Override
-        public Parcelable saveState() {
-            return null;
-        }
-
-        @Override
-        public void restoreState(Parcelable state, ClassLoader loader) {
-        }
+        mCurrentAnimator = animatorSet;
+        animatorSet.start();
     }
 }
diff --git a/src/com/android/calculator2/CalculatorDisplay.java b/src/com/android/calculator2/CalculatorDisplay.java
deleted file mode 100644
index 3a19143..0000000
--- a/src/com/android/calculator2/CalculatorDisplay.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.content.Context;
-import android.graphics.Rect;
-import android.text.Editable;
-import android.text.InputType;
-import android.text.Spanned;
-import android.text.method.NumberKeyListener;
-import android.util.AttributeSet;
-import android.view.animation.TranslateAnimation;
-import android.widget.EditText;
-import android.widget.ViewSwitcher;
-
-/**
- * Provides vertical scrolling for the input/result EditText.
- */
-class CalculatorDisplay extends ViewSwitcher {
-
-    private static final String ATTR_MAX_DIGITS = "maxDigits";
-    private static final int DEFAULT_MAX_DIGITS = 10;
-
-    // only these chars are accepted from keyboard
-    private static final char[] ACCEPTED_CHARS =
-        "0123456789.+-*/\u2212\u00d7\u00f7()!%^".toCharArray();
-
-    private static final int ANIM_DURATION = 500;
-
-    enum Scroll { UP, DOWN, NONE }
-
-    TranslateAnimation inAnimUp;
-    TranslateAnimation outAnimUp;
-    TranslateAnimation inAnimDown;
-    TranslateAnimation outAnimDown;
-
-    private int mMaxDigits = DEFAULT_MAX_DIGITS;
-
-    public CalculatorDisplay(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        mMaxDigits = attrs.getAttributeIntValue(null, ATTR_MAX_DIGITS, DEFAULT_MAX_DIGITS);
-    }
-
-    public int getMaxDigits() {
-        return mMaxDigits;
-    }
-
-    protected void setLogic(Logic logic) {
-        NumberKeyListener calculatorKeyListener =
-            new NumberKeyListener() {
-                public int getInputType() {
-                    return InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
-                }
-
-                @Override
-                protected char[] getAcceptedChars() {
-                    return ACCEPTED_CHARS;
-                }
-
-                @Override
-                public CharSequence filter(CharSequence source, int start, int end,
-                                           Spanned dest, int dstart, int dend) {
-                    /* the EditText should still accept letters (eg. 'sin')
-                       coming from the on-screen touch buttons, so don't filter anything.
-                    */
-                    return null;
-                }
-            };
-
-        Editable.Factory factory = new CalculatorEditable.Factory(logic);
-        for (int i = 0; i < 2; ++i) {
-            EditText text = (EditText) getChildAt(i);
-            text.setBackground(null);
-            text.setEditableFactory(factory);
-            text.setKeyListener(calculatorKeyListener);
-            text.setSingleLine();
-        }
-    }
-
-    @Override
-    public void setOnKeyListener(OnKeyListener l) {
-        getChildAt(0).setOnKeyListener(l);
-        getChildAt(1).setOnKeyListener(l);
-    }
-
-    @Override
-    protected void onSizeChanged(int w, int h, int oldW, int oldH) {
-        inAnimUp = new TranslateAnimation(0, 0, h, 0);
-        inAnimUp.setDuration(ANIM_DURATION);
-        outAnimUp = new TranslateAnimation(0, 0, 0, -h);
-        outAnimUp.setDuration(ANIM_DURATION);
-
-        inAnimDown = new TranslateAnimation(0, 0, -h, 0);
-        inAnimDown.setDuration(ANIM_DURATION);
-        outAnimDown = new TranslateAnimation(0, 0, 0, h);
-        outAnimDown.setDuration(ANIM_DURATION);
-    }
-
-    void insert(String delta) {
-        EditText editor = (EditText) getCurrentView();
-        int cursor = editor.getSelectionStart();
-        editor.getText().insert(cursor, delta);
-    }
-
-    EditText getEditText() {
-        return (EditText) getCurrentView();
-    }
-
-    Editable getText() {
-        EditText text = (EditText) getCurrentView();
-        return text.getText();
-    }
-
-    void setText(CharSequence text, Scroll dir) {
-        if (getText().length() == 0) {
-            dir = Scroll.NONE;
-        }
-
-        if (dir == Scroll.UP) {
-            setInAnimation(inAnimUp);
-            setOutAnimation(outAnimUp);
-        } else if (dir == Scroll.DOWN) {
-            setInAnimation(inAnimDown);
-            setOutAnimation(outAnimDown);
-        } else { // Scroll.NONE
-            setInAnimation(null);
-            setOutAnimation(null);
-        }
-
-        EditText editText = (EditText) getNextView();
-        editText.setText(text);
-        //Calculator.log("selection to " + text.length() + "; " + text);
-        editText.setSelection(text.length());
-        showNext();
-    }
-
-    int getSelectionStart() {
-        EditText text = (EditText) getCurrentView();
-        return text.getSelectionStart();
-    }
-
-    @Override
-    protected void onFocusChanged(boolean gain, int direction, Rect prev) {
-        //Calculator.log("focus " + gain + "; " + direction + "; " + prev);
-        if (!gain) {
-            requestFocus();
-        }
-    }
-}
diff --git a/src/com/android/calculator2/CalculatorEditText.java b/src/com/android/calculator2/CalculatorEditText.java
index 2135b38..63a5ae5 100644
--- a/src/com/android/calculator2/CalculatorEditText.java
+++ b/src/com/android/calculator2/CalculatorEditText.java
@@ -1,11 +1,11 @@
 /*
- * Copyright (C) 2010 The Android Open Source Project
+ * 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
+ *   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,
@@ -16,211 +16,25 @@
 
 package com.android.calculator2;
 
-import android.content.ClipData;
-import android.content.ClipboardManager;
 import android.content.Context;
-import android.content.res.Resources;
-import android.text.Editable;
-import android.text.InputType;
-import android.text.TextUtils;
+import android.content.res.TypedArray;
+import android.graphics.Paint;
+import android.graphics.Paint.FontMetricsInt;
+import android.graphics.Rect;
+import android.text.method.ScrollingMovementMethod;
+import android.text.TextPaint;
 import android.util.AttributeSet;
-import android.util.Log;
+import android.util.TypedValue;
 import android.view.ActionMode;
-import android.view.ContextMenu;
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.MotionEvent;
-import android.view.accessibility.AccessibilityEvent;
-import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.EditText;
-import android.widget.Toast;
-
-import com.google.common.collect.ImmutableMap;
+import android.widget.TextView;
 
 public class CalculatorEditText extends EditText {
 
-    private static final String LOG_TAG = "Calculator2";
-    private static final int CUT = 0;
-    private static final int COPY = 1;
-    private static final int PASTE = 2;
-    private String[] mMenuItemsStrings;
-    private ImmutableMap<String, String> sReplacementTable;
-    private String[] sOperators;
-
-    public CalculatorEditText(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        setCustomSelectionActionModeCallback(new NoTextSelectionMode());
-        setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
-    }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-       if (event.getActionMasked() == MotionEvent.ACTION_UP) {
-            // Hack to prevent keyboard and insertion handle from showing.
-           cancelLongPress();
-        }
-        return super.onTouchEvent(event);
-    }
-
-    @Override
-    public boolean performLongClick() {
-        showContextMenu();
-        return true;
-    }
-
-    @Override
-    public void onInitializeAccessibilityEvent(AccessibilityEvent event) {
-        super.onInitializeAccessibilityEvent(event);
-        String mathText = mathParse(getText().toString());
-        // Parse the string into something more "mathematical" sounding.
-        if (!TextUtils.isEmpty(mathText)) {
-            event.getText().clear();
-            event.getText().add(mathText);
-            setContentDescription(mathText);
-        }
-    }
-
-    @Override
-    public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
-        super.onInitializeAccessibilityNodeInfo(info);
-        info.setText(mathParse(getText().toString()));
-    }
-
-    @Override
-    public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
-        // Do nothing.
-    }
-
-    private String mathParse(String plainText) {
-        String parsedText = plainText;
-        if (!TextUtils.isEmpty(parsedText)) {
-            // Initialize replacement table.
-            initializeReplacementTable();
-            for (String operator : sOperators) {
-                if (sReplacementTable.containsKey(operator)) {
-                    parsedText = parsedText.replace(operator, sReplacementTable.get(operator));
-                }
-            }
-        }
-        return parsedText;
-    }
-
-    private synchronized void initializeReplacementTable() {
-        if (sReplacementTable == null) {
-            ImmutableMap.Builder<String, String> builder = ImmutableMap.builder();
-            Resources res = getContext().getResources();
-            sOperators = res.getStringArray(R.array.operators);
-            String[] descs = res.getStringArray(R.array.operatorDescs);
-            int pos = 0;
-            for (String key : sOperators) {
-                builder.put(key, descs[pos]);
-                pos++;
-            }
-            sReplacementTable = builder.build();
-        }
-    }
-
-    private class MenuHandler implements MenuItem.OnMenuItemClickListener {
-        public boolean onMenuItemClick(MenuItem item) {
-            return onTextContextMenuItem(item.getTitle());
-        }
-    }
-
-    public boolean onTextContextMenuItem(CharSequence title) {
-        boolean handled = false;
-        if (TextUtils.equals(title, mMenuItemsStrings[CUT])) {
-            cutContent();
-            handled = true;
-        } else if (TextUtils.equals(title,  mMenuItemsStrings[COPY])) {
-            copyContent();
-            handled = true;
-        } else if (TextUtils.equals(title,  mMenuItemsStrings[PASTE])) {
-            pasteContent();
-            handled = true;
-        }
-        return handled;
-    }
-
-    @Override
-    public void onCreateContextMenu(ContextMenu menu) {
-        MenuHandler handler = new MenuHandler();
-        if (mMenuItemsStrings == null) {
-            Resources resources = getResources();
-            mMenuItemsStrings = new String[3];
-            mMenuItemsStrings[CUT] = resources.getString(android.R.string.cut);
-            mMenuItemsStrings[COPY] = resources.getString(android.R.string.copy);
-            mMenuItemsStrings[PASTE] = resources.getString(android.R.string.paste);
-        }
-        for (int i = 0; i < mMenuItemsStrings.length; i++) {
-            menu.add(Menu.NONE, i, i, mMenuItemsStrings[i]).setOnMenuItemClickListener(handler);
-        }
-        if (getText().length() == 0) {
-            menu.getItem(CUT).setVisible(false);
-            menu.getItem(COPY).setVisible(false);
-        }
-        ClipData primaryClip = getPrimaryClip();
-        if (primaryClip == null || primaryClip.getItemCount() == 0
-                || !canPaste(primaryClip.getItemAt(0).coerceToText(getContext()))) {
-            menu.getItem(PASTE).setVisible(false);
-        }
-    }
-
-    private void setPrimaryClip(ClipData clip) {
-        ClipboardManager clipboard = (ClipboardManager) getContext().
-                getSystemService(Context.CLIPBOARD_SERVICE);
-        clipboard.setPrimaryClip(clip);
-    }
-
-    private void copyContent() {
-        final Editable text = getText();
-        int textLength = text.length();
-        setSelection(0, textLength);
-        ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(
-                Context.CLIPBOARD_SERVICE);
-        clipboard.setPrimaryClip(ClipData.newPlainText(null, text));
-        Toast.makeText(getContext(), R.string.text_copied_toast, Toast.LENGTH_SHORT).show();
-        setSelection(textLength);
-    }
-
-    private void cutContent() {
-        final Editable text = getText();
-        int textLength = text.length();
-        setSelection(0, textLength);
-        setPrimaryClip(ClipData.newPlainText(null, text));
-        ((Editable) getText()).delete(0, textLength);
-        setSelection(0);
-    }
-
-    private ClipData getPrimaryClip() {
-        ClipboardManager clipboard = (ClipboardManager) getContext().getSystemService(
-                Context.CLIPBOARD_SERVICE);
-        return clipboard.getPrimaryClip();
-    }
-
-    private void pasteContent() {
-        ClipData clip = getPrimaryClip();
-        if (clip != null) {
-            for (int i = 0; i < clip.getItemCount(); i++) {
-                CharSequence paste = clip.getItemAt(i).coerceToText(getContext());
-                if (canPaste(paste)) {
-                    ((Editable) getText()).insert(getSelectionEnd(), paste);
-                }
-            }
-        }
-    }
-
-    private boolean canPaste(CharSequence paste) {
-        boolean canPaste = true;
-        try {
-            Float.parseFloat(paste.toString());
-        } catch (NumberFormatException e) {
-            Log.e(LOG_TAG, "Error turning string to integer. Ignoring paste.", e);
-            canPaste = false;
-        }
-        return canPaste;
-    }
-
-    class NoTextSelectionMode implements ActionMode.Callback {
+    private final ActionMode.Callback mNoSelectionActionModeCallback = new ActionMode.Callback() {
         @Override
         public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
             return false;
@@ -228,17 +42,149 @@
 
         @Override
         public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-            copyContent();
             // Prevents the selection action mode on double tap.
             return false;
         }
 
         @Override
-        public void onDestroyActionMode(ActionMode mode) {}
+        public void onDestroyActionMode(ActionMode mode) {
+        }
 
         @Override
         public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
             return false;
         }
+    };
+
+    private final float mMaximumTextSize;
+    private final float mMinimumTextSize;
+    private final float mStepTextSize;
+
+    private int mWidthConstraint = -1;
+    private OnTextSizeChangeListener mOnTextSizeChangeListener;
+
+    public CalculatorEditText(Context context) {
+        this(context, null);
+    }
+
+    public CalculatorEditText(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public CalculatorEditText(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+
+        final TypedArray a = context.obtainStyledAttributes(
+                attrs, R.styleable.CalculatorEditText, defStyle, 0);
+        mMaximumTextSize = a.getDimension(
+                R.styleable.CalculatorEditText_maxTextSize, getTextSize());
+        mMinimumTextSize = a.getDimension(
+                R.styleable.CalculatorEditText_minTextSize, getTextSize());
+        mStepTextSize = a.getDimension(R.styleable.CalculatorEditText_stepTextSize,
+                (mMaximumTextSize - mMinimumTextSize) / 3);
+
+        a.recycle();
+
+        setCustomSelectionActionModeCallback(mNoSelectionActionModeCallback);
+        setMovementMethod(ScrollingMovementMethod.getInstance());
+        setTextSize(TypedValue.COMPLEX_UNIT_PX, mMaximumTextSize);
+        setMinHeight(getLineHeight() + getCompoundPaddingBottom() + getCompoundPaddingTop());
+    }
+
+    @Override
+    protected void onSelectionChanged(int selStart, int selEnd) {
+        final int textLength = getText() == null ? 0 : getText().length();
+        if (selStart != textLength || selEnd != textLength) {
+            // Pin the selection to the end of the current text.
+            setSelection(textLength);
+        }
+
+        super.onSelectionChanged(selStart, selEnd);
+    }
+
+    @Override
+    public boolean onTouchEvent(MotionEvent event) {
+        if (event.getActionMasked() == MotionEvent.ACTION_UP) {
+            // Hack to prevent keyboard and insertion handle from showing.
+            cancelLongPress();
+        }
+        return super.onTouchEvent(event);
+    }
+
+    @Override
+    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+
+        mWidthConstraint =
+                MeasureSpec.getSize(widthMeasureSpec) - getPaddingLeft() - getPaddingRight();
+        setTextSize(TypedValue.COMPLEX_UNIT_PX, getVariableTextSize(getText().toString()));
+    }
+
+    @Override
+    protected void onTextChanged(CharSequence text, int start, int lengthBefore, int lengthAfter) {
+        super.onTextChanged(text, start, lengthBefore, lengthAfter);
+
+        setSelection(text.length());
+        setTextSize(TypedValue.COMPLEX_UNIT_PX, getVariableTextSize(text.toString()));
+    }
+
+    @Override
+    public void setTextSize(int unit, float size) {
+        final float oldTextSize = getTextSize();
+        super.setTextSize(unit, size);
+
+        if (mOnTextSizeChangeListener != null && getTextSize() != oldTextSize) {
+            mOnTextSizeChangeListener.onTextSizeChanged(this, oldTextSize);
+        }
+    }
+
+    public void setOnTextSizeChangeListener(OnTextSizeChangeListener listener) {
+        mOnTextSizeChangeListener = listener;
+    }
+
+    public float getVariableTextSize(String text) {
+        if (mWidthConstraint < 0 || mMaximumTextSize <= mMinimumTextSize) {
+            // Not measured, bail early.
+            return getTextSize();
+        }
+
+        final Paint paint = new TextPaint(getPaint());
+        float lastFitTextSize = mMinimumTextSize;
+        while (lastFitTextSize < mMaximumTextSize) {
+            final float nextSize = Math.min(lastFitTextSize + mStepTextSize, mMaximumTextSize);
+            paint.setTextSize(nextSize);
+            if (paint.measureText(text) > mWidthConstraint) {
+                break;
+            } else {
+                lastFitTextSize = nextSize;
+            }
+        }
+
+        return lastFitTextSize;
+    }
+
+    @Override
+    public int getCompoundPaddingTop() {
+        // Measure the top padding from the capital letter height of the text instead of the top,
+        // but don't remove more than the available top padding otherwise clipping may occur.
+        final Rect capBounds = new Rect();
+        getPaint().getTextBounds("H", 0, 1, capBounds);
+
+        final FontMetricsInt fontMetrics = getPaint().getFontMetricsInt();
+        final int paddingOffset = -(fontMetrics.ascent + capBounds.height());
+
+        return super.getCompoundPaddingTop() - Math.min(getPaddingTop(), paddingOffset);
+    }
+
+    @Override
+    public int getCompoundPaddingBottom() {
+        // Measure the bottom padding from the baseline of the text instead of the bottom, but don't
+        // remove more than the available bottom padding otherwise clipping may occur.
+        final FontMetricsInt fontMetrics = getPaint().getFontMetricsInt();
+        return super.getCompoundPaddingBottom() - Math.min(getPaddingBottom(), fontMetrics.descent);
+    }
+
+    public interface OnTextSizeChangeListener {
+        void onTextSizeChanged(TextView textView, float oldSize);
     }
 }
diff --git a/src/com/android/calculator2/CalculatorEditable.java b/src/com/android/calculator2/CalculatorEditable.java
deleted file mode 100644
index cfa39f6..0000000
--- a/src/com/android/calculator2/CalculatorEditable.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.text.SpannableStringBuilder;
-import android.text.Editable;
-
-class CalculatorEditable extends SpannableStringBuilder {
-    private static final char[] ORIGINALS    = {'-',      '*',      '/'};
-    private static final char[] REPLACEMENTS = {'\u2212', '\u00d7', '\u00f7'};
-    private boolean isInsideReplace = false;
-    private Logic mLogic;
-
-    private CalculatorEditable(CharSequence source, Logic logic) {
-        super(source);
-        mLogic = logic;
-    }
-
-    @Override
-    public SpannableStringBuilder 
-    replace(int start, int end, CharSequence tb, int tbstart, int tbend) {
-        if (isInsideReplace) {
-            return super.replace(start, end, tb, tbstart, tbend);
-        } else {        
-            isInsideReplace = true;
-            try {
-                String delta = tb.subSequence(tbstart, tbend).toString();            
-                return internalReplace(start, end, delta);
-            } finally {
-                isInsideReplace = false;
-            }
-        }
-    }
-    
-    private SpannableStringBuilder internalReplace(int start, int end, String delta) {
-        if (!mLogic.acceptInsert(delta)) {            
-            mLogic.cleared();
-            start = 0;
-            end = length();
-        }
-
-        for (int i = ORIGINALS.length - 1; i >= 0; --i) {
-            delta = delta.replace(ORIGINALS[i], REPLACEMENTS[i]);
-        }
-
-        int length = delta.length();
-        if (length == 1) {
-            char text = delta.charAt(0);
-
-            //don't allow two dots in the same number
-            if (text == '.') {
-                int p = start - 1;
-                while (p >= 0 && Character.isDigit(charAt(p))) {
-                    --p;
-                }
-                if (p >= 0 && charAt(p) == '.') {
-                    return super.replace(start, end, "");
-                }
-            }
-
-            char prevChar = start > 0 ? charAt(start-1) : '\0';
-
-            //don't allow 2 successive minuses
-            if (text == Logic.MINUS && prevChar == Logic.MINUS) {
-                return super.replace(start, end, "");
-            }
-
-            //don't allow multiple successive operators
-            if (Logic.isOperator(text)) {
-                while (Logic.isOperator(prevChar) && 
-                       (text != Logic.MINUS || prevChar == '+')) {
-                    --start;
-                    prevChar = start > 0 ? charAt(start-1) : '\0';
-                }
-            }
-
-            //don't allow leading operator + * /
-            if (start == 0 && Logic.isOperator(text) && text != Logic.MINUS) {
-                return super.replace(start, end, "");
-            }
-        } 
-        return super.replace(start, end, delta);
-    }
-
-    public static class Factory extends Editable.Factory {
-        private Logic mLogic;
-
-        public Factory(Logic logic) {
-            mLogic = logic;
-        }
-
-        public Editable newEditable(CharSequence source) {
-            return new CalculatorEditable(source, mLogic);
-        }
-    }
-}
diff --git a/src/com/android/calculator2/CalculatorExpressionBuilder.java b/src/com/android/calculator2/CalculatorExpressionBuilder.java
new file mode 100644
index 0000000..028a504
--- /dev/null
+++ b/src/com/android/calculator2/CalculatorExpressionBuilder.java
@@ -0,0 +1,92 @@
+/*
+ * 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.calculator2;
+
+import android.content.Context;
+import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
+
+public class CalculatorExpressionBuilder extends SpannableStringBuilder {
+
+    private final CalculatorExpressionTokenizer mTokenizer;
+    private boolean mIsEdited;
+
+    public CalculatorExpressionBuilder(Context context, CharSequence text, boolean isEdited) {
+        super(text);
+
+        mTokenizer = CalculatorExpressionTokenizer.getInstance(context);
+        mIsEdited = isEdited;
+    }
+
+    @Override
+    public SpannableStringBuilder replace(int start, int end, CharSequence tb, int tbstart,
+            int tbend) {
+        if (start != length() || end != length()) {
+            mIsEdited = true;
+            return super.replace(start, end, tb, tbstart, tbend);
+        }
+
+        String appendExpr =
+                mTokenizer.getNormalizedExpression(tb.subSequence(tbstart, tbend).toString());
+        if (appendExpr.length() == 1) {
+            final String expr = mTokenizer.getNormalizedExpression(toString());
+            switch (appendExpr.charAt(0)) {
+                case '.':
+                    // don't allow two decimals in the same number
+                    final int index = expr.lastIndexOf('.');
+                    if (index != -1 && TextUtils.isDigitsOnly(expr.substring(index + 1, start))) {
+                        appendExpr = "";
+                    }
+                    break;
+                case '+':
+                case '*':
+                case '/':
+                    // don't allow leading operator
+                    if (start == 0) {
+                        appendExpr = "";
+                        break;
+                    }
+
+                    // don't allow multiple successive operators
+                    while (start > 0 && "+-*/".indexOf(expr.charAt(start - 1)) != -1) {
+                        --start;
+                    }
+                    // fall through
+                case '-':
+                    // don't allow -- or +-
+                    if (start > 0 && "+-".indexOf(expr.charAt(start - 1)) != -1) {
+                        --start;
+                    }
+
+                    // mark as edited since operators can always be appended
+                    mIsEdited = true;
+                    break;
+                default:
+                    break;
+            }
+        }
+
+        // since this is the first edit replace the entire string
+        if (!mIsEdited && appendExpr.length() > 0) {
+            start = 0;
+            mIsEdited = true;
+        }
+
+        appendExpr = mTokenizer.getLocalizedExpression(appendExpr);
+        return super.replace(start, end, appendExpr, 0, appendExpr.length());
+    }
+}
diff --git a/src/com/android/calculator2/CalculatorExpressionEvaluator.java b/src/com/android/calculator2/CalculatorExpressionEvaluator.java
new file mode 100644
index 0000000..5a032c3
--- /dev/null
+++ b/src/com/android/calculator2/CalculatorExpressionEvaluator.java
@@ -0,0 +1,84 @@
+/*
+ * 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.calculator2;
+
+import android.content.Context;
+
+import org.javia.arity.Symbols;
+import org.javia.arity.SyntaxException;
+import org.javia.arity.Util;
+
+public class CalculatorExpressionEvaluator {
+
+    private static final int MAX_DIGITS = 12;
+    private static final int ROUNDING_DIGITS = 2;
+
+    private final Symbols mSymbols;
+    private final CalculatorExpressionTokenizer mTokenizer;
+
+    private final String mErrorNaN;
+    private final String mErrorSyntax;
+
+    public CalculatorExpressionEvaluator(Context context) {
+        mSymbols = new Symbols();
+        mTokenizer = CalculatorExpressionTokenizer.getInstance(context);
+
+        mErrorNaN = context.getString(R.string.error_nan);
+        mErrorSyntax = context.getString(R.string.error_syntax);
+    }
+
+    public void evaluate(CharSequence expr, EvaluateCallback callback) {
+        evaluate(expr.toString(), callback);
+    }
+
+    public void evaluate(String expr, EvaluateCallback callback) {
+        expr = mTokenizer.getNormalizedExpression(expr);
+
+        // remove any trailing operators
+        while (expr.length() > 0 && "+-/*".indexOf(expr.charAt(expr.length() - 1)) != -1) {
+            expr = expr.substring(0, expr.length() - 1);
+        }
+
+        try {
+            if (expr == null || expr.length() == 0 || Double.valueOf(expr) != null) {
+                callback.onEvaluate(expr, null, null);
+                return;
+            }
+        } catch (NumberFormatException e) {
+            // expr is not a simple number
+        }
+
+        try {
+            double result = mSymbols.eval(expr);
+            if (Double.isNaN(result)) {
+                callback.onEvaluate(expr, null, mErrorNaN);
+            } else {
+                // The arity library uses floating point arithmetic when evaluating the expression
+                // leading to precision errors in the result. The method doubleToString hides these
+                // errors; rounding the result by dropping N digits of precision.
+                callback.onEvaluate(expr, mTokenizer.getLocalizedExpression(
+                        Util.doubleToString(result, MAX_DIGITS, ROUNDING_DIGITS)), null);
+            }
+        } catch (SyntaxException e) {
+            callback.onEvaluate(expr, null, mErrorSyntax);
+        }
+    }
+
+    public interface EvaluateCallback {
+        public void onEvaluate(String expr, String result, String error);
+    }
+}
diff --git a/src/com/android/calculator2/CalculatorExpressionTokenizer.java b/src/com/android/calculator2/CalculatorExpressionTokenizer.java
new file mode 100644
index 0000000..c4e2ab4
--- /dev/null
+++ b/src/com/android/calculator2/CalculatorExpressionTokenizer.java
@@ -0,0 +1,81 @@
+/*
+ * 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.calculator2;
+
+import android.content.Context;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+public class CalculatorExpressionTokenizer {
+
+    private static CalculatorExpressionTokenizer sSharedInstance;
+
+    public static CalculatorExpressionTokenizer getInstance(Context context) {
+        if (sSharedInstance == null) {
+            sSharedInstance = new CalculatorExpressionTokenizer(context);
+        }
+
+        return sSharedInstance;
+    }
+
+    private final Map<String, String> mReplacementMap;
+
+    private CalculatorExpressionTokenizer(Context context) {
+        mReplacementMap = new HashMap<>();
+
+        mReplacementMap.put(".", context.getString(R.string.dec_point));
+
+        mReplacementMap.put("0", context.getString(R.string.digit_0));
+        mReplacementMap.put("1", context.getString(R.string.digit_1));
+        mReplacementMap.put("2", context.getString(R.string.digit_2));
+        mReplacementMap.put("3", context.getString(R.string.digit_3));
+        mReplacementMap.put("4", context.getString(R.string.digit_4));
+        mReplacementMap.put("5", context.getString(R.string.digit_5));
+        mReplacementMap.put("6", context.getString(R.string.digit_6));
+        mReplacementMap.put("7", context.getString(R.string.digit_7));
+        mReplacementMap.put("8", context.getString(R.string.digit_8));
+        mReplacementMap.put("9", context.getString(R.string.digit_9));
+
+        mReplacementMap.put("/", context.getString(R.string.op_div));
+        mReplacementMap.put("*", context.getString(R.string.op_mul));
+        mReplacementMap.put("-", context.getString(R.string.op_sub));
+
+        mReplacementMap.put("cos", context.getString(R.string.fun_cos));
+        mReplacementMap.put("ln", context.getString(R.string.fun_ln));
+        mReplacementMap.put("log", context.getString(R.string.fun_log));
+        mReplacementMap.put("sin", context.getString(R.string.fun_sin));
+        mReplacementMap.put("tan", context.getString(R.string.fun_tan));
+
+        mReplacementMap.put("Infinity", context.getString(R.string.inf));
+    }
+
+    public String getNormalizedExpression(String expr) {
+        for (Entry<String, String> replacementEntry : mReplacementMap.entrySet()) {
+            expr = expr.replace(replacementEntry.getValue(), replacementEntry.getKey());
+        }
+        return expr;
+    }
+
+    public String getLocalizedExpression(String expr) {
+        for (Entry<String, String> replacementEntry : mReplacementMap.entrySet()) {
+            expr = expr.replace(replacementEntry.getKey(), replacementEntry.getValue());
+        }
+        return expr;
+    }
+}
diff --git a/src/com/android/calculator2/CalculatorPadLayout.java b/src/com/android/calculator2/CalculatorPadLayout.java
new file mode 100644
index 0000000..729c55b
--- /dev/null
+++ b/src/com/android/calculator2/CalculatorPadLayout.java
@@ -0,0 +1,120 @@
+/*
+ * 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.calculator2;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+
+/**
+ * A layout that places children in an evenly distributed grid based on the specified
+ *  {@link android.R.attr#columnCount} and {@link android.R.attr#rowCount} attributes.
+ */
+public class CalculatorPadLayout extends ViewGroup {
+
+    private int mRowCount;
+    private int mColumnCount;
+
+    public CalculatorPadLayout(Context context) {
+        this(context, null);
+    }
+
+    public CalculatorPadLayout(Context context, AttributeSet attrs) {
+        this(context, attrs, 0);
+    }
+
+    public CalculatorPadLayout(Context context, AttributeSet attrs, int defStyle) {
+        super(context, attrs, defStyle);
+
+        final TypedArray a = context.obtainStyledAttributes(attrs,
+                new int[] { android.R.attr.rowCount, android.R.attr.columnCount }, defStyle, 0);
+        mRowCount = a.getInt(0, 1);
+        mColumnCount = a.getInt(1, 1);
+
+        a.recycle();
+    }
+
+    @Override
+    public boolean shouldDelayChildPressedState() {
+        return false;
+    }
+
+    @Override
+    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
+        final int paddingLeft = getPaddingLeft();
+        final int paddingRight = getPaddingRight();
+        final int paddingTop = getPaddingTop();
+        final int paddingBottom = getPaddingBottom();
+
+        final boolean isRTL = getLayoutDirection() == LAYOUT_DIRECTION_RTL;
+        final int columnWidth =
+                Math.round((float) (right - left - paddingLeft - paddingRight)) / mColumnCount;
+        final int rowHeight =
+                Math.round((float) (bottom - top - paddingTop - paddingBottom)) / mRowCount;
+
+        int rowIndex = 0, columnIndex = 0;
+        for (int childIndex = 0; childIndex < getChildCount(); ++childIndex) {
+            final View childView = getChildAt(childIndex);
+            if (childView.getVisibility() == View.GONE) {
+                continue;
+            }
+
+            final MarginLayoutParams lp = (MarginLayoutParams) childView.getLayoutParams();
+
+            final int childTop = paddingTop + lp.topMargin + rowIndex * rowHeight;
+            final int childBottom = childTop - lp.topMargin - lp.bottomMargin + rowHeight;
+            final int childLeft = paddingLeft + lp.leftMargin +
+                    (isRTL ? (mColumnCount - 1) - columnIndex : columnIndex) * columnWidth;
+            final int childRight = childLeft - lp.leftMargin - lp.rightMargin + columnWidth;
+
+            final int childWidth = childRight - childLeft;
+            final int childHeight = childBottom - childTop;
+            if (childWidth != childView.getMeasuredWidth() ||
+                    childHeight != childView.getMeasuredHeight()) {
+                childView.measure(
+                        MeasureSpec.makeMeasureSpec(childWidth, MeasureSpec.EXACTLY),
+                        MeasureSpec.makeMeasureSpec(childHeight, MeasureSpec.EXACTLY));
+            }
+            childView.layout(childLeft, childTop, childRight, childBottom);
+
+            rowIndex = (rowIndex + (columnIndex + 1) / mColumnCount) % mRowCount;
+            columnIndex = (columnIndex + 1) % mColumnCount;
+        }
+    }
+
+    @Override
+    public LayoutParams generateLayoutParams(AttributeSet attrs) {
+        return new MarginLayoutParams(getContext(), attrs);
+    }
+
+    @Override
+    protected LayoutParams generateDefaultLayoutParams() {
+        return new MarginLayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
+    }
+
+    @Override
+    protected ViewGroup.LayoutParams generateLayoutParams(ViewGroup.LayoutParams p) {
+        return new MarginLayoutParams(p);
+    }
+
+    @Override
+    protected boolean checkLayoutParams(ViewGroup.LayoutParams p) {
+        return p instanceof MarginLayoutParams;
+    }
+}
diff --git a/src/com/android/calculator2/CalculatorPadViewPager.java b/src/com/android/calculator2/CalculatorPadViewPager.java
new file mode 100644
index 0000000..014df9c
--- /dev/null
+++ b/src/com/android/calculator2/CalculatorPadViewPager.java
@@ -0,0 +1,116 @@
+/*
+ * 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.calculator2;
+
+import android.content.Context;
+import android.support.v4.view.PagerAdapter;
+import android.support.v4.view.ViewPager;
+import android.util.AttributeSet;
+import android.view.View;
+import android.view.ViewGroup;
+
+public class CalculatorPadViewPager extends ViewPager {
+
+    private final PagerAdapter mStaticPagerAdapter = new PagerAdapter() {
+        @Override
+        public int getCount() {
+            return getChildCount();
+        }
+
+        @Override
+        public Object instantiateItem(ViewGroup container, int position) {
+            return getChildAt(position);
+        }
+
+        @Override
+        public void destroyItem(ViewGroup container, int position, Object object) {
+            removeViewAt(position);
+        }
+
+        @Override
+        public boolean isViewFromObject(View view, Object object) {
+            return view == object;
+        }
+
+        @Override
+        public float getPageWidth(int position) {
+            return position == 1 ? 7.0f / 9.0f : 1.0f;
+        }
+    };
+
+    private final OnPageChangeListener mOnPageChangeListener = new SimpleOnPageChangeListener() {
+        private void recursivelySetEnabled(View view, boolean enabled) {
+            if (view instanceof ViewGroup) {
+                final ViewGroup viewGroup = (ViewGroup) view;
+                for (int childIndex = 0; childIndex < viewGroup.getChildCount(); ++childIndex) {
+                    recursivelySetEnabled(viewGroup.getChildAt(childIndex), enabled);
+                }
+            } else {
+                view.setEnabled(enabled);
+            }
+        }
+
+        @Override
+        public void onPageSelected(int position) {
+            if (getAdapter() == mStaticPagerAdapter) {
+                for (int childIndex = 0; childIndex < getChildCount(); ++childIndex) {
+                    // Only enable subviews of the current page.
+                    recursivelySetEnabled(getChildAt(childIndex), childIndex == position);
+                }
+            }
+        }
+    };
+
+    private final PageTransformer mPageTransformer = new PageTransformer() {
+        @Override
+        public void transformPage(View view, float position) {
+            if (position < 0.0f) {
+                // Pin the left page to the left side.
+                view.setTranslationX(getWidth() * -position);
+                view.setAlpha(Math.max(1.0f + position, 0.0f));
+            } else {
+                // Use the default slide transition when moving to the next page.
+                view.setTranslationX(0.0f);
+                view.setAlpha(1.0f);
+            }
+        }
+    };
+
+    public CalculatorPadViewPager(Context context) {
+        this(context, null);
+    }
+
+    public CalculatorPadViewPager(Context context, AttributeSet attrs) {
+        super(context, attrs);
+
+        setAdapter(mStaticPagerAdapter);
+        setBackgroundColor(getResources().getColor(android.R.color.black));
+        setOnPageChangeListener(mOnPageChangeListener);
+        setPageMargin(getResources().getDimensionPixelSize(R.dimen.pad_page_margin));
+        setPageTransformer(false, mPageTransformer);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+
+        // Invalidate the adapter's data set since children may have been added during inflation.
+        if (getAdapter() == mStaticPagerAdapter) {
+            mStaticPagerAdapter.notifyDataSetChanged();
+        }
+    }
+}
diff --git a/src/com/android/calculator2/CalculatorViewPager.java b/src/com/android/calculator2/CalculatorViewPager.java
deleted file mode 100644
index 880fcc8..0000000
--- a/src/com/android/calculator2/CalculatorViewPager.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.content.Context;
-import android.support.v4.view.ViewPager;
-import android.util.AttributeSet;
-
-public class CalculatorViewPager extends ViewPager {
-    public CalculatorViewPager(Context context) {
-        super(context);
-    }
-
-    public CalculatorViewPager(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    /**
-     * ViewPager inherits ViewGroup's default behavior of delayed clicks
-     * on its children, but in order to make the calc buttons more responsive
-     * we disable that here.
-     */
-    public boolean shouldDelayChildPressedState() {
-        return false;
-    }
-}
diff --git a/src/com/android/calculator2/ColorButton.java b/src/com/android/calculator2/ColorButton.java
deleted file mode 100644
index 7526e85..0000000
--- a/src/com/android/calculator2/ColorButton.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.content.Context;
-import android.graphics.Paint;
-import android.util.AttributeSet;
-import android.view.View.OnClickListener;
-import android.view.View;
-import android.widget.Button;
-
-/**
- * Button with click-animation effect.
- */
-class ColorButton extends Button implements OnClickListener {
-    int CLICK_FEEDBACK_COLOR;
-    static final int CLICK_FEEDBACK_INTERVAL = 10;
-    static final int CLICK_FEEDBACK_DURATION = 350;
-
-    float mTextX;
-    float mTextY;
-    long mAnimStart;
-    OnClickListener mListener;
-
-    public ColorButton(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        Calculator calc = (Calculator) context;
-        mListener = calc.mListener;
-        setOnClickListener(this);
-    }
-
-    public void onClick(View view) {
-        mListener.onClick(this);
-    }
-
-    @Override
-    public void onSizeChanged(int w, int h, int oldW, int oldH) {
-        measureText();
-    }
-
-    private void measureText() {
-        Paint paint = getPaint();
-        mTextX = (getWidth() - paint.measureText(getText().toString())) / 2;
-        mTextY = (getHeight() - paint.ascent() - paint.descent()) / 2;
-    }
-
-    @Override
-    protected void onTextChanged(CharSequence text, int start, int before, int after) {
-        measureText();
-    }
-}
diff --git a/src/com/android/calculator2/EventListener.java b/src/com/android/calculator2/EventListener.java
deleted file mode 100644
index 1d6f5d5..0000000
--- a/src/com/android/calculator2/EventListener.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.support.v4.view.ViewPager;
-import android.view.KeyEvent;
-import android.view.View;
-import android.widget.Button;
-
-class EventListener implements View.OnKeyListener,
-                               View.OnClickListener,
-                               View.OnLongClickListener {
-    Logic mHandler;
-    ViewPager mPager;
-
-    void setHandler(Logic handler, ViewPager pager) {
-        mHandler = handler;
-        mPager = pager;
-    }
-
-    @Override
-    public void onClick(View view) {
-        int id = view.getId();
-        switch (id) {
-        case R.id.del:
-            mHandler.onDelete();
-            break;
-
-        case R.id.clear:
-            mHandler.onClear();
-            break;
-
-        case R.id.equal:
-            mHandler.onEnter();
-            break;
-
-        default:
-            if (view instanceof Button) {
-                String text = ((Button) view).getText().toString();
-                if (text.length() >= 2) {
-                    // add paren after sin, cos, ln, etc. from buttons
-                    text += '(';
-                }
-                mHandler.insert(text);
-                if (mPager != null && mPager.getCurrentItem() == Calculator.ADVANCED_PANEL) {
-                    mPager.setCurrentItem(Calculator.BASIC_PANEL);
-                }
-            }
-        }
-    }
-
-    @Override
-    public boolean onLongClick(View view) {
-        int id = view.getId();
-        if (id == R.id.del) {
-            mHandler.onClear();
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
-        int action = keyEvent.getAction();
-
-        if (keyCode == KeyEvent.KEYCODE_DPAD_LEFT ||
-            keyCode == KeyEvent.KEYCODE_DPAD_RIGHT) {
-            boolean eat = mHandler.eatHorizontalMove(keyCode == KeyEvent.KEYCODE_DPAD_LEFT);
-            return eat;
-        }
-
-        //Work-around for spurious key event from IME, bug #1639445
-        if (action == KeyEvent.ACTION_MULTIPLE && keyCode == KeyEvent.KEYCODE_UNKNOWN) {
-            return true; // eat it
-        }
-
-        //Calculator.log("KEY " + keyCode + "; " + action);
-
-        if (keyEvent.getUnicodeChar() == '=') {
-            if (action == KeyEvent.ACTION_UP) {
-                mHandler.onEnter();
-            }
-            return true;
-        }
-
-        if (keyCode != KeyEvent.KEYCODE_DPAD_CENTER &&
-            keyCode != KeyEvent.KEYCODE_DPAD_UP &&
-            keyCode != KeyEvent.KEYCODE_DPAD_DOWN &&
-            keyCode != KeyEvent.KEYCODE_ENTER) {
-            if (keyEvent.isPrintingKey() && action == KeyEvent.ACTION_UP) {
-                // Tell the handler that text was updated.
-                mHandler.onTextChanged();
-            }
-            return false;
-        }
-
-        /*
-           We should act on KeyEvent.ACTION_DOWN, but strangely
-           sometimes the DOWN event isn't received, only the UP.
-           So the workaround is to act on UP...
-           http://b/issue?id=1022478
-         */
-
-        if (action == KeyEvent.ACTION_UP) {
-            switch (keyCode) {
-            case KeyEvent.KEYCODE_ENTER:
-            case KeyEvent.KEYCODE_DPAD_CENTER:
-                mHandler.onEnter();
-                break;
-
-            case KeyEvent.KEYCODE_DPAD_UP:
-                mHandler.onUp();
-                break;
-
-            case KeyEvent.KEYCODE_DPAD_DOWN:
-                mHandler.onDown();
-                break;
-            }
-        }
-        return true;
-    }
-}
diff --git a/src/com/android/calculator2/History.java b/src/com/android/calculator2/History.java
deleted file mode 100644
index ff2cc65..0000000
--- a/src/com/android/calculator2/History.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.widget.BaseAdapter;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Vector;
-
-class History {
-    private static final int VERSION_1 = 1;
-    private static final int MAX_ENTRIES = 100;
-    Vector<HistoryEntry> mEntries = new Vector<HistoryEntry>();
-    int mPos;
-    BaseAdapter mObserver;
-
-    History() {
-        clear();
-    }
-
-    History(int version, DataInput in) throws IOException {
-        if (version >= VERSION_1) {
-            int size = in.readInt();
-            for (int i = 0; i < size; ++i) {
-                mEntries.add(new HistoryEntry(version, in));
-            }
-            mPos = in.readInt();
-        } else {
-            throw new IOException("invalid version " + version);
-        }
-    }
-
-    void setObserver(BaseAdapter observer) {
-        mObserver = observer;
-    }
-
-    private void notifyChanged() {
-        if (mObserver != null) {
-            mObserver.notifyDataSetChanged();
-        }
-    }
-
-    void clear() {
-        mEntries.clear();
-        mEntries.add(new HistoryEntry(""));
-        mPos = 0;
-        notifyChanged();
-    }
-
-    void write(DataOutput out) throws IOException {
-        out.writeInt(mEntries.size());
-        for (HistoryEntry entry : mEntries) {
-            entry.write(out);
-        }
-        out.writeInt(mPos);
-    }
-
-    void update(String text) {
-        current().setEdited(text);
-    }
-
-    boolean moveToPrevious() {
-        if (mPos > 0) {
-            --mPos;
-            return true;
-        }
-        return false;
-    }
-
-    boolean moveToNext() {
-        if (mPos < mEntries.size() - 1) {
-            ++mPos;
-            return true;
-        }
-        return false;
-    }
-
-    void enter(String text) {
-        current().clearEdited();
-        if (mEntries.size() >= MAX_ENTRIES) {
-            mEntries.remove(0);
-        }
-        if (mEntries.size() < 2 ||
-            !text.equals(mEntries.elementAt(mEntries.size() - 2).getBase())) {
-            mEntries.insertElementAt(new HistoryEntry(text), mEntries.size() - 1);
-        }
-        mPos = mEntries.size() - 1;
-        notifyChanged();
-    }
-
-    HistoryEntry current() {
-        return mEntries.elementAt(mPos);
-    }
-
-    String getText() {
-        return current().getEdited();
-    }
-
-    String getBase() {
-        return current().getBase();
-    }
-}
diff --git a/src/com/android/calculator2/HistoryAdapter.java b/src/com/android/calculator2/HistoryAdapter.java
deleted file mode 100644
index 02ceeee..0000000
--- a/src/com/android/calculator2/HistoryAdapter.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.view.LayoutInflater;
-import android.view.ViewGroup;
-import android.view.View;
-import android.content.Context;
-import android.widget.BaseAdapter;
-import android.widget.TextView;
-
-import java.util.Vector;
-
-import org.javia.arity.SyntaxException;
-
-class HistoryAdapter extends BaseAdapter {
-    private Vector<HistoryEntry> mEntries;
-    private LayoutInflater mInflater;
-    private Logic mEval;
-    
-    HistoryAdapter(Context context, History history, Logic evaluator) {
-        mEntries = history.mEntries;
-        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-        mEval = evaluator;
-    }
-
-    // @Override
-    public int getCount() {
-        return mEntries.size() - 1;
-    }
-
-    // @Override
-    public Object getItem(int position) {
-        return mEntries.elementAt(position);
-    }
-
-    // @Override
-    public long getItemId(int position) {
-        return position;
-    }
-
-    @Override
-    public boolean hasStableIds() {
-        return true;
-    }
-
-    // @Override
-    public View getView(int position, View convertView, ViewGroup parent) {
-        View view;
-        if (convertView == null) {
-            view = mInflater.inflate(R.layout.history_item, parent, false);
-        } else {
-            view = convertView;
-        }
-
-        TextView expr   = (TextView) view.findViewById(R.id.historyExpr);
-        TextView result = (TextView) view.findViewById(R.id.historyResult);
-
-        HistoryEntry entry = mEntries.elementAt(position);
-        String base = entry.getBase();
-        expr.setText(entry.getBase());
-
-        try {
-            String res = mEval.evaluate(base);
-            result.setText("= " + res);
-        } catch (SyntaxException e) {
-            result.setText("");
-        }
-
-        return view;
-    }
-}
-
diff --git a/src/com/android/calculator2/HistoryEntry.java b/src/com/android/calculator2/HistoryEntry.java
deleted file mode 100644
index 80319d8..0000000
--- a/src/com/android/calculator2/HistoryEntry.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
-class HistoryEntry {
-    private static final int VERSION_1 = 1;
-    private String mBase;
-    private String mEdited;
-
-    HistoryEntry(String str) {
-        mBase = str;
-        clearEdited();
-    }
-
-    HistoryEntry(int version, DataInput in) throws IOException {
-        if (version >= VERSION_1) {
-            mBase   = in.readUTF();
-            mEdited = in.readUTF();
-            //Calculator.log("load " + mEdited);
-        } else {
-            throw new IOException("invalid version " + version);
-        }
-    }
-    
-    void write(DataOutput out) throws IOException {
-        out.writeUTF(mBase);
-        out.writeUTF(mEdited);
-        //Calculator.log("save " + mEdited);
-    }
-
-    @Override
-    public String toString() {
-        return mBase;
-    }
-
-    void clearEdited() {
-        mEdited = mBase;
-    }
-
-    String getEdited() {
-        return mEdited;
-    }
-
-    void setEdited(String edited) {
-        mEdited = edited;
-    }
-
-    String getBase() {
-        return mBase;
-    }
-}
diff --git a/src/com/android/calculator2/Logic.java b/src/com/android/calculator2/Logic.java
deleted file mode 100644
index 83db577..0000000
--- a/src/com/android/calculator2/Logic.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import com.android.calculator2.CalculatorDisplay.Scroll;
-
-import android.text.TextUtils;
-import android.view.KeyEvent;
-import android.widget.EditText;
-import android.content.Context;
-import android.content.res.Resources;
-
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map.Entry;
-import java.util.Set;
-
-import org.javia.arity.Symbols;
-import org.javia.arity.SyntaxException;
-
-class Logic {
-    private CalculatorDisplay mDisplay;
-    private Symbols mSymbols = new Symbols();
-    private History mHistory;
-    private String  mResult = "";
-    private boolean mIsError = false;
-    private int mLineLength = 0;
-
-    private static final String INFINITY_UNICODE = "\u221e";
-
-    public static final String MARKER_EVALUATE_ON_RESUME = "?";
-
-    // the two strings below are the result of Double.toString() for Infinity & NaN
-    // they are not output to the user and don't require internationalization
-    private static final String INFINITY = "Infinity";
-    private static final String NAN      = "NaN";
-
-    static final char MINUS = '\u2212';
-
-    private final String mErrorString;
-
-    public final static int DELETE_MODE_BACKSPACE = 0;
-    public final static int DELETE_MODE_CLEAR = 1;
-
-    private int mDeleteMode = DELETE_MODE_BACKSPACE;
-
-    public interface Listener {
-        void onDeleteModeChange();
-    }
-
-    private Listener mListener;
-    private Context mContext;
-    private Set<Entry<String, String>> mTranslationsSet;
-
-    Logic(Context context, History history, CalculatorDisplay display) {
-        mContext = context;
-        mErrorString = mContext.getResources().getString(R.string.error);
-        mHistory = history;
-        mDisplay = display;
-        mDisplay.setLogic(this);
-    }
-
-    public void setListener(Listener listener) {
-        this.mListener = listener;
-    }
-
-    public void setDeleteMode(int mode) {
-        if (mDeleteMode != mode) {
-            mDeleteMode = mode;
-            mListener.onDeleteModeChange();
-        }
-    }
-
-    public int getDeleteMode() {
-        return mDeleteMode;
-    }
-
-    void setLineLength(int nDigits) {
-        mLineLength = nDigits;
-    }
-
-    boolean eatHorizontalMove(boolean toLeft) {
-        EditText editText = mDisplay.getEditText();
-        int cursorPos = editText.getSelectionStart();
-        return toLeft ? cursorPos == 0 : cursorPos >= editText.length();
-    }
-
-    private String getText() {
-        return mDisplay.getText().toString();
-    }
-
-    void insert(String delta) {
-        mDisplay.insert(delta);
-        setDeleteMode(DELETE_MODE_BACKSPACE);
-    }
-
-    public void onTextChanged() {
-        setDeleteMode(DELETE_MODE_BACKSPACE);
-    }
-
-    public void resumeWithHistory() {
-        clearWithHistory(false);
-    }
-
-    private void clearWithHistory(boolean scroll) {
-        String text = mHistory.getText();
-        if (MARKER_EVALUATE_ON_RESUME.equals(text)) {
-            if (!mHistory.moveToPrevious()) {
-                text = "";
-            }
-            text = mHistory.getText();
-            evaluateAndShowResult(text, CalculatorDisplay.Scroll.NONE);
-        } else {
-            mResult = "";
-            mDisplay.setText(
-                    text, scroll ? CalculatorDisplay.Scroll.UP : CalculatorDisplay.Scroll.NONE);
-            mIsError = false;
-        }
-    }
-
-    private void clear(boolean scroll) {
-        mHistory.enter("");
-        mDisplay.setText("", scroll ? CalculatorDisplay.Scroll.UP : CalculatorDisplay.Scroll.NONE);
-        cleared();
-    }
-
-    void cleared() {
-        mResult = "";
-        mIsError = false;
-        updateHistory();
-
-        setDeleteMode(DELETE_MODE_BACKSPACE);
-    }
-
-    boolean acceptInsert(String delta) {
-        String text = getText();
-        return !mIsError &&
-            (!mResult.equals(text) ||
-             isOperator(delta) ||
-             mDisplay.getSelectionStart() != text.length());
-    }
-
-    void onDelete() {
-        if (getText().equals(mResult) || mIsError) {
-            clear(false);
-        } else {
-            mDisplay.dispatchKeyEvent(new KeyEvent(0, KeyEvent.KEYCODE_DEL));
-            mResult = "";
-        }
-    }
-
-    void onClear() {
-        clear(mDeleteMode == DELETE_MODE_CLEAR);
-    }
-
-    void onEnter() {
-        if (mDeleteMode == DELETE_MODE_CLEAR) {
-            clearWithHistory(false); // clear after an Enter on result
-        } else {
-            evaluateAndShowResult(getText(), CalculatorDisplay.Scroll.UP);
-        }
-    }
-
-    public void evaluateAndShowResult(String text, Scroll scroll) {
-        try {
-            String result = evaluate(text);
-            if (!text.equals(result)) {
-                mHistory.enter(text);
-                mResult = result;
-                mDisplay.setText(mResult, scroll);
-                setDeleteMode(DELETE_MODE_CLEAR);
-            }
-        } catch (SyntaxException e) {
-            mIsError = true;
-            mResult = mErrorString;
-            mDisplay.setText(mResult, scroll);
-            setDeleteMode(DELETE_MODE_CLEAR);
-        }
-    }
-
-    void onUp() {
-        String text = getText();
-        if (!text.equals(mResult)) {
-            mHistory.update(text);
-        }
-        if (mHistory.moveToPrevious()) {
-            mDisplay.setText(mHistory.getText(), CalculatorDisplay.Scroll.DOWN);
-        }
-    }
-
-    void onDown() {
-        String text = getText();
-        if (!text.equals(mResult)) {
-            mHistory.update(text);
-        }
-        if (mHistory.moveToNext()) {
-            mDisplay.setText(mHistory.getText(), CalculatorDisplay.Scroll.UP);
-        }
-    }
-
-    void updateHistory() {
-        String text = getText();
-        // Don't set the ? marker for empty text or the error string.
-        // There is no need to evaluate those later.
-        if (!TextUtils.isEmpty(text) && !TextUtils.equals(text, mErrorString)
-                && text.equals(mResult)) {
-            mHistory.update(MARKER_EVALUATE_ON_RESUME);
-        } else {
-            mHistory.update(getText());
-        }
-    }
-
-    String evaluate(String input) throws SyntaxException {
-        if (input.trim().equals("")) {
-            return "";
-        }
-
-        // drop final infix operators (they can only result in error)
-        int size = input.length();
-        while (size > 0 && isOperator(input.charAt(size - 1))) {
-            input = input.substring(0, size - 1);
-            --size;
-        }
-        // Find and replace any translated mathematical functions.
-        input = replaceTranslations(input);
-        double value = mSymbols.eval(input);
-
-        String result = "";
-        for (int precision = mLineLength; precision > 6; precision--) {
-            result = tryFormattingWithPrecision(value, precision);
-            if (result.length() <= mLineLength) {
-                break;
-            }
-        }
-        return result.replace('-', MINUS).replace(INFINITY, INFINITY_UNICODE);
-    }
-
-    private void addTranslation(HashMap<String, String> map, int t, int m) {
-        Resources res = mContext.getResources();
-        String translated = res.getString(t);
-        String math = res.getString(m);
-        if (!TextUtils.equals(translated, math)) {
-            map.put(translated, math);
-        }
-    }
-
-    private String replaceTranslations(String input) {
-        if (mTranslationsSet == null) {
-            HashMap<String, String> map = new HashMap<String, String>();
-            addTranslation(map, R.string.sin, R.string.sin_mathematical_value);
-            addTranslation(map, R.string.cos, R.string.cos_mathematical_value);
-            addTranslation(map, R.string.tan, R.string.tan_mathematical_value);
-            addTranslation(map, R.string.e, R.string.e_mathematical_value);
-            addTranslation(map, R.string.ln, R.string.ln_mathematical_value);
-            addTranslation(map, R.string.lg, R.string.lg_mathematical_value);
-            mTranslationsSet = map.entrySet();
-        }
-        for (Entry<String, String> entry : mTranslationsSet) {
-            input = input.replace(entry.getKey(), entry.getValue());
-        }
-        return input;
-    }
-
-    private String tryFormattingWithPrecision(double value, int precision) {
-        // The standard scientific formatter is basically what we need. We will
-        // start with what it produces and then massage it a bit.
-        String result = String.format(Locale.US, "%" + mLineLength + "." + precision + "g", value);
-        if (result.equals(NAN)) { // treat NaN as Error
-            mIsError = true;
-            return mErrorString;
-        }
-        String mantissa = result;
-        String exponent = null;
-        int e = result.indexOf('e');
-        if (e != -1) {
-            mantissa = result.substring(0, e);
-
-            // Strip "+" and unnecessary 0's from the exponent
-            exponent = result.substring(e + 1);
-            if (exponent.startsWith("+")) {
-                exponent = exponent.substring(1);
-            }
-            exponent = String.valueOf(Integer.parseInt(exponent));
-        } else {
-            mantissa = result;
-        }
-
-        int period = mantissa.indexOf('.');
-        if (period == -1) {
-            period = mantissa.indexOf(',');
-        }
-        if (period != -1) {
-            // Strip trailing 0's
-            while (mantissa.length() > 0 && mantissa.endsWith("0")) {
-                mantissa = mantissa.substring(0, mantissa.length() - 1);
-            }
-            if (mantissa.length() == period + 1) {
-                mantissa = mantissa.substring(0, mantissa.length() - 1);
-            }
-        }
-
-        if (exponent != null) {
-            result = mantissa + 'e' + exponent;
-        } else {
-            result = mantissa;
-        }
-        return result;
-    }
-
-    static boolean isOperator(String text) {
-        return text.length() == 1 && isOperator(text.charAt(0));
-    }
-
-    static boolean isOperator(char c) {
-        //plus minus times div
-        return "+\u2212\u00d7\u00f7/*".indexOf(c) != -1;
-    }
-}
diff --git a/src/com/android/calculator2/PanelSwitcher.java b/src/com/android/calculator2/PanelSwitcher.java
deleted file mode 100644
index 0933c21..0000000
--- a/src/com/android/calculator2/PanelSwitcher.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.GestureDetector;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.animation.Animation;
-import android.view.animation.Animation.AnimationListener;
-import android.view.animation.TranslateAnimation;
-import android.widget.FrameLayout;
-
-class PanelSwitcher extends FrameLayout implements AnimationListener {
-    private static final int MAJOR_MOVE = 60;
-    private static final int ANIM_DURATION = 400;
-
-    private GestureDetector mGestureDetector;
-    private int mCurrentView;
-    private View mChildren[] = new View[0];
-
-    private int mWidth;
-    private TranslateAnimation inLeft;
-    private TranslateAnimation outLeft;
-
-    private TranslateAnimation inRight;
-    private TranslateAnimation outRight;
-
-    private static final int LEFT  = 1;
-    private static final int RIGHT = 2;
-    private int mPreviousMove;
-
-    public interface Listener {
-        void onChange();
-    }
-
-    private Listener mListener;
-
-    public PanelSwitcher(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        mCurrentView = 0;
-        mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
-                @Override
-                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
-                                       float velocityY) {
-                    int dx = (int) (e2.getX() - e1.getX());
-
-                    // don't accept the fling if it's too short
-                    // as it may conflict with a button push
-                    if (Math.abs(dx) > MAJOR_MOVE && Math.abs(velocityX) > Math.abs(velocityY)) {
-                        if (velocityX > 0) {
-                            moveRight();
-                        } else {
-                            moveLeft();
-                        }
-                        return true;
-                    } else {
-                        return false;
-                    }
-                }
-            });
-    }
-
-    public void setListener(Listener listener) {
-        this.mListener = listener;
-    }
-
-    void setCurrentIndex(int current) {
-        boolean changed = mCurrentView != current;
-        mCurrentView = current;
-        updateCurrentView();
-        if (changed && mListener != null) {
-            mListener.onChange();
-        }
-    }
-
-    private void updateCurrentView() {
-        for (int i = mChildren.length-1; i >= 0 ; --i) {
-            mChildren[i].setVisibility(i==mCurrentView ? View.VISIBLE : View.GONE);
-        }
-    }
-
-    @Override
-    public void onSizeChanged(int w, int h, int oldW, int oldH) {
-        mWidth = w;
-        inLeft   = new TranslateAnimation(mWidth, 0, 0, 0);
-        inLeft.setAnimationListener(this);
-        outLeft  = new TranslateAnimation(0, -mWidth, 0, 0);
-        inRight  = new TranslateAnimation(-mWidth, 0, 0, 0);
-        inRight.setAnimationListener(this);
-        outRight = new TranslateAnimation(0, mWidth, 0, 0);
-
-        inLeft.setDuration(ANIM_DURATION);
-        outLeft.setDuration(ANIM_DURATION);
-        inRight.setDuration(ANIM_DURATION);
-        outRight.setDuration(ANIM_DURATION);
-    }
-
-    @Override
-    protected void onFinishInflate() {
-        int count = getChildCount();
-        mChildren = new View[count];
-        for (int i = 0; i < count; ++i) {
-            mChildren[i] = getChildAt(i);
-        }
-        updateCurrentView();
-    }
-
-    @Override
-    public boolean onTouchEvent(MotionEvent event) {
-        mGestureDetector.onTouchEvent(event);
-        return true;
-    }
-
-    @Override
-    public boolean onInterceptTouchEvent(MotionEvent event) {
-        return mGestureDetector.onTouchEvent(event);
-    }
-
-    void moveLeft() {
-        //  <--
-        if (mCurrentView < mChildren.length - 1 && mPreviousMove != LEFT) {
-            mChildren[mCurrentView+1].setVisibility(View.VISIBLE);
-            mChildren[mCurrentView+1].startAnimation(inLeft);
-            mChildren[mCurrentView].startAnimation(outLeft);
-            mChildren[mCurrentView].setVisibility(View.GONE);
-
-            mCurrentView++;
-            mPreviousMove = LEFT;
-        }
-    }
-
-    void moveRight() {
-        //  -->
-        if (mCurrentView > 0 && mPreviousMove != RIGHT) {
-            mChildren[mCurrentView-1].setVisibility(View.VISIBLE);
-            mChildren[mCurrentView-1].startAnimation(inRight);
-            mChildren[mCurrentView].startAnimation(outRight);
-            mChildren[mCurrentView].setVisibility(View.GONE);
-
-            mCurrentView--;
-            mPreviousMove = RIGHT;
-        }
-    }
-
-    int getCurrentIndex() {
-        return mCurrentView;
-    }
-
-    @Override
-    public void onAnimationRepeat(Animation animation) {
-    }
-
-    @Override
-    public void onAnimationStart(Animation animation) {
-    }
-
-    @Override
-    public void onAnimationEnd(Animation animation) {
-        if (mListener != null) {
-            mListener.onChange();
-        }
-    }
-}
diff --git a/src/com/android/calculator2/Persist.java b/src/com/android/calculator2/Persist.java
deleted file mode 100644
index 208faed..0000000
--- a/src/com/android/calculator2/Persist.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.calculator2;
-
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.io.IOException;
-import java.io.FileNotFoundException;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.DataInputStream;
-import java.io.DataOutputStream;
-
-import android.content.Context;
-
-class Persist {
-    private static final int LAST_VERSION = 2;
-    private static final String FILE_NAME = "calculator.data";
-    private Context mContext;
-
-    History history = new History();
-    private int mDeleteMode;
-
-    Persist(Context context) {
-        this.mContext = context;
-    }
-
-    public void setDeleteMode(int mode) {
-        mDeleteMode = mode;
-    }
-
-    public int getDeleteMode() {
-        return mDeleteMode;
-    }
-
-    public void load() {
-        try {
-            InputStream is = new BufferedInputStream(mContext.openFileInput(FILE_NAME), 8192);
-            DataInputStream in = new DataInputStream(is);
-            int version = in.readInt();
-            if (version > 1) {
-                mDeleteMode = in.readInt();
-            } else if (version > LAST_VERSION) {
-                throw new IOException("data version " + version + "; expected " + LAST_VERSION);
-            }
-            history = new History(version, in);
-            in.close();
-        } catch (FileNotFoundException e) {
-            Calculator.log("" + e);
-        } catch (IOException e) {
-            Calculator.log("" + e);
-        }
-    }
-
-    public void save() {
-        try {
-            OutputStream os = new BufferedOutputStream(mContext.openFileOutput(FILE_NAME, 0), 8192);
-            DataOutputStream out = new DataOutputStream(os);
-            out.writeInt(LAST_VERSION);
-            out.writeInt(mDeleteMode);
-            history.write(out);
-            out.close();
-        } catch (IOException e) {
-            Calculator.log("" + e);
-        }
-    }
-}
diff --git a/tests/Android.mk b/tests/Android.mk
deleted file mode 100644
index 11455d0..0000000
--- a/tests/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := CalculatorTests
-
-LOCAL_INSTRUMENTATION_FOR := Calculator
-
-include $(BUILD_PACKAGE)
diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml
deleted file mode 100644
index d8bed49..0000000
--- a/tests/AndroidManifest.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2008 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-  
-          http://www.apache.org/licenses/LICENSE-2.0
-  
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.calculator2.tests">
-
-    <application>
-        <uses-library android:name="android.test.runner" />
-    </application>
-
-    <instrumentation android:name="CalculatorLaunchPerformance"
-        android:targetPackage="com.android.calculator2"
-        android:label="Calculator Launch Performance">
-    </instrumentation>
-    
-    <instrumentation android:name="android.test.InstrumentationTestRunner"
-        android:targetPackage="com.android.calculator2"
-        android:label="Calculator Functional Testset">
-    </instrumentation>
-
-</manifest> 
diff --git a/tests/src/com/android/calculator2/CalculatorHitSomeButtons.java b/tests/src/com/android/calculator2/CalculatorHitSomeButtons.java
deleted file mode 100644
index c512edd..0000000
--- a/tests/src/com/android/calculator2/CalculatorHitSomeButtons.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**
- * Copyright (c) 2008, Google Inc.
- *
- * 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.calculator2;
-
-import android.app.Activity;
-import android.app.Instrumentation;
-import android.app.Instrumentation.ActivityMonitor;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.test.ActivityInstrumentationTestCase;
-import android.test.suitebuilder.annotation.LargeTest;
-import android.util.Log;
-import android.view.KeyEvent;
-import android.view.View;
-import android.widget.EditText;
-import android.widget.Button;
-import android.widget.LinearLayout;
-import android.graphics.Rect;
-import android.test.TouchUtils;
-
-import com.android.calculator2.Calculator;
-import com.android.calculator2.R;
-import com.android.calculator2.CalculatorDisplay;
-
-/**
- * Instrumentation tests for poking some buttons
- *
- */
-
-public class CalculatorHitSomeButtons extends ActivityInstrumentationTestCase <Calculator>{
-    public boolean setup = false;
-    private static final String TAG = "CalculatorTests";
-    Calculator mActivity = null;
-    Instrumentation mInst = null;
-    
-    public CalculatorHitSomeButtons() {
-        super("com.android.calculator2", Calculator.class);
-    }
-    
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-        
-        mActivity = getActivity();
-        mInst = getInstrumentation();
-    }
-    
-    @Override
-    protected void tearDown() throws Exception {
-        super.tearDown();
-    }
-    
-    @LargeTest
-    public void testPressSomeKeys() {
-        Log.v(TAG, "Pressing some keys!");
-        
-        // Make sure that we clear the output
-        press(KeyEvent.KEYCODE_ENTER);
-        press(KeyEvent.KEYCODE_CLEAR);
-        
-        // 3 + 4 * 5 => 23
-        press(KeyEvent.KEYCODE_3);
-        press(KeyEvent.KEYCODE_PLUS);
-        press(KeyEvent.KEYCODE_4);
-        press(KeyEvent.KEYCODE_9 | KeyEvent.META_SHIFT_ON);
-        press(KeyEvent.KEYCODE_5);
-        press(KeyEvent.KEYCODE_ENTER);
-        
-        assertEquals(displayVal(), "23");
-    }
-    
-    @LargeTest
-    public void testTapSomeButtons() {
-        Log.v(TAG, "Tapping some buttons!");
-        
-        // Make sure that we clear the output
-        tap(R.id.equal);
-        tap(R.id.del);
-        
-        // 567 / 3 => 189
-        tap(R.id.digit5);
-        tap(R.id.digit6);
-        tap(R.id.digit7);
-        tap(R.id.div);
-        tap(R.id.digit3);
-        tap(R.id.equal);
-        
-        assertEquals(displayVal(), "189");
-        
-        // make sure we can continue calculations also
-        // 189 - 789 => -600
-        tap(R.id.minus);
-        tap(R.id.digit7);
-        tap(R.id.digit8);
-        tap(R.id.digit9);
-        tap(R.id.equal);
-        
-        // Careful: the first digit in the expected value is \u2212, not "-" (a hyphen)
-        assertEquals(displayVal(), mActivity.getString(R.string.minus) + "600");
-    }
-  
-    // helper functions
-    private void press(int keycode) {
-        mInst.sendKeyDownUpSync(keycode);
-    }
-    
-    private boolean tap(int id) {
-        View view = mActivity.findViewById(id);
-        if(view != null) {
-            TouchUtils.clickView(this, view);
-            return true;
-        }
-        return false;
-    }
-  
-    private String displayVal() {
-        CalculatorDisplay display = (CalculatorDisplay) mActivity.findViewById(R.id.display);
-        assertNotNull(display);
-        
-        EditText box = (EditText) display.getCurrentView();
-        assertNotNull(box);
-        
-        return box.getText().toString();
-    }
-}
-
diff --git a/tests/src/com/android/calculator2/CalculatorInstrumentationTestRunner.java b/tests/src/com/android/calculator2/CalculatorInstrumentationTestRunner.java
deleted file mode 100644
index 16c9d36..0000000
--- a/tests/src/com/android/calculator2/CalculatorInstrumentationTestRunner.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Copyright (c) 2008, Google Inc.
- *
- * 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.calculator2;
-
-import android.test.InstrumentationTestRunner;
-import android.test.InstrumentationTestSuite;
-
-import com.android.calculator2.CalculatorHitSomeButtons;
-
-import junit.framework.TestSuite;
-
-public class CalculatorInstrumentationTestRunner extends InstrumentationTestRunner {
-    
-    @Override
-    public TestSuite getAllTests() {
-        TestSuite suite = new InstrumentationTestSuite(this);
-        suite.addTestSuite(CalculatorHitSomeButtons.class);
-        
-        return suite;
-    }
-    
-    @Override
-    public ClassLoader getLoader() {
-        return CalculatorInstrumentationTestRunner.class.getClassLoader();
-    }
-}
-
diff --git a/tests/src/com/android/calculator2/tests/CalculatorLaunchPerformance.java b/tests/src/com/android/calculator2/tests/CalculatorLaunchPerformance.java
deleted file mode 100644
index 6c84e17..0000000
--- a/tests/src/com/android/calculator2/tests/CalculatorLaunchPerformance.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.calculator2.tests;
-
-import android.app.Activity;
-import android.test.LaunchPerformanceBase;
-import android.os.Bundle;
-
-import java.util.Map;
-
-/**
- * Instrumentation class for Calculator launch performance testing.
- */
-public class CalculatorLaunchPerformance extends LaunchPerformanceBase {
- 
-    public static final String LOG_TAG = "CalculatorLaunchPerformance";
-
-    public CalculatorLaunchPerformance() {
-        super();
-    }
-
-    @Override
-    public void onCreate(Bundle arguments) {
-        super.onCreate(arguments);
-
-        mIntent.setClassName(getTargetContext(), "com.android.calculator2.Calculator");
-        start();
-    }
-
-    /**
-     * Calls LaunchApp and finish.
-     */
-    @Override
-    public void onStart() {
-        super.onStart();
-        LaunchApp();
-        finish(Activity.RESULT_OK, mResults);
-    }
-}
