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-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-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-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-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-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-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-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-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);
-    }
-}
