diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
deleted file mode 100644
index 2673862..0000000
--- a/res/values-af/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Programinligting"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Toeganklikheid"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fisieke sleutelbord"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Bestuur sleutelborde"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Instellingsvoorstelle"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Vee geskiedenis uit"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Geen resultate nie"</string>
-</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
deleted file mode 100644
index 247603a..0000000
--- a/res/values-am/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"የመተግበሪያ መረጃ"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ተደራሽነት"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"አካላዊ ቁልፍ ሰሌዳ"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"የቁልፍ ሰሌዳዎችን አቀናብር"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"የቅንብሮች አስተያየት ጥቆማ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ታሪክን አጽዳ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ምንም ውጤቶች የሉም"</string>
-</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
deleted file mode 100644
index f2db24e..0000000
--- a/res/values-ar/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"معلومات التطبيق"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"تسهيل الاستخدام"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"لوحة المفاتيح الخارجية"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"إدارة لوحات المفاتيح"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"تطبيق Settings Suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"محو السجلّ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ما مِن نتائج."</string>
-</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
deleted file mode 100644
index 25d2ba7..0000000
--- a/res/values-as/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"এপৰ তথ্য"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"সাধ্য সুবিধা"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"কায়িক কীব’ৰ্ড"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"কীব’ৰ্ড পৰিচালনা কৰক"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ছেটিঙৰ পৰামৰ্শ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ইতিহাস মচক"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"কোনো ফলাফল নাই"</string>
-</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
deleted file mode 100644
index b66bd62..0000000
--- a/res/values-az/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Tətbiq haqqında"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Əlçatımlılıq"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fiziki klaviatura"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Klaviaturaları idarə edin"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Ayar Təklifi"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Tarixçəni silin"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nəticə yoxdur"</string>
-</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
deleted file mode 100644
index d95dda6..0000000
--- a/res/values-b+sr+Latn/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informacije o aplikaciji"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Pristupačnost"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fizička tastatura"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Upravljajte tastaturama"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Predlozi za podešavanja"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Obriši istoriju"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nema rezultata"</string>
-</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
deleted file mode 100644
index db9af8b..0000000
--- a/res/values-be/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Інфармацыя пра праграму"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Спецыяльныя магчымасці"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Фізічная клавіятура"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Кіраваць клавіятурамі"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Прапановы налад"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Ачысціць гісторыю"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Вынікаў няма"</string>
-</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
deleted file mode 100644
index ef91ddf..0000000
--- a/res/values-bg/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Информация за приложенията"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Достъпност"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Физическа клавиатура"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Управление на клавиатурите"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Предложения за настройки"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Изчистване на историята"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Няма резултати"</string>
-</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
deleted file mode 100644
index 98e4d5e..0000000
--- a/res/values-bn/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"অ্যাপ সংক্রান্ত তথ্য"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"অ্যাক্সেসিবিলিটি"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ফিজিক্যাল কীবোর্ড"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"কীবোর্ড ম্যানেজ করুন"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"সেটিংস সংক্রান্ত সাজেশন"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ইতিহাস মুছুন"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"কোন ফলাফল নেই"</string>
-</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
deleted file mode 100644
index 13a66ea..0000000
--- a/res/values-bs/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informacije o aplikaciji"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Pristupačnost"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fizička tastatura"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Upravljajte tastaturama"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Prijedlozi postavki"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Obriši historiju"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nema rezultata"</string>
-</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
deleted file mode 100644
index 7b1a2aa..0000000
--- a/res/values-ca/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informació de les aplicacions"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibilitat"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teclat físic"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gestiona els teclats"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Suggeriments de configuració"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Esborra l\'historial"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"No hi ha cap resultat"</string>
-</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
deleted file mode 100644
index 64a4f1d..0000000
--- a/res/values-cs/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informace o aplikaci"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Přístupnost"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fyzická klávesnice"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Spravovat klávesnice"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Návrhy nastavení"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Vymazání historie"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Žádné výsledky"</string>
-</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
deleted file mode 100644
index 6c2dbcc..0000000
--- a/res/values-da/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Appinfo"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Hjælpefunktioner"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fysisk tastatur"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Administrer tastaturer"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Forslag til indstillinger"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Ryd historik"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Ingen resultater"</string>
-</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
deleted file mode 100644
index 5add710..0000000
--- a/res/values-de/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App-Info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Bedienungshilfen"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Physische Tastatur"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Tastaturen verwalten"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Einstellungsempfehlungen"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Verlauf löschen"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Keine Ergebnisse"</string>
-</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
deleted file mode 100644
index 940feb8..0000000
--- a/res/values-el/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Πληροφορίες εφαρμογής"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Προσβασιμότητα"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Φυσικό πληκτρολόγιο"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Διαχείριση πληκτρολογίων"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Προτάσεις ρυθμίσεων"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Διαγραφή ιστορικού"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Κανένα αποτέλεσμα"</string>
-</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
deleted file mode 100644
index 54f3bc6..0000000
--- a/res/values-en-rAU/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibility"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Physical keyboard"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Manage keyboards"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Settings suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Clear history"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"No results"</string>
-</resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
deleted file mode 100644
index 54f3bc6..0000000
--- a/res/values-en-rCA/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibility"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Physical keyboard"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Manage keyboards"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Settings suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Clear history"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"No results"</string>
-</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
deleted file mode 100644
index 54f3bc6..0000000
--- a/res/values-en-rGB/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibility"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Physical keyboard"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Manage keyboards"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Settings suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Clear history"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"No results"</string>
-</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
deleted file mode 100644
index 54f3bc6..0000000
--- a/res/values-en-rIN/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibility"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Physical keyboard"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Manage keyboards"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Settings suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Clear history"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"No results"</string>
-</resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
deleted file mode 100644
index 316095d..0000000
--- a/res/values-en-rXC/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎App info‎‏‎‎‏‎"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎com.android.settings.accessibility.AccessibilitySettings‎‏‎‎‏‎"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‎Accessibility‎‏‎‎‏‎"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎Physical keyboard‎‏‎‎‏‎"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎Manage keyboards‎‏‎‎‏‎"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎Settings Suggestions‎‏‎‎‏‎"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎Clear history‎‏‎‎‏‎"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‎No results‎‏‎‎‏‎"</string>
-</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
deleted file mode 100644
index 8d9bf4b..0000000
--- a/res/values-es-rUS/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Información de apps"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accesibilidad"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teclado físico"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Administrar teclados"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Sugerencias de Configuración"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Borrar historial"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Sin resultados"</string>
-</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
deleted file mode 100644
index 71a9d7d..0000000
--- a/res/values-es/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Información de las aplicaciones"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accesibilidad"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teclado físico"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gestionar teclados"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Sugerencias de ajustes"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Borrar historial"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Sin resultados"</string>
-</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
deleted file mode 100644
index fc3aff4..0000000
--- a/res/values-et/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Rakenduse teave"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Juurdepääsetavus"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Füüsiline klaviatuur"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Klaviatuuride haldamine"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Seadete soovitused"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Kustuta ajalugu"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Tulemusi pole"</string>
-</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
deleted file mode 100644
index c41b45f..0000000
--- a/res/values-eu/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Aplikazioen informazioa"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Erabilerraztasuna"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teklatu fisikoa"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Kudeatu teklatuak"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Iradokitako ezarpenak"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Garbitu historia"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Ez dago emaitzarik"</string>
-</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
deleted file mode 100644
index 69bf86b..0000000
--- a/res/values-fa/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"اطلاعات برنامه"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"دسترس‌پذیری"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"صفحه‌کلید فیزیکی"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"مدیریت صفحه‌کلیدها"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"پیشنهادهای تنظیمات"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"پاک کردن سابقه"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"نتیجه‌ای پیدا نشد"</string>
-</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
deleted file mode 100644
index aa21ed9..0000000
--- a/res/values-fi/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Sovelluksen tiedot"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Esteettömyys"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fyysinen näppäimistö"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Muuta näppäimistöasetuksia"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Asetusehdotukset"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Tyhjennä historia"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Ei tuloksia"</string>
-</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
deleted file mode 100644
index 80253db..0000000
--- a/res/values-fr-rCA/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Détails de l\'application"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibilité"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Clavier physique"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gérer les claviers"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Suggestions de paramètres"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Effacer l\'historique"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Aucun résultat"</string>
-</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
deleted file mode 100644
index 8fe1b91..0000000
--- a/res/values-fr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informations sur les applications"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibilité"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Clavier physique"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gérer les claviers"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Suggestions de paramètres"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Effacer l\'historique"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Aucun résultat"</string>
-</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
deleted file mode 100644
index b681253..0000000
--- a/res/values-gl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Información da aplicación"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accesibilidade"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teclado físico"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Xestionar teclados"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Suxestións de configuración"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Borrar historial"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Sen resultados"</string>
-</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
deleted file mode 100644
index 4dc2244..0000000
--- a/res/values-gu/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ઍપની માહિતી"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ઍક્સેસિબિલિટી"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ભૌતિક કીબોર્ડ"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"કીબોર્ડ મેનેજ કરો"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"સેટિંગના સૂચનો"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ઇતિહાસ સાફ કરો"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"કોઈ પરિણામ નથી"</string>
-</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
deleted file mode 100644
index 634f7ff..0000000
--- a/res/values-hi/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ऐप्लिकेशन की जानकारी"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"सुलभता"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"सामान्य कीबोर्ड"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"कीबोर्ड मैनेज करें"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"सेटिंग से जुड़े सुझाव"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"इतिहास मिटाएं"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"कोई नतीजा नहीं मिला"</string>
-</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
deleted file mode 100644
index 118c445..0000000
--- a/res/values-hr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informacije o aplikaciji"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Pristupačnost"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fizička tipkovnica"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Upravljanje tipkovnicama"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Prijedlozi za postavke"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Izbriši povijest"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nema rezultata"</string>
-</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
deleted file mode 100644
index 6b3a213..0000000
--- a/res/values-hu/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Alkalmazásadatok"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Kisegítő lehetőségek"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fizikai billentyűzet"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Billentyűzetek kezelése"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Beállítási javaslatok"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Előzmények törlése"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nincs találat"</string>
-</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
deleted file mode 100644
index 3a476f4..0000000
--- a/res/values-hy/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Հավելվածի մասին"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Հատուկ գործառույթներ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Ֆիզիկական ստեղնաշար"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Կառավարել ստեղնաշարերը"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Առաջարկվող կարգավորումներ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Ջնջել պատմությունը"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Ոչինչ չի գտնվել"</string>
-</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
deleted file mode 100644
index a4656b6..0000000
--- a/res/values-in/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Info aplikasi"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Aksesibilitas"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Keyboard fisik"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Kelola keyboard"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Saran Setelan"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Hapus histori"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Tidak ada hasil"</string>
-</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
deleted file mode 100644
index a0d361b..0000000
--- a/res/values-is/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Upplýsingar um forrit"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Aðgengi"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Vélbúnaðarlyklaborð"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Stjórna lyklaborðum"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Stillingatillögur"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Hreinsa feril"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Engar niðurstöður"</string>
-</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
deleted file mode 100644
index 3ca46f1..0000000
--- a/res/values-it/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informazioni app"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibilità"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Tastiera fisica"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gestisci tastiere"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Suggerimenti per impostazioni"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Cancella cronologia"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nessun risultato"</string>
-</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
deleted file mode 100644
index 6927d93..0000000
--- a/res/values-iw/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"פרטי האפליקציה"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"נגישות"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"מקלדת פיזית"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"ניהול המקלדות"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"הצעות להגדרות"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ניקוי ההיסטוריה"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"אין תוצאות"</string>
-</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
deleted file mode 100644
index 8039dec..0000000
--- a/res/values-ja/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"アプリ情報"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ユーザー補助"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"物理キーボード"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"キーボードの管理"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"推奨設定"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"履歴を削除"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"結果がありません"</string>
-</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
deleted file mode 100644
index 1e229c6..0000000
--- a/res/values-ka/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"აპის ინფო"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"მარტივი წვდომა"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ფიზიკური კლავიატურა"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"კლავიატურების მართვა"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"პარამეტრების შემოთავაზება"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ისტორიის გასუფთავება"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"შედეგები არ არის"</string>
-</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
deleted file mode 100644
index 1e89294..0000000
--- a/res/values-kk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Қолданба туралы ақпарат"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Арнайы мүмкіндіктер"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Физикалық пернетақта"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Пернетақталарды басқару"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Settings Suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Тарихты өшіру"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Нәтижелер жоқ"</string>
-</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
deleted file mode 100644
index 7503c03..0000000
--- a/res/values-km/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ព័ត៌មានកម្មវិធី"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ភាពងាយស្រួល"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ក្ដារចុច​រូបវន្ត"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"គ្រប់គ្រងក្តារចុច"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ការណែនាំ​អំពីការ​កំណត់"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"សម្អាត​ប្រវត្តិ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"គ្មានលទ្ធផលទេ"</string>
-</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
deleted file mode 100644
index 6e32a6a..0000000
--- a/res/values-kn/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ಆ್ಯಪ್ ಮಾಹಿತಿ"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ಪ್ರವೇಶಿಸುವಿಕೆ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"ಕೀಬೋರ್ಡ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಸೂಚನೆಗಳು"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ಇತಿಹಾಸ ತೆರವುಗೊಳಿಸಿ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ಯಾವುದೇ ಫಲಿತಾಂಶಗಳಿಲ್ಲ"</string>
-</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
deleted file mode 100644
index 3b86252..0000000
--- a/res/values-ko/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"앱 정보"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"접근성"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"물리적 키보드"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"키보드 관리"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"설정 추천"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"기록 삭제"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"결과 없음"</string>
-</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
deleted file mode 100644
index 89cf318..0000000
--- a/res/values-ky/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Колдонмо тууралуу"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Атайын мүмкүнчүлүктөр"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Аппараттык баскычтоп"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Баскычтопторду башкаруу"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Жөндөөлөрдү сунуштоо"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Таржымалды тазалоо"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Бир да натыйжа жок"</string>
-</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
deleted file mode 100644
index b209564..0000000
--- a/res/values-lo/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ຂໍ້ມູນແອັບ"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ແປ້ນພິມແທ້"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"ຈັດການແປ້ນພິມ"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ການແນະນຳການຕັ້ງຄ່າ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ລຶບລ້າງປະຫວັດ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ບໍ່ມີຜົນການຊອກຫາ"</string>
-</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
deleted file mode 100644
index 9f543eb..0000000
--- a/res/values-lt/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Programos informacija"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Pritaikomumas"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fizinė klaviatūra"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Tvarkyti klaviatūras"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Nustatymų pasiūlymai"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Išvalyti istoriją"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nėra jokių rezultatų"</string>
-</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
deleted file mode 100644
index b5b1816..0000000
--- a/res/values-lv/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informācija par lietotnēm"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Pieejamība"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fiziskā tastatūra"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Pārvaldīt tastatūras"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Iestatījumu ieteikumi"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Notīrīt vēsturi"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nav rezultātu"</string>
-</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
deleted file mode 100644
index 46847e0..0000000
--- a/res/values-mk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Податоци за апликациите"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Пристапност"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Физичка тастатура"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Управувајте со тастатурите"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Предлози за поставки"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Избришете ја историјата"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Нема резултати"</string>
-</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
deleted file mode 100644
index 54e7c34..0000000
--- a/res/values-ml/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ആപ്പ് വിവരങ്ങൾ"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ഉപയോഗസഹായി"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ഫിസിക്കൽ കീബോഡ്"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"കീബോഡുകൾ മാനേജ് ചെയ്യുക"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ക്രമീകരണ നിർദ്ദേശങ്ങൾ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ചരിത്രം മായ്‌ക്കുക"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ഫലങ്ങളൊന്നുമില്ല"</string>
-</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
deleted file mode 100644
index 38627d8..0000000
--- a/res/values-mn/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Аппын мэдээлэл"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Хандалт"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Биет гар"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Гарыг удирдах"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Тохиргооны зөвлөмжүүд"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Түүхийг арилгах"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Илэрц алга"</string>
-</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
deleted file mode 100644
index 18a22c3..0000000
--- a/res/values-mr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"अ‍ॅप माहिती"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"अ‍ॅक्सेसिबिलिटी"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"वास्तविक कीबोर्ड"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"कीबोर्ड व्यवस्थापित करा"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"सेटिंग्‍ज सूचना"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"इतिहास साफ करा"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"कोणतेही परिणाम नाहीत"</string>
-</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
deleted file mode 100644
index 5cbb067..0000000
--- a/res/values-ms/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Maklumat apl"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Kebolehaksesan"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Papan kekunci fizikal"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Urus papan kekunci"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Cadangan Tetapan"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Kosongkan sejarah"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Tiada hasil"</string>
-</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
deleted file mode 100644
index a4f4cb7..0000000
--- a/res/values-my/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"အက်ပ်အချက်အလက်များ"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"အများသုံးစွဲနိုင်မှု"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ကီးဘုတ် ခလုတ်ခုံ"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"ကီးဘုတ်များ စီမံခန့်ခွဲရန်"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ဆက်တင် အကြံပြုချက်များ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"မှတ်တမ်းကို ရှင်းလင်းရန်"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ရလဒ်များ မရှိပါ"</string>
-</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
deleted file mode 100644
index 7c3023a..0000000
--- a/res/values-nb/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App-info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Tilgjengelighet"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fysisk tastatur"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Administrer tastaturer"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Innstillingsforslag"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Tøm loggen"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Ingen resultater"</string>
-</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
deleted file mode 100644
index 761d091..0000000
--- a/res/values-ne/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"एपसम्बन्धी जानकारी"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"सर्वसुलभता"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"भौतिक किबोर्ड"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"किबोर्डहरूको व्यवस्थापन गर्नुहोस्"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"सेटिङसम्बन्धी सुझावहरू"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"इतिहास मेटाउनुहोस्"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"कुनै पनि परिणाम भेटिएन"</string>
-</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
deleted file mode 100644
index e054ba8..0000000
--- a/res/values-nl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"App-info"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Toegankelijkheid"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fysiek toetsenbord"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Toetsenborden beheren"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Suggesties voor instellingen"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Geschiedenis wissen"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Geen resultaten"</string>
-</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
deleted file mode 100644
index bcd8c22..0000000
--- a/res/values-or/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ଆପ୍ ସୂଚନା"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ଆକ୍ସେସିବିଲିଟୀ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ଫିଜିକଲ୍ କୀବୋର୍ଡ"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"କୀବୋର୍ଡଗୁଡ଼ିକୁ ପରିଚାଳନା କରନ୍ତୁ"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ସେଟିଂସ ପରାମର୍ଶ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ଇତିହାସ ଖାଲି କରନ୍ତୁ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"କୌଣସି ଫଳାଫଳ ନାହିଁ"</string>
-</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
deleted file mode 100644
index 302afcf..0000000
--- a/res/values-pa/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ਐਪ ਜਾਣਕਾਰੀ"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ਪਹੁੰਚਯੋਗਤਾ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"ਕੀ-ਬੋਰਡਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ਸੈਟਿੰਗਾਂ ਦੇ ਸੁਝਾਅ"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ਇਤਿਹਾਸ ਕਲੀਅਰ ਕਰੋ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ਕੋਈ ਨਤੀਜਾ ਨਹੀਂ"</string>
-</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
deleted file mode 100644
index ead417c..0000000
--- a/res/values-pl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"O aplikacji"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Ułatwienia dostępu"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Klawiatura fizyczna"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Zarządzaj klawiaturami"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Sugestie ustawień"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Wyczyść historię"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Brak wyników"</string>
-</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
deleted file mode 100644
index b91858f..0000000
--- a/res/values-pt-rPT/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informações de apps"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Acessibilidade"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teclado físico"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gerir teclados"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Sugestões de definições"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Limpar histórico"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nenhum resultado"</string>
-</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
deleted file mode 100644
index e975fd5..0000000
--- a/res/values-pt/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informações do app"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Acessibilidade"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Teclado físico"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gerenciar teclados"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Configurações recomendadas"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Limpar o histórico"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Nenhum resultado"</string>
-</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
deleted file mode 100644
index 61f1404..0000000
--- a/res/values-ro/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informații despre aplicație"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accesibilitate"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Tastatură fizică"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Gestionați tastaturile"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Sugestii de setări"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Ștergeți istoricul"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Niciun rezultat"</string>
-</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
deleted file mode 100644
index a8565da..0000000
--- a/res/values-ru/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Сведения о приложениях"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Специальные возможности"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Физическая клавиатура"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Управление клавиатурами"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Рекомендуемые настройки"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Очистить историю"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Результатов нет"</string>
-</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
deleted file mode 100644
index 81cea6d..0000000
--- a/res/values-si/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"යෙදුම් තතු"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ප්‍රවේශ්‍යතාව"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"භෞතික යතුරු පුවරුව"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"යතුරු පුවරු කළමනාකරණය කරන්න"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"සැකසීම් යෝජනා"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ඉතිහාසය හිස් කරන්න"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ප්‍රතිඵල නැත"</string>
-</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
deleted file mode 100644
index 7b39b18..0000000
--- a/res/values-sk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informácie o aplikácii"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Dostupnosť"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fyzická klávesnica"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Spravovať klávesnice"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Návrhy nastavení"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Vymazať históriu"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Žiadne výsledky"</string>
-</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
deleted file mode 100644
index 6fb1855..0000000
--- a/res/values-sl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Podatki o aplikacijah"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Funkcije za ljudi s posebnimi potrebami"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fizična tipkovnica"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Upravljanje tipkovnic"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Predlogi nastavitev"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Počisti zgodovino"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Ni rezultatov"</string>
-</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
deleted file mode 100644
index 70d96a2..0000000
--- a/res/values-sq/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Informacione mbi aplikacionin"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Qasshmëria"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Tastiera fizike"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Menaxho tastierat"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Sugjerimet e cilësimeve"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Pastro historikun"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Asnjë rezultat"</string>
-</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
deleted file mode 100644
index 477d81c..0000000
--- a/res/values-sr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Информације о апликацији"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Приступачност"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Физичка тастатура"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Управљајте тастатурама"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Предлози за подешавања"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Обриши историју"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Нема резултата"</string>
-</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
deleted file mode 100644
index b480621..0000000
--- a/res/values-sv/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Appinformation"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Tillgänglighet"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fysiskt tangentbord"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Hantera tangentbord"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Inställningsförslag"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Rensa historik"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Inga resultat"</string>
-</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
deleted file mode 100644
index dff9512..0000000
--- a/res/values-sw/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Maelezo ya programu"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Ufikivu"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Kibodi halisi"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Dhibiti kibodi"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Mapendekezo ya Mipangilio"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Futa historia"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Hakuna matokeo"</string>
-</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
deleted file mode 100644
index 1ff858f..0000000
--- a/res/values-ta/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ஆப்ஸ் தகவல்கள்"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"அணுகல்தன்மை"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"கீபோர்டு"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"கீபோர்டுகளை நிர்வகியுங்கள்"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Settings Suggestions"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"இதுவரை தேடியவற்றை அழி"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"முடிவுகள் இல்லை"</string>
-</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
deleted file mode 100644
index 61215c7..0000000
--- a/res/values-te/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"యాప్ సమాచారం"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"యాక్సెసిబిలిటీ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"ఫిజికల్ కీబోర్డ్"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"కీబోర్డ్‌లను మేనేజ్ చేయండి"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"సెట్టింగ్‌ల సూచనలు"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"హిస్టరీని క్లియర్ చేయండి"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ఫలితాలు ఏవీ లేవు"</string>
-</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
deleted file mode 100644
index 964cb05..0000000
--- a/res/values-th/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ข้อมูลแอป"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"การช่วยเหลือพิเศษ"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"แป้นพิมพ์จริง"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"จัดการแป้นพิมพ์"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"คำแนะนำการตั้งค่า"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"ล้างประวัติ"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"ไม่มีผลการค้นหา"</string>
-</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
deleted file mode 100644
index f08e41a..0000000
--- a/res/values-tl/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Impormasyon ng app"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Accessibility"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Pisikal na keyboard"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Pamahalaan ang mga keyboard"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Mga Suhestyon sa Mga Setting"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"I-clear ang history"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Walang resulta"</string>
-</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
deleted file mode 100644
index 2ff16cb..0000000
--- a/res/values-tr/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Uygulama bilgileri"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Erişilebilirlik"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Fiziksel klavye"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Klavyeleri yönet"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Ayar Önerileri"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Geçmişi temizle"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Sonuç yok"</string>
-</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
deleted file mode 100644
index 6793b3a..0000000
--- a/res/values-uk/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Про додаток"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Спеціальні можливості"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Фізична клавіатура"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Керувати клавіатурами"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Пропозиції налаштувань"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Очистити історію"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Немає результатів"</string>
-</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
deleted file mode 100644
index 1a18d34..0000000
--- a/res/values-ur/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"ایپ کی معلومات"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"ایکسیسبیلٹی"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"فزیکل کی بورڈ"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"کی بورڈز کا نظم کریں"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"ترتیبات کی تجاویز"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"سرگزشت صاف کریں"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"کوئی نتیجہ نہیں"</string>
-</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
deleted file mode 100644
index 4cb53a0..0000000
--- a/res/values-uz/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Ilova haqida"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Maxsus imkoniyatlar"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Tashqi klaviatura"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Klaviaturalarni boshqarish"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Tavsiya etiladigan sozlamalar"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Tarixni tozalash"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Hech narsa topilmadi"</string>
-</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
deleted file mode 100644
index 2ee2948..0000000
--- a/res/values-vi/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Thông tin ứng dụng"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Hỗ trợ tiếp cận"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Bàn phím thực"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Quản lý bàn phím"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Đề xuất tùy chọn cài đặt"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Xóa nhật ký"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Không có kết quả nào"</string>
-</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
deleted file mode 100644
index 65a8284..0000000
--- a/res/values-zh-rCN/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"应用信息"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"无障碍"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"实体键盘"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"管理键盘"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"设置建议"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"清除历史记录"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"没有结果"</string>
-</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
deleted file mode 100644
index 46adc2f..0000000
--- a/res/values-zh-rHK/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"應用程式資料"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"無障礙功能"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"實體鍵盤"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"管理鍵盤"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"設定建議"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"清除記錄"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"沒有結果"</string>
-</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
deleted file mode 100644
index 49feb5d..0000000
--- a/res/values-zh-rTW/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"應用程式資訊"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"無障礙設定"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"實體鍵盤"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"管理鍵盤"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"設定建議"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"清除記錄"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"沒有相符的結果"</string>
-</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
deleted file mode 100644
index 6d87083..0000000
--- a/res/values-zu/strings.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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="applications_settings" msgid="3446736638853404682">"Ulwazi lohlelo lokusebenza"</string>
-    <string name="accessibility_settings_classname" msgid="973410590374198997">"com.android.settings.accessibility.AccessibilitySettings"</string>
-    <string name="accessibility_settings" msgid="1488998032020612740">"Ukufinyeleleka"</string>
-    <string name="physical_keyboard_title" msgid="3955072245281785000">"Ikhibhodi ephathekayo"</string>
-    <string name="add_virtual_keyboard" msgid="542703692821933851">"Phatha amakhibhodi"</string>
-    <string name="app_name_settings_intelligence" msgid="8701735500346011661">"Iziphakamiso Zamasethingi"</string>
-    <string name="search_clear_history" msgid="6232116698940067519">"Sula umlando"</string>
-    <string name="search_no_results" msgid="6855095945475439835">"Akukho miphumela"</string>
-</resources>
