diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d354560..d702bcd 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -16,8 +16,7 @@
   -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.android.car.media"
-    android:sharedUserId="android.uid.system">
+    package="com.android.car.media">
 
     <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
     <uses-permission android:name="android.permission.INTERNET" />
@@ -54,5 +53,12 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
+
+        <service
+            android:name=".service.MediaConnectorService">
+            <intent-filter>
+                <action android:name="com.android.car.media.MEDIA_CONNECTION"/>
+            </intent-filter>
+        </service>
     </application>
 </manifest>
diff --git a/res/drawable/ic_expand_more.xml b/res/drawable/ic_expand_more.xml
index eddf494..0439377 100644
--- a/res/drawable/ic_expand_more.xml
+++ b/res/drawable/ic_expand_more.xml
@@ -21,5 +21,5 @@
         android:viewportHeight="24.0">
     <path
         android:fillColor="#FF000000"
-        android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z"/>
+        android:pathData="M7 10l5 5 5-5z"/>
 </vector>
diff --git a/res/drawable/music_buffering.xml b/res/drawable/music_buffering.xml
deleted file mode 100644
index e85241d..0000000
--- a/res/drawable/music_buffering.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2016, The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
-     android:drawable="@drawable/vector_drawable_progress_bar_medium_thin" >
-    <target
-        android:name="progressBar"
-        android:animation="@anim/progress_indeterminate_material" />
-    <target
-        android:name="root"
-        android:animation="@anim/progress_indeterminate_rotation_material" />
-</animated-vector>
diff --git a/res/drawable/vector_drawable_progress_bar_medium_thin.xml b/res/drawable/vector_drawable_progress_bar_medium_thin.xml
deleted file mode 100644
index 682db26..0000000
--- a/res/drawable/vector_drawable_progress_bar_medium_thin.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright 2016, The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:height="48dp"
-        android:width="48dp"
-        android:viewportHeight="48"
-        android:viewportWidth="48" >
-    <group
-        android:name="root"
-        android:translateX="24.0"
-        android:translateY="24.0" >
-        <path
-            android:name="progressBar"
-            android:fillColor="#00000000"
-            android:pathData="M0, 0 m 0, -19 a 19,19 0 1,1 0,38 a 19,19 0 1,1 0,-38"
-            android:strokeColor="?android:attr/colorControlActivated"
-            android:strokeLineCap="square"
-            android:strokeLineJoin="miter"
-            android:strokeWidth="2"
-            android:trimPathEnd="0"
-            android:trimPathOffset="0"
-            android:trimPathStart="0" />
-    </group>
-</vector>
diff --git a/res/layout/appbar_view.xml b/res/layout/appbar_view.xml
index 232db86..9fee45b 100644
--- a/res/layout/appbar_view.xml
+++ b/res/layout/appbar_view.xml
@@ -102,7 +102,7 @@
     <TextView
         android:id="@+id/title"
         style="@style/AppBarTitleStyle"
-        android:layout_marginStart="@dimen/appbar_view_title_margin_start"
+        app:layout_goneMarginStart="@dimen/appbar_view_title_margin_start"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintBottom_toTopOf="@id/row_separator"
         app:layout_constraintStart_toEndOf="@id/nav_icon_container"
diff --git a/res/layout/fragment_error.xml b/res/layout/fragment_error.xml
index db0935d..a452a0c 100644
--- a/res/layout/fragment_error.xml
+++ b/res/layout/fragment_error.xml
@@ -16,29 +16,22 @@
 -->
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/error_fragment"
+    android:gravity="center"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
     <com.android.car.apps.common.UxrTextView
         android:id="@+id/error_message"
-        style="@style/ErrorTextStyle"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:layout_marginHorizontal="@dimen/fragment_error_message_margin_side"
-        android:layout_marginTop="@dimen/fragment_error_margin_top"/>
+        style="@style/FullScreenErrorMessageStyle"
+        android:layout_centerHorizontal="true"
+        android:layout_marginHorizontal="@dimen/fragment_error_message_margin_x"/>
 
     <com.android.car.apps.common.UxrButton
         android:id="@+id/error_button"
-        style="@style/ErrorButtonStyle"
-        android:textColor="@color/error_button_text_color"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
+        style="@style/FullScreenErrorButtonStyle"
         android:layout_marginTop="@dimen/fragment_error_button_margin_top"
         android:layout_centerHorizontal="true"
-        android:layout_below="@+id/error_message"
-        app:carUxRestrictions="UX_RESTRICTIONS_NO_SETUP"/>
+        android:layout_below="@+id/error_message"/>
 
 </RelativeLayout>
diff --git a/res/layout/fragment_playback.xml b/res/layout/fragment_playback.xml
index 982e00a..da935d3 100644
--- a/res/layout/fragment_playback.xml
+++ b/res/layout/fragment_playback.xml
@@ -145,16 +145,22 @@
         android:layout_height="@dimen/fragment_playback_queue_overlap_bottom"
         app:layout_constraintTop_toTopOf="@+id/control_bar_first_row_guideline"/>
 
-    <com.android.car.apps.common.widget.PagedRecyclerView
-        android:id="@+id/queue_list"
+    <!-- The queue_container is a workaround for a bug in PagedRecyclerView (b/136669451). -->
+    <RelativeLayout
+        android:id="@+id/queue_container"
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:visibility="gone"
         app:layout_constraintTop_toTopOf="@+id/queue_list_top_constraint"
-        app:layout_constraintBottom_toBottomOf="@+id/queue_list_bottom_constraint"
-        android:fadeScrollbars="true"
-        android:requiresFadingEdge="vertical"
-        android:fadingEdgeLength="@dimen/queue_fading_edge_length"/>
+        app:layout_constraintBottom_toBottomOf="@+id/queue_list_bottom_constraint">
+        <com.android.car.apps.common.widget.PagedRecyclerView
+            android:id="@+id/queue_list"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:visibility="gone"
+            android:fadeScrollbars="true"
+            android:requiresFadingEdge="vertical"
+            android:fadingEdgeLength="@dimen/queue_fading_edge_length"/>
+    </RelativeLayout>
 
     <include
         layout="@layout/scrim_overlay"
diff --git a/res/layout/media_browse_grid_item.xml b/res/layout/media_browse_grid_item.xml
index 4f4450e..9b49d8a 100644
--- a/res/layout/media_browse_grid_item.xml
+++ b/res/layout/media_browse_grid_item.xml
@@ -20,7 +20,6 @@
     android:id="@+id/container"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:padding="@dimen/media_browse_grid_item_padding"
     android:focusable="true"
     android:clickable="true"
     android:foreground="@drawable/grid_item_background"
@@ -65,6 +64,7 @@
         android:layout_height="wrap_content"
         android:layout_marginTop="@dimen/media_browse_grid_item_text_margin_top"
         android:singleLine="true"
+        android:includeFontPadding="false"
         android:duplicateParentState="true"
         app:layout_constraintStart_toEndOf="@+id/explicit_icon_with_title"
         app:layout_constraintTop_toBottomOf="@+id/thumbnail"
@@ -97,7 +97,9 @@
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:singleLine="true"
+        android:includeFontPadding="false"
         android:duplicateParentState="true"
+        android:layout_marginTop="@dimen/media_browse_subtitle_margin_top"
         app:layout_constraintTop_toBottomOf="@+id/title"
         app:layout_constraintStart_toEndOf="@+id/explicit_icon_with_subtitle"
         app:layout_constraintEnd_toEndOf="parent"/>
diff --git a/res/layout/media_browse_list_item.xml b/res/layout/media_browse_list_item.xml
index 5e3e28f..026f7f4 100644
--- a/res/layout/media_browse_list_item.xml
+++ b/res/layout/media_browse_list_item.xml
@@ -22,15 +22,13 @@
     android:layout_height="@dimen/media_browse_list_item_height"
     android:focusable="true"
     android:foreground="?android:attr/selectableItemBackground">
-    <ImageView
+    <com.android.car.media.common.FixedRatioImageView
         android:id="@+id/thumbnail"
-        android:layout_width="@dimen/media_browse_list_item_thumbnail_size"
-        android:layout_height="@dimen/media_browse_list_item_thumbnail_size"
-        android:layout_marginStart="@dimen/media_browse_list_item_icon_margin_start"
+        android:layout_width="0dp"
+        android:layout_height="match_parent"
         android:scaleType="centerCrop"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"/>
+        android:layout_marginBottom="@dimen/media_browse_list_item_thumbnail_margin_bottom"
+        app:aspect_ratio="1"/>
 
     <!-- This guideline is necessary because there are icons preceding the text which typically have
       visibility GONE, which prevents margins applied to the leftmost view from applying to the
@@ -69,8 +67,8 @@
         style="@style/BrowseListTitleStyle"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:includeFontPadding="false"
         android:singleLine="true"
+        android:includeFontPadding="false"
         app:layout_constraintVertical_chainStyle="packed"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintBottom_toTopOf="@+id/subtitle"
@@ -104,7 +102,6 @@
         style="@style/BrowseListSubtitleStyle"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:includeFontPadding="false"
         android:singleLine="true"
         app:layout_constraintTop_toBottomOf="@+id/title"
         app:layout_constraintBottom_toBottomOf="parent"
@@ -116,8 +113,10 @@
         android:src="@drawable/ic_chevron_right"
         android:layout_width="@dimen/media_browse_list_item_arrow_size"
         android:layout_height="@dimen/media_browse_list_item_arrow_size"
+        android:layout_marginTop="@dimen/media_browse_subtitle_margin_top"
         android:layout_gravity="center_vertical"
         android:scaleType="centerCrop"
+        android:includeFontPadding="false"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
diff --git a/res/layout/search_bar.xml b/res/layout/search_bar.xml
index 43041d9..401073a 100644
--- a/res/layout/search_bar.xml
+++ b/res/layout/search_bar.xml
@@ -26,16 +26,21 @@
         android:orientation="horizontal"
         android:gravity="center"
         android:background="@drawable/appbar_view_icon_background"
-        app:switchingEnabled="false"/>
+        app:switchingEnabled="false"
+        app:appIconSize="@dimen/appbar_view_search_app_icon_size"/>
 
     <EditText
         android:id="@+id/search_bar"
         android:layout_height="match_parent"
         android:layout_width="match_parent"
-        android:paddingLeft="@dimen/appbar_view_icon_touch_target_size"
-        android:layout_marginLeft="@dimen/appbar_view_search_margin"
+        android:paddingStart="@dimen/appbar_view_search_bar_padding_start"
+        android:paddingEnd="@dimen/appbar_view_search_bar_padding_end"
+        android:layout_marginStart="@dimen/appbar_view_search_app_icon_margin"
+        android:layout_marginEnd="@dimen/appbar_view_search_bar_end_margin"
         android:hint="@string/search_hint"
         android:textColorHint="@color/search_hint_text_color"
+        android:textCursorDrawable="@null"
+        android:backgroundTint="@color/search_bar_underline_color"
         android:inputType="text"
         android:singleLine="true"
         android:imeOptions="actionDone"
@@ -45,8 +50,9 @@
         android:id="@+id/search_close"
         android:layout_width="@dimen/appbar_view_icon_touch_target_size"
         android:layout_height="@dimen/appbar_view_icon_touch_target_size"
-        android:layout_marginLeft="@dimen/appbar_view_search_margin"
+        android:layout_marginStart="@dimen/appbar_view_search_close_icon_margin"
         android:padding="@dimen/appbar_view_icon_padding"
         android:background="@drawable/appbar_view_icon_background"
+        android:visibility="gone"
         android:src="@drawable/ic_close"/>
 </merge>
\ No newline at end of file
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
new file mode 100644
index 0000000..c326f0b
--- /dev/null
+++ b/res/values-af/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Laai tans inhoud …"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Daar is nie enige media hier beskikbaar nie."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> werk nie op die oomblik nie."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Onbekend"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Iets is fout"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Meer …"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Soek liedjies, kunstenaars, en meer …"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Wat Speel"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Iets is fout. Probeer later."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Kan dit nie op die oomblik doen nie"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Hierdie program kan nie dit doen nie"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Meld aan om hierdie program te gebruik"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premiumtoegang word vereis"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Luister tans op te veel toestelle"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Daardie inhoud word geblokkeer"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Kan nie daardie inhoud hier kry nie"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Speel reeds daardie inhoud"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Kan nie meer snitte oorslaan nie"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Kon nie voltooi word nie. Probeer weer."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Daar is niks anders op die waglys nie"</string>
+</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
new file mode 100644
index 0000000..5beaeba
--- /dev/null
+++ b/res/values-am/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"ይዘትን በመጫን ላይ…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ምንም ዓይነት ማኅደረ ዜና እዚህ ላይ አይገኝም።"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> አሁን ላይ እየሠራ አይደለም።"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"ያልታወቀ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"የሆነ ችግር ተፈጥሯል"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ተጨማሪ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"ማህደረ መረጃ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ዘፈኖችን፣ አርቲስቶችን እና ተጨማሪ ይፈልጉ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"አሁን እየተጫወተ ያለ"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"የሆነ ችግር አለ። በኋላ ይሞክሩ።"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"አሁን ይህን ማድረግ አይቻልም"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ይህ መተግበሪያ ይህን ማድረግ አይችልም"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ይህን መተግበሪያ ለመጠቀም በመለያ ይግቡ"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ፕሪሚየም መዳረሻ ያስፈልጋል"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"በጣም ብዙ መሣሪያዎችን በማዳመጥ ላይ"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ይዘቱ ታግዷል"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ይዘቱን እዚህ ማግኘት አልተቻለም"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ይዘቱ አስቀድሞ በመጫወት ላይ"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ተጨማሪ ትራኮችን መዝለል አአይቻልም"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"መጨረስ አልተቻለም። እንደገና ይሞክሩ።"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ሌላ ምንም ነገር ወረፋ አልያዘም"</string>
+</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
new file mode 100644
index 0000000..dd86690
--- /dev/null
+++ b/res/values-ar/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"جارٍ تحميل المحتوى…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"لا تتوفر أي وسائط هنا."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"لا يعمل <xliff:g id="ID_1">%s</xliff:g> بشكل صحيح الآن."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"غير معروف"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"حدث خطأ"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"المزيد…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"الوسائط"</string>
+    <string name="search_hint" msgid="5401750426238148416">"البحث في الأغاني والفنانين والمزيد..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"التعرُّف التلقائي على الموسيقى"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"حدث خطأ. يُرجى المحاولة لاحقًا."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"يتعذر على التطبيق تنفيذ هذا الإجراء في الوقت الحالي."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"يتعذّر على التطبيق تنفيذ هذا الإجراء."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"سجّل دخولك لاستخدام هذا التطبيق."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"مطلوب الحصول على إذن الوصول المميَّز."</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"يتم الآن الاستماع على أجهزة أكثر من الحد المسموح به."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"تم حظر هذا المحتوى."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"لا يمكن الحصول على هذا المحتوى من هنا."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"جارٍ تشغيل هذا المحتوى."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"لا يمكن تخطي المزيد من المقاطع الصوتية."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"تعذر الإنهاء. يُرجى إعادة المحاولة."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"لم يتم وضع أي مقطع صوتي آخر في قائمة الانتظار."</string>
+</resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
new file mode 100644
index 0000000..41f2254
--- /dev/null
+++ b/res/values-as/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"সমল ল\'ড কৰি থকা হৈছে…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ইয়াত কোনো মিডিয়া উপলব্ধ নহয়।"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"এই মুহূৰ্তত <xliff:g id="ID_1">%s</xliff:g>এ কাম কৰি থকা নাই।"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"অজ্ঞাত"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"কিবা ভুল হ’ল"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"অধিক…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"মিডিয়া"</string>
+    <string name="search_hint" msgid="5401750426238148416">"গান, শিল্পী আৰু অধিক..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"এতিয়া এয়া প্লে\' হৈ আছে"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"কিবা ভুল হ’ল। পাছত চেষ্টা কৰক।"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"সেইটো এই মুহূৰ্তত কৰিব নোৱাৰি"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"এই এপ্‌টোৱে সেইটো কৰিব নোৱাৰে"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"এই এপ্‌টো ব্যৱহাৰ কৰিবলৈ ছাইন ইন কৰক"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"প্ৰিমিয়াম এক্সেছৰ প্ৰয়োজন"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"বহুকেইটা ডিভাইচত শুনি আছে"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"সেই সমলটো অৱৰোধ কৰা আছে"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"সেই সমলটো ইয়াত পাব নোৱাৰি"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"সেই সমলটো ইতিমধ্যে প্লে’ হৈ আছে"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"আৰু ট্ৰেক এৰি যাব নোৱাৰি"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"সম্পূর্ণ কৰিব পৰা নগ’ল। আকৌ চেষ্টা কৰক।"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"শাৰীত অন্য একো নাই"</string>
+</resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
new file mode 100644
index 0000000..f849a23
--- /dev/null
+++ b/res/values-az/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Məzmun yüklənir…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Əlçatan media yoxdur."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> indi işləmir."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Naməlum"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Xəta baş verdi"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Daha çox…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Mahnı, ifaçı və s. axtarın"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"İndi Efirdə"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Xəta baş verdi. Sonra cəhd edin."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Hazırda onu etmək olmur"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Bu tətbiq onu edə bilmir"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Bu tətbiqi istifadə etmək üçün daxil olun"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium giriş tələb olunur"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Çox cihazda dinləmə aşkarlanıb"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Bu məzmun bloklanıb"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Bu məzmunu əldə etmək mümkün deyil"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Hazırda bu məzmun oxudulur"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Başqa treki keçmək mümkün deyil"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Bitirmək mümkün olmadı. Yenidən cəhd edin."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Növbədə başqa heç nə yoxdur"</string>
+</resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
new file mode 100644
index 0000000..e21c855
--- /dev/null
+++ b/res/values-b+sr+Latn/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Sadržaj se učitava…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Ovde nije dostupan medijski sadržaj."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> trenutno ne radi."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Nepoznato"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Došlo je do greške"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Još…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Mediji"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Tražite pesme, izvođače i drugo..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Trenutno svira"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Nešto nije u redu. Probajte kasnije."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Trenutno ne može to da uradi"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ova aplikacija ne može to da uradi"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Prijavite se da biste koristili ovu aplikaciju"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Potreban je premijum pristup"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Slušate na previše uređaja"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Taj sadržaj je blokiran"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Ne možete da dobijete taj sadržaj ovde"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Taj sadržaj se već reprodukuje"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Ne možete više da preskačete pesme"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nismo uspeli da dovršimo radnju. Probajte ponovo."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ništa drugo nije stavljeno u red"</string>
+</resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
new file mode 100644
index 0000000..70cae2a
--- /dev/null
+++ b/res/values-be/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Ідзе загрузка змесціва…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Тут няма мультымедыя."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> цяпер не працуе."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Невядома"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Нешта пайшло не так"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Яшчэ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Мультымедыя"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Шукайце кампазіцыі…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Зараз іграе"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Узнікла памылка. Паўтарыце спробу пазней."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Не ўдаецца выканаць гэты запыт"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Праграме не ўдалося выканаць гэты запыт"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Увайдзіце, каб выкарыстоўваць гэту праграму"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Патрэбны платны доступ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Праслухоўваецца занадта шмат прылад"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Гэта змесціва заблакіравана"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Не ўдалося загрузіць змесціва ў гэтым рэгіёне"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Гэта змесціва ўжо прайграецца"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Не ўдалося прапусціць іншыя трэкі"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Не ўдалося завяршыць. Паўтарыце спробу."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"У чарзе пуста"</string>
+</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
new file mode 100644
index 0000000..d16a769
--- /dev/null
+++ b/res/values-bg/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Съдържанието се зарежда…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Тук няма налице мултимедия."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> не работи в момента."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Неизвестно"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Нещо се обърка"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Още…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Мултимедия"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Търсете песни, изпълнители и др..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Сега слушате"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Нещо не е наред. Опитайте по-късно."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Понастоящем тази заявка не може да се изпълни"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Приложението не може да изпълни тази заявка"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Влезте в профила си, за да използвате това приложение"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"За достъп се изисква платен профил"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Слуша се на твърде много устройства"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Това съдържание е блокирано"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Това съдържание не е налице за региона ви"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Това съдържание вече се възпроизвежда"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Не могат да се пропускат повече записи"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Не можа да завърши. Опитайте отново."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Нищо друго не е поставено на опашка"</string>
+</resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
new file mode 100644
index 0000000..b95cce9
--- /dev/null
+++ b/res/values-bn/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"কন্টেন্ট লোড করা হচ্ছে…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"এখানে কোনও মিডিয়া নেই।"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> এই মুহূর্তে কাজ করছে না।"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"অজানা"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"কোনও সমস্যা হয়েছে"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"আরও..."</string>
+    <string name="media_app_title" msgid="94717597743776797">"মিডিয়া"</string>
+    <string name="search_hint" msgid="5401750426238148416">"গান, শিল্পী ও অনেক কিছু খুঁজুন..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"এখন চলছে"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"কোনও সমস্যা হয়েছে। পরে চেষ্টা করুন।"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"এখন এটি করা যাবে না"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"এই অ্যাপটি এটি করতে পারবে না"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"এই অ্যাপ ব্যবহার করতে সাইন-ইন করুন"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium অ্যাক্সেস প্রয়োজন"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"একাধিক ডিভাইসে শুনছেন"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"এই কন্টেন্টটি ব্লক করা হয়েছে"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"এই কন্টেন্টটি এখানে পাওয়া যাবে না"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"কন্টেন্টটি আগে থেকেই চলছে"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"আর কোনও ট্র্যাক এড়িয়ে যেতে পারবেন না"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"সম্পূর্ণ করা যায়নি। আবার চেষ্টা করুন।"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"আর কিছুই অপেক্ষমাণ নয়"</string>
+</resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
new file mode 100644
index 0000000..6cd9efc
--- /dev/null
+++ b/res/values-bs/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Učitavanje sadržaja…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Medijski sadržaj nije dostupan ovdje."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Aplikacija <xliff:g id="ID_1">%s</xliff:g> trenutno ne funkcionira."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Nepoznato"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Nešto nije uredu"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Još…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Mediji"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Pretražite pjesme, izvođače i još mnogo toga..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Trenutno se reproducira"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Nešto nije uredu. Pokušajte kasnije."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Taj zahtjev trenutno nije moguće izvršiti"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ova aplikacija ne može izvršiti taj zahtjev"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Prijavite se da koristite ovu aplikaciju"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Potreban je premijum pristup"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Previše je uređaja na kojima se sluša"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Sadržaj je blokiran"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Nije moguće preuzeti taj sadržaj ovdje"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Reproduciranje tog sadržaja je već u toku"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Nije više moguće preskočiti numere"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Dovršavanje nije uspjelo. Pokušajte ponovo."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ništa više nije postavljeno u red čekanja"</string>
+</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
new file mode 100644
index 0000000..b942f96
--- /dev/null
+++ b/res/values-ca/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"S\'està carregant el contingut…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"No hi ha cap contingut multimèdia."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> no funciona en aquests moments."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Desconegut"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"S\'ha produït un error"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Més…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multimèdia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Cerca cançons, artistes i més…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Està sonant"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"S\'ha produït un error. Prova-ho més tard."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Aquesta acció no es pot dur a terme ara mateix"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Aquesta aplicació no pot fer això"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Inicia la sessió per fer servir aquesta aplicació"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Es requereix accés Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"S\'està escoltant en massa dispositius"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"El contingut està bloquejat"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"El contingut no està disponible en aquesta regió"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ja s\'està reproduint aquest contingut"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"No es poden saltar més cançons"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"No s\'ha pogut acabar. Torna-ho a provar."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"No hi ha res més a la cua"</string>
+</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
new file mode 100644
index 0000000..4b25d10
--- /dev/null
+++ b/res/values-cs/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Načítání obsahu…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Nejsou tu k dispozici žádná média."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Aplikace <xliff:g id="ID_1">%s</xliff:g> teď nefunguje."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Neznámé"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Něco se pokazilo"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Více…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Média"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Vyhledávejte skladby, interprety apod..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Co to hraje"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Někde se stala chyba. Zkuste to později."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Tuto akci teď nelze provést"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Tuto akci aplikace nedokáže provést"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Chcete-li aplikaci použít, přihlaste se"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Je vyžadován prémiový přístup"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Poslech je aktivován v příliš mnoha zařízeních"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Obsah je blokován"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Tento obsah tu nelze načíst"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Tento obsah se už přehrává"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Další skladby nelze přeskočit"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nelze dokončit. Zkuste to znovu."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ve frontě není nic dalšího"</string>
+</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
new file mode 100644
index 0000000..5057baf
--- /dev/null
+++ b/res/values-da/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Indlæser indhold…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Der er ingen tilgængelige medier her."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> virker ikke lige nu."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Ukendt"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Noget gik galt"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Flere…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Medie"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Søg efter sange og musikere m.m..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Afspiller nu"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Der er noget galt. Prøv senere."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Det er ikke muligt lige nu"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Det kan denne app ikke gøre"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Log ind for at bruge denne app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Dette kræver en Premium-konto"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Du lytter på for mange enheder"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Indholdet er blokeret"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Der er ikke adgang til indholdet her"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Indholdet afspilles allerede"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Du kan ikke springe over flere numre"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Handlingen kunne ikke afsluttes. Prøv igen."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Der er ikke mere i køen"</string>
+</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
new file mode 100644
index 0000000..739aba9
--- /dev/null
+++ b/res/values-de/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Inhalt wird geladen…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Hier sind keine Medien verfügbar."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> funktioniert gerade nicht."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Unbekannt"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Fehler"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Mehr…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Medien"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Nach Songs, Künstlern und mehr suchen"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Aktuelle Wiedergabe"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Ein Fehler ist aufgetreten. Versuch es später noch mal."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Das ist gerade nicht möglich"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Diese App kann das nicht"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Damit du diese App verwenden kannst, musst du dich zuerst anmelden"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premiumzugriff erforderlich"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Es wird auf zu vielen Geräten gleichzeitig gestreamt"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Der Inhalt ist gesperrt"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Der Inhalt kann hier nicht abgerufen werden"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Der Inhalt wird bereits wiedergegeben"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Du kannst keine weiteren Titel überspringen"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Die Aktion konnte nicht abgeschlossen werden. Versuch es noch mal."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Es ist sonst nichts in der Warteschlange"</string>
+</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
new file mode 100644
index 0000000..4b3694f
--- /dev/null
+++ b/res/values-el/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Φόρτωση περιεχομένου…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Σε αυτόν τον φάκελο δεν υπάρχουν διαθέσιμα μέσα."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Το <xliff:g id="ID_1">%s</xliff:g> δεν λειτουργεί αυτήν τη στιγμή."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Άγνωστη"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Παρουσιάστηκε κάποιο πρόβλημα"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Περισσότερα…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Πολυμέσα"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Αναζ. τραγ., καλλιτ…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Ακούγεται τώρα"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Παρουσιάστηκε κάποιο πρόβλημα. Δοκιμάστε αργότερα."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Δεν είναι δυνατή η εκτέλεση του αιτήματος αυτήν τη στιγμή."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Δεν είναι δυνατή η εκτέλεση του αιτήματος από αυτήν την εφαρμογή."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Συνδεθείτε, για να χρησιμοποιήσετε αυτήν την εφαρμογή"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Απαιτείται premium πρόσβαση."</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Ακρόαση πάρα πολλών συσκευών."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Αυτό το περιεχόμενο είναι αποκλεισμένο."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Δεν είναι δυνατή η λήψη αυτού του περιεχομένου εδώ."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Γίνεται ήδη αναπαραγωγή αυτού του περιεχομένου."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Δεν είναι δυνατή η παράβλεψη περισσότερων κομματιών."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Δεν ήταν δυνατή η ολοκλήρωση. Δοκιμάστε ξανά."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Δεν υπάρχει κάτι άλλο στην ουρά."</string>
+</resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
new file mode 100644
index 0000000..d9c1984
--- /dev/null
+++ b/res/values-en-rAU/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Loading content…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"No media available here."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> isn’t working at the moment."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Unknown"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Something went wrong"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"More…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Search songs, artists and more…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Something’s wrong. Try later."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Can’t do that right now"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"This app can’t do that"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Sign in to use this app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium access required"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Listening on too many devices"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"That content is blocked"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Can’t get that content here"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Already playing that content"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Can’t skip any more tracks"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Couldn’t finish. Try again."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nothing else is queued up"</string>
+</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
new file mode 100644
index 0000000..d9c1984
--- /dev/null
+++ b/res/values-en-rGB/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Loading content…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"No media available here."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> isn’t working at the moment."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Unknown"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Something went wrong"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"More…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Search songs, artists and more…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Something’s wrong. Try later."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Can’t do that right now"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"This app can’t do that"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Sign in to use this app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium access required"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Listening on too many devices"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"That content is blocked"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Can’t get that content here"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Already playing that content"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Can’t skip any more tracks"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Couldn’t finish. Try again."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nothing else is queued up"</string>
+</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
new file mode 100644
index 0000000..d9c1984
--- /dev/null
+++ b/res/values-en-rIN/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Loading content…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"No media available here."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> isn’t working at the moment."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Unknown"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Something went wrong"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"More…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Search songs, artists and more…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Something’s wrong. Try later."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Can’t do that right now"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"This app can’t do that"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Sign in to use this app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium access required"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Listening on too many devices"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"That content is blocked"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Can’t get that content here"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Already playing that content"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Can’t skip any more tracks"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Couldn’t finish. Try again."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nothing else is queued up"</string>
+</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
new file mode 100644
index 0000000..778c8a0
--- /dev/null
+++ b/res/values-es-rUS/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Cargando contenido…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"No hay contenido multimedia aquí."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> no funciona en este momento."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Desconocida"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Ocurrió un error"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Más…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multimedia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Busca artistas y más"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Está Sonando"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Se produjo un error. Vuelve a intentarlo más tarde."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"No se puede realizar esa acción en este momento"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Esta app no puede realizar esa acción"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Accede para usar esta app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Se requiere acceso Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Se está escuchando contenido en demasiados dispositivos"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ese contenido está bloqueado"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"No se puede acceder a ese contenido en esta región"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ya se está reproduciendo ese contenido"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"No se pueden omitir más pistas"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"No se pudo completar la acción. Vuelve a intentarlo."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"No hay más contenido en la cola"</string>
+</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
new file mode 100644
index 0000000..52a9365
--- /dev/null
+++ b/res/values-es/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Cargando contenido…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Aquí no hay contenido multimedia disponible."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> no funciona en este momento."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Desconocido"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Se ha producido un error"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Más…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multimedia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Buscar canciones, artistas, etc."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Está Sonando"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Se ha producido un error. Inténtalo más tarde."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"No se puede hacer en estos momentos"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"No se puede hacer con esta aplicación"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Inicia sesión para utilizar esta aplicación"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Se necesita acceso premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Se está escuchando en demasiados dispositivos"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ese contenido está bloqueado"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Aquí no se puede reproducir ese contenido"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ya se está reproduciendo ese contenido"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"No se pueden saltar más pistas"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"No se ha podido finalizar. Inténtalo de nuevo."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"No hay nada más en la cola"</string>
+</resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
new file mode 100644
index 0000000..d6bb402
--- /dev/null
+++ b/res/values-et/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Sisu laadimine …"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Meedia pole siin saadaval."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> praegu ei tööta."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Teadmata"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Midagi läks valesti"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Rohkem …"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Meedia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Lugude, esitajate ja muu otsimine …"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Hetkel mängimas"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Midagi on valesti. Proovige hiljem."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Seda ei saa praegu teha"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"See rakendus ei saa seda teha"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Rakenduse kasutamiseks logige sisse"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Vaja on Premium-tasemel juurdepääsu"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Kuulatakse liiga paljudes seadmetes"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"See sisu on blokeeritud"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Seda sisu ei saa siin esitada"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Seda sisu juba esitatakse"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Rohkem lugusid ei saa vahele jätta"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Ei saanud lõpetada. Proovige uuesti."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Midagi muud pole järjekorras"</string>
+</resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
new file mode 100644
index 0000000..5ae9009
--- /dev/null
+++ b/res/values-eu/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Edukia kargatzen…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Hemen ez dago multimedia-edukirik erabilgarri."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Une honetan, <xliff:g id="ID_1">%s</xliff:g> aplikazioak ez du funtzionatzen."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Ezezaguna"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Arazoren bat izan da"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Gehiago…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multimedia-edukia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Bilatu abestiak, artistak eta beste…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Orain erreproduzitzen"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Arazoren bat izan da. Saiatu geroago."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Ezin da egin halakorik une honetan"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Aplikazio honek ezin du egin halakorik"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Aplikazioa erabiltzeko, hasi saioa"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium sarbidea behar da"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Gailu gehiegitatik jasotzen ari da soinua"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Eduki hori blokeatuta dago"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Ezin da eskuratu eduki hori lurralde honetan"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Dagoeneko ari da erreproduzitzen eduki hori"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Ezin da saltatu pista gehiagorik"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Ezin izan da amaitu ekintza. Saiatu berriro."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ez dago beste ezer ilaran"</string>
+</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
new file mode 100644
index 0000000..35df286
--- /dev/null
+++ b/res/values-fa/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"در حال بارگیری محتوا…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"هیچ رسانه‌ای در اینجا دردسترس نیست."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> درحال‌حاضر کار نمی‌کند."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"نامشخص"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"مشکلی پیش آمد"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"بیشتر…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"رسانه"</string>
+    <string name="search_hint" msgid="5401750426238148416">"جستجوی آهنگ‌ها، هنرمندان و موارد دیگر..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"اکنون درحال پخش"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"مشکلی رخ داد. بعداً امتحان کنید."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"درحال‌حاضر انجام نمی‌شود"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"این برنامه قادر به انجام آن نیست."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"برای استفاده از این به برنامه، به سیستم وارد شوید"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"دسترسی ممتاز لازم است"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"درحال پخش در تعداد زیادی دستگاه"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"این محتوا مسدود شده است"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"نمی‌توان این محتوا را در اینجا دریافت کرد"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"از قبل درحال پخش است"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"از هیچ آهنگ دیگری نمی‌توان رد شد"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"پایان نیافت. دوباره امتحان کنید."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"هیچ مورد دیگری در صف پخش نیست"</string>
+</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
new file mode 100644
index 0000000..f0b0767
--- /dev/null
+++ b/res/values-fi/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Ladataan sisältöä…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Täällä ei ole saatavilla mediaa."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ei toimi juuri nyt."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Tuntematon"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Jotain meni pieleen."</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Lisää…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Hae mm. kappaleita…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Musiikintunnistus"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Jotain meni pieleen.. Yritä myöhemmin."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Tämä ei juuri nyt onnistu"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Sovellus ei tue ominaisuutta"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Kirjaudu sisään käyttääksesi tätä sovellusta"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Edellyttää premium-tilausta"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Kuuntelu käynnissä liian monella laitteella"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Tämä sisältö on estetty"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Sisältö ei ole saatavilla tällä"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Se toistetaan jo"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Enimmäismäärä kappaleita ohitettu"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Toiminto keskeytyi. Yritä uudelleen."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ei muuta jonossa"</string>
+</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
new file mode 100644
index 0000000..422af2e
--- /dev/null
+++ b/res/values-fr-rCA/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Chargement du contenu en cours…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Aucun contenu multimédia disponible ici."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ne fonctionne pas à l\'heure actuelle."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Inconnu"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Un problème est survenu"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Plus…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Média"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Rechercher chansons, artistes et plus…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"En cours de lecture"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Quelque chose ne va pas. Réessayez plus tard."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Impossible d\'effectuer cette action pour le moment"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Cette application ne peut pas effectuer cette action"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Connectez-vous pour utiliser cette application"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Un accès Premium est requis"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Écoute en cours sur trop d\'appareils"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ce contenu est bloqué"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Impossible d\'obtenir ce contenu ici"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ce contenu est déjà en cours de lecture"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Impossible de passer à d\'autres chansons"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Impossible de terminer. Réessayez."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Rien d\'autre n\'est dans la file d\'attente"</string>
+</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
new file mode 100644
index 0000000..4b560fe
--- /dev/null
+++ b/res/values-fr/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Chargement du contenu…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Aucun contenu multimédia disponible ici."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ne fonctionne pas pour l\'instant."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Inconnu"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Une erreur s\'est produite"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Plus…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Médias"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Titres, artistes…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"En écoute"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Il y a un problème. Réessayez plus tard."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Impossible d\'effectuer cette opération pour le moment"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Cette application ne peut pas effectuer cette opération"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Connectez-vous pour utiliser cette application"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Accès Premium requis"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Écoute en cours sur trop d\'appareils"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ce contenu est bloqué"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Impossible d\'accéder à ce contenu ici"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ce contenu est déjà en cours de lecture"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Impossible de passer d\'autres titres"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Impossible de terminer l\'action. Veuillez réessayer."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Aucun autre titre dans la file d\'attente"</string>
+</resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
new file mode 100644
index 0000000..133a3c5
--- /dev/null
+++ b/res/values-gl/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Cargando contido…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Aquí non hai contido multimedia dispoñible."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> non funciona nestes momentos."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Descoñecido"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Produciuse un erro"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Máis…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Contido multimedia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Busca cancións, artistas…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Está soando"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Produciuse un problema. Téntao máis tarde."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Nestes momentos non se pode facer iso"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Esta aplicación non pode facer iso"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Inicia sesión para utilizar esta aplicación"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Requírese acceso premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Estase escoitando contido en demasiados dispositivos"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ese contido está bloqueado"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Aquí non se pode acceder a ese contido"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Xa se está reproducindo ese contido"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Non se poden saltar máis pistas"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Non se puido completar a acción. Téntao de novo."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Non hai nada máis na cola"</string>
+</resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
new file mode 100644
index 0000000..cf9f5e5
--- /dev/null
+++ b/res/values-gu/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"કન્ટેન્ટ લોડ કરી રહ્યું છે…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"અહીં કોઈ મીડિયા ઉપલબ્ધ નથી."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> અત્યારે ચાલી રહ્યું નથી."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"અજાણ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"કંઈક ખોટું થયું"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"વધુ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"મીડિયા"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ગીત, લેખકો અને વધુ શોધો..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"હમણાં વાગી રહ્યું છે"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"કંઈક ખોટું થયું. પછીથી પ્રયાસ કરો."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"તે અત્યારે કરી શકતા નથી"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"આ ઍપ તે કરી શકતી નથી"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"આ ઍપનો ઉપયોગ કરવા માટે સાઇન ઇન કરો"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"પ્રીમિયમ ઍક્સેસ જરૂરી છે"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"ઘણા બધા ડિવાઇસ પર સાંભળી રહ્યાં છે"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"તે કન્ટેન્ટ બ્લૉક કર્યું છે"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"તે કન્ટેન્ટ અહીં મેળવી શકતા નથી"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"તે કન્ટેન્ટ પહેલાંથી ચલાવી રહ્યાં છે"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"કોઈ વધુ ટ્રૅક છોડી શકતા નથી"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"સમાપ્ત કરી શક્યાં નથી. ફરી પ્રયાસ કરો."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"બીજું કંઈ કતારમાં નથી"</string>
+</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
new file mode 100644
index 0000000..e3c4761
--- /dev/null
+++ b/res/values-hi/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"सामग्री लोड हो रही है…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"इसमें कोई मीडिया मौजूद नहीं है."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> अभी काम नहीं कर रहा है."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"अनजान"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"काेई गड़बड़ी हुई"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ज़्यादा…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"मीडिया"</string>
+    <string name="search_hint" msgid="5401750426238148416">"गाने, कलाकार वगैरह खोजें"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"अभी चल रहा है"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"कोई गड़बड़ी हुई. बाद में कोशिश करें."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"अभी नहीं किया जा सकता"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"इस ऐप्लिकेशन पर यह काम नहीं करेगा"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"इस ऐप्लिकेशन का इस्तेमाल करने के लिए साइन इन करें"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"इसके लिए Premium का ऐक्सेस ज़रूरी है"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"आप इसे बहुत सारे डिवाइस पर चला रहे/रही हैं"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"सामग्री पर रोक लगा दी गई है"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"वह सामग्री यहां नहीं चलाई जा सकती"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"वह सामग्री पहले से ही चल रही है"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"इससे ज़्यादा गाने नहीं छोड़े जा सकते"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"कार्रवाई पूरी नहीं हो सकी. फिर से कोशिश करें."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"कतार में और कुछ नहीं है"</string>
+</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
new file mode 100644
index 0000000..0328e7b
--- /dev/null
+++ b/res/values-hr/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Učitavanje sadržaja…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Mediji nisu dostupni ovdje."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> trenutačno ne funkcionira."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Nepoznato"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Nešto nije u redu"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Više…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Mediji"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Pretražite pjesme..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Upravo svira"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Nešto nije u redu. Pokušajte kasnije."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Trenutačno to ne možemo učiniti"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ova aplikacija nema tu mogućnost"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Prijavite se za upotrebu te aplikacije."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Potreban je pristup uz dodatnu naplatu"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Slušate na previše uređaja"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Taj je sadržaj blokiran"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Taj sadržaj nije dostupan ovdje"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Taj se sadržaj već reproducira"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Ne možete više preskakati pjesme"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Završavanje nije uspjelo. Pokušajte ponovo."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nema više ničeg u redu čekanja"</string>
+</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
new file mode 100644
index 0000000..a0e17b5
--- /dev/null
+++ b/res/values-hu/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Tartalom betöltése…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Ebben a mappában nincs rendelkezésre álló médiatartalom."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"A(z) <xliff:g id="ID_1">%s</xliff:g> jelenleg nem működik."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Ismeretlen"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Hiba történt"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Továbbiak…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Média"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Dalok, előadók és egyebek keresése…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Hiba történt. Próbálja újra később."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Jelenleg nem lehetséges"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ez az alkalmazás nem képes erre"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Az alkalmazás használatához jelentkezzen be"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Prémium hozzáférés szükséges"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Túl sok eszköz van használatban"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"A tartalom le van tiltva"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Nem lehet betölteni a tartalmat"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"A tartalom lejátszása már folyamatban van"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Nem lehet több számot átugrani"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nem sikerült befejezni. Próbálja újra."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Semmi más nincs a sorban"</string>
+</resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
new file mode 100644
index 0000000..40b6a1c
--- /dev/null
+++ b/res/values-hy/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Բովանդակությունը բեռնվում է…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Հասանելի մեդիա բովանդակություն չկա։"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> հավելվածն այս պահին չի աշխատում։"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Անհայտ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Սխալ առաջացավ"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Ավելին…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Մուլտիմեդիա"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Որոնեք երգեր, կատարողներ և այլն…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Այժմ հնչում է"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Սխալ առաջացավ: Փորձեք ավելի ուշ։"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Այս պահին հնարավոր չէ անել դա"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Այս հավելվածը չի աջակցվում"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Մուտք գործեք՝ հավելվածն օգտագործելու համար"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Անհրաժեշտ է պրեմիում հաշիվ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Սարքերի քանակը գերազանցվել է"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Բովանդակությունն արգելափակված է"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Բովանդակությունն անհասանելի է այս տարածաշրջանում"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Բովանդակությունն արդեն նվագարկվում է"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Հնարավոր չէ այլ կատարումներ բաց թողնել"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Չհաջողվեց ավարտել: Նորից փորձեք։"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Հերթացանկի սկիզբ կամ վերջ"</string>
+</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
new file mode 100644
index 0000000..0f15d22
--- /dev/null
+++ b/res/values-in/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Memuat konten…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Tidak ada media yang tersedia di sini."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> tidak berfungsi sekarang."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Tidak diketahui"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Terjadi masalah"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Lainnya…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Telusuri lagu, artis, dll..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Terjadi masalah. Coba nanti."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Tidak dapat melakukannya saat ini"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Aplikasi ini tidak dapat melakukannya"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Login untuk menggunakan aplikasi ini"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Perlu akses premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Terlalu banyak perangkat digunakan untuk mendengarkan"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Konten tersebut diblokir"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Tidak bisa mendapatkan konten tersebut di sini"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Sedang memutar konten tersebut"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Tidak dapat melewati lagu lagi"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Tidak dapat diselesaikan. Coba lagi."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Tidak ada lagi yang mengantre"</string>
+</resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
new file mode 100644
index 0000000..3e9a40f
--- /dev/null
+++ b/res/values-is/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Hleður efni…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Ekkert efni í boði hér."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> virkar ekki í augnablikinu."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Óþekkt"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Eitthvað fór úrskeiðis"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Meira…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Efni"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Leita að lögum, flytjendum og fleira..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Í spilun"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Eitthvað er ekki í lagi. Reyna síðar."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Ekki er hægt að framkvæma þetta eins og er"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Forritið getur ekki framkvæmt þetta"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Skráðu þig inn til að nota þetta forrit"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium-aðgangur er nauðsynlegur"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Hlustað í of mörgum tækjum"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Þetta efni er á bannlista"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Efnið er ekki tiltækt hér"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Þegar að spila þetta efni"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Ekki er hægt að sleppa fleiri lögum"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Ekki tókst að ljúka aðgerð. Reyndu aftur."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ekkert annað er í röð"</string>
+</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
new file mode 100644
index 0000000..40a5890
--- /dev/null
+++ b/res/values-it/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Caricamento dei contenuti…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Qui non è disponibile alcun contenuto multimediale."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Al momento l\'app <xliff:g id="ID_1">%s</xliff:g> non funziona."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Sconosciuta"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Si è verificato un errore"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Altro…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Contenuti multimediali"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Cerca brani, artisti e non solo…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Si è verificato un problema. Riprova più tardi."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Al momento non è possibile svolgere l\'operazione"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Questa app non supporta l\'azione richiesta"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Accedi per usare questa app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"È necessario l\'accesso Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Ascolto attivo su troppi dispositivi"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Contenuti bloccati"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Qui non è possibile scaricare questi contenuti"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Contenuti già in riproduzione"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Impossibile saltare altre tracce"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Impossibile completare. Riprova."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nient\'altro in coda"</string>
+</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
new file mode 100644
index 0000000..c92ff75
--- /dev/null
+++ b/res/values-iw/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"התוכן נטען…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"אין כאן מדיה."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"האפליקציה <xliff:g id="ID_1">%s</xliff:g> לא פועלת כרגע."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"לא ידוע"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"משהו השתבש"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"עוד…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"מדיה"</string>
+    <string name="search_hint" msgid="5401750426238148416">"חיפוש שירים, אומנים…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"מושמע עכשיו"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"משהו השתבש. יש לנסות מאוחר יותר."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"לא ניתן לבצע את הפעולה הזו כרגע"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"אי אפשר לבצע פעולה זו באפליקציה הזו"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"יש להיכנס לחשבון כדי להשתמש באפליקציה הזו"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"נדרשת גישה ל-Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"בהאזנה ליותר מדי מכשירים"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"התוכן הזה חסום"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"לא ניתן לקבל את התוכן הזה כאן"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"התוכן הזה כבר פועל"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"לא ניתן לדלג יותר על טראקים"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"לא ניתן היה לסיים. יש לנסות שוב."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"אין עוד שירים ברשימת השירים"</string>
+</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
new file mode 100644
index 0000000..998c367
--- /dev/null
+++ b/res/values-ja/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"コンテンツを読み込んでいます…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"このフォルダにはメディアはありません。"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> は現在動作していません。"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"不明"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"エラーが発生しました"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"その他…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"メディア"</string>
+    <string name="search_hint" msgid="5401750426238148416">"曲、アーティストなどを検索..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"この曲なに？"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"エラーが発生しました。しばらくしてからお試しください。"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"現在、利用できません"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"このアプリではサポートされていません"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"このアプリを使用するにはログインしてください"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"プレミアム アカウントが必要です"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"再生しているデバイスが多すぎます"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"このコンテンツはブロックされています"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"このコンテンツはこの地域では再生できません"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"このコンテンツはすでに再生中です"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"これ以上トラックをスキップできません"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"完了できません。もう一度お試しください。"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"キューが一杯で追加できません"</string>
+</resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
new file mode 100644
index 0000000..bee1d5f
--- /dev/null
+++ b/res/values-ka/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"მიმდინარეობს კონტენტის ჩატვირთვა…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"აქ მედიაფაილები ხელმისაწვდომი არ არის."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ამ მომენტისთვის არ მუშაობს."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"უცნობი"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"წარმოიქმნა შეფერხება"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"სხვა…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"მედია"</string>
+    <string name="search_hint" msgid="5401750426238148416">"სიმღ., მუსიკოს. და ა.შ. ძიება..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"რა უკრავს"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"რაღაც შეცდომაა. ცადეთ მოგვიანებით."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ამჟამად ამის გაკეთება შეუძლებელია"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ეს აპი ამას ვერ გააკეთებს"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ამ აპით სარგებლობისთვის შედით სისტემაში"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"საჭიროა პრემიუმ ტიპის წვდომა"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"მოსმენა მიმდინარეობს მეტისმეტად ბევრ მოწყობილობაზე"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ეს კონტენტი დაბლოკილია"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ამ კონტენტს აქ ვერ მიიღებთ"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ეს კონტენტი უკვე იკვრება"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"მეტ ჩანაწერს ვერ გამოტოვებთ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"დასრულება ვერ მოხერხდა. ცადეთ ხელახლა."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"რიგში აღარაფერია"</string>
+</resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
new file mode 100644
index 0000000..ca7f676
--- /dev/null
+++ b/res/values-kk/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Мазмұн жүктелуде…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Мұнда ешқандай медиамазмұн жоқ."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> қазір жұмыс істемей тұр."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Белгісіз"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Бірдеңе дұрыс болмады."</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Басқалары…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Meдиа"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Әнді, орындаушыны, т.б. іздеу..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Қазір ойнатылуда"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Бірдеңе дұрыс емес. Кейінірек қайталап көріңіз."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Мұны дәл қазір істеу мүмкін емес."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Бұл қолданба мұны істей алмайды."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Осы қолданбаны пайдалану үшін есептік жазбаға кіріңіз."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Премиум рұқсат қажет."</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Бұл мазмұн тым көп құрылғыларда тыңдалып жатыр."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Бұл мазмұнға тыйым салынған."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Мазмұнды алу мүмкін емес."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Бұл мазмұн әлдеқашан ойнатылып жатыр."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Басқа тректерді өткізіп жіберу мүмкін емес."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Аяқталмады. Қайталап көріңіз."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Кезекке басқа ештеңе қойылмаған."</string>
+</resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
new file mode 100644
index 0000000..a422dfb
--- /dev/null
+++ b/res/values-km/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"កំពុងផ្ទុក​ខ្លឹមសារ…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"មិនមានមេឌៀ​នៅទីនេះទេ។"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> មិនកំពុងដំណើរការទេ​ឥឡូវនេះ។"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"មិនស្គាល់"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"មានអ្វីមួយ​ខុសប្រក្រតី"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ច្រើនទៀត…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"មេឌៀ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ស្វែងរក​ចម្រៀង សិល្បករ និងអ្វីៗជាច្រើនទៀត..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"មានអ្វីមួយ​ខុស​ប្រក្រតី។ សូមព្យាយាម​នៅពេលក្រោយ។"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"មិនអាច​ធ្វើតាមសំណើនោះ​ឥឡូវនេះ​បានទេ"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"កម្មវិធីនេះ​មិនអាចធ្វើ​តាមសំណើនោះ​បានទេ"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ចូលគណនី ដើម្បីប្រើកម្មវិធីនេះ"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"តម្រូវឱ្យមាន​ការចូលប្រើ​លំដាប់ខ្ពស់"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"កំពុងស្ដាប់​នៅលើ​ឧបករណ៍​ច្រើនពេក"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ខ្លឹមសារនោះ​ត្រូវបានទប់ស្កាត់"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"មិនអាច​ទាញយក​ខ្លឹមសារនោះ​នៅទីនេះ​បានទេ"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"កំពុងចាក់​ខ្លឹមសារនោះ​ស្រាប់ហើយ"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"មិនអាច​រំលងចម្រៀង​បានទៀតទេ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"មិនអាច​បញ្ចប់បានទេ។ សូមព្យាយាមម្ដងទៀត។"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"មិនមានអ្វី​ផ្សេងទៀត​នៅក្នុង​ជួរទេ"</string>
+</resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
new file mode 100644
index 0000000..864f087
--- /dev/null
+++ b/res/values-kn/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"ವಿಷಯವನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ಯಾವುದೇ ಮಾಧ್ಯಮ ಇಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"ಈಗ <xliff:g id="ID_1">%s</xliff:g> ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿಲ್ಲ."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"ಅಪರಿಚಿತ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"ಏನೋ ತಪ್ಪಾಗಿದೆ"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ಇನ್ನಷ್ಟು…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"ಮಾಧ್ಯಮ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ಹಾಡು, ಕಲಾವಿದರು, ಇನ್ನಷ್ಟು ಹುಡುಕಿ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"ಏನೋ ತಪ್ಪಾಗಿದೆ. ನಂತರ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ಸದ್ಯಕ್ಕೆ ಅದನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ಈ ಆ್ಯಪ್‌ನಿಂದ ಅದನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ಈ ಆ್ಯಪ್ ಬಳಸಲು ಸೈನ್ ಇನ್ ಮಾಡಿ"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ಪ್ರೀಮಿಯಂ ಪ್ರವೇಶದ ಅಗತ್ಯವಿದೆ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"ಹಲವಾರು ಸಾಧನಗಳಲ್ಲಿ ಆಲಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ವಿಷಯವನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ಆ ವಿಷಯವನ್ನು ಇಲ್ಲಿ ಪಡೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ಈಗಾಗಲೇ ಆ ವಿಷಯವನ್ನು ಪ್ಲೇ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ಇನ್ನು ಮುಂದೆ ಟ್ರ್ಯಾಕ್‌ಗಳನ್ನು ಸ್ಕಿಪ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"ಪೂರ್ಣಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ ಪುನಃ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ಸರದಿಯಲ್ಲಿ ಯಾವುದು ಬಾಕಿ ಉಳಿದಿಲ್ಲ"</string>
+</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
new file mode 100644
index 0000000..efafa4e
--- /dev/null
+++ b/res/values-ko/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"콘텐츠 로드 중…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"여기에는 사용 가능한 미디어가 없습니다."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"현재 <xliff:g id="ID_1">%s</xliff:g>이(가) 작동하지 않습니다."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"알 수 없음"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"문제 발생"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"더보기…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"미디어"</string>
+    <string name="search_hint" msgid="5401750426238148416">"노래, 아티스트 등을 검색하세요..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"지금 재생 중"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"문제가 발생했습니다. 나중에 다시 시도하세요."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"지금은 요청하신 작업을 할 수 없습니다."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"이 앱에서는 요청하신 작업을 지원하지 않습니다."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"이 앱을 사용하려면 로그인하세요."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"프리미엄 액세스 권한이 필요합니다."</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"너무 많은 기기에서 스트리밍하고 있습니다."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"차단된 콘텐츠입니다."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"이 지역에서 재생할 수 없는 콘텐츠입니다."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"요청하신 콘텐츠를 이미 재생 중입니다."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"트랙을 더이상 건너뛸 수 없습니다."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"완료할 수 없습니다. 다시 시도하세요."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"현재 재생목록이 비어있습니다."</string>
+</resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
new file mode 100644
index 0000000..bb2d689
--- /dev/null
+++ b/res/values-ky/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Мазмун жүктөлүүдө…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Бул жерде медиа файл жок."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> азыр иштебей турат."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Белгисиз"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Бир жерден ката кетти"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Дагы…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Медиа"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Ырларды, аткаруучуларды издөө ж.б..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Азыр эмне ойноп жатат?"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Бир жерден ката кетти. Кийинчерээк кайталаңыз."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Аны азыр аткаруу мүмкүн эмес"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Бул колдонмо аны аткара албайт"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Бул колдонмону пайдалануу үчүн аккаунтуңузга кириңиз"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Артыкчылыктуу кирүү мүмкүнчүлүгү талап кылынат"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Өтө көп түзмөк угулууда"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ал мазмун бөгөттөлгөн"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Ал мазмунду алуу мүмкүн эмес"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ал мазмун ойнотулууда"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Эми тректерди өткөрүп жиберүүгө болбойт"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Аягына чыккан жок. Кайра аракет кылыңыз."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Кезекте эч нерсе жок"</string>
+</resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
new file mode 100644
index 0000000..a68b7e8
--- /dev/null
+++ b/res/values-lo/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"ກຳລັງໂຫຼດເນື້ອຫາ…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ບໍ່ມີສື່ຢູ່ບ່ອນນີ້."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ໃຊ້ບໍ່ໄດ້ໃນຕອນນີ້."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"ບໍ່ຮູ້ຈັກ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"ມີບາງຢ່າງຜິດພາດ"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ເພີ່ມເຕີມ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"ສື່"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ຊອກຫາເພງ, ສິນລະປິນ ແລະ ອື່ນໆອີກ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"ມີບ່າງຢ່າງຜິດພາດ. ລອງໃໝ່ພາຍຫຼັງ."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ບໍ່ສາມາດເຮັດໄດ້ຕອນນີ້"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ແອັບນີ້ບໍ່ສາມາດເຮັດສິ່ງນັ້ນໄດ້"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ເຂົ້າສູ່ລະບົບເພື່ອໃຊ້ແອັບນີ້"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ຕ້ອງມີສິດເຂົ້າເຖິງລະດັບພຣີມຽມ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"ກຳລັງຟັງຢູ່ໃນຫຼາຍອຸປະກອນເກີນໄປ"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ເນື້ອຫານັ້ນຖືກບລັອກໄວ້"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ບໍ່ສາມາດຮັບເນື້ອຫານັ້ນຢູ່ບ່ອນນີ້"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ຫຼິ້ນເນື້ອຫານັ້ນແລ້ວ"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ຂ້າມເພງບໍ່ໄດ້ອີກແລ້ວ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"ບໍ່ສາມາດສຳເລັດໄດ້. ລອງໃໝ່."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ບໍ່ມີລາຍການອື່ນໃນຄິວ"</string>
+</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
new file mode 100644
index 0000000..4b1c56c
--- /dev/null
+++ b/res/values-lt/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Įkeliamas turinys…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Čia nėra jokios medijos."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Programa „<xliff:g id="ID_1">%s</xliff:g>“ šiuo metu neveikia."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Nežinoma"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Kažkas nepavyko"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Daugiau…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Medija"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Ieškokite dainų, atlikėjų ir daugiau..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Dabar leidžiama"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Kažkas nepavyko. Bandykite vėliau."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Negalima atlikti to veiksmo dabar"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ši programa negali atlikti to veiksmo"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Prisijunkite, kad galėtumėte naudoti šią programą"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Būtina mokama prieiga"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Klausoma naudojant per daug įrenginių"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Tas turinys užblokuotas"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Negalima gauti to turinio čia"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Tas turinys jau leidžiamas"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Daugiau takelių praleisti nebegalima"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nepavyko užbaigti. Bandykite dar kartą."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Eilėje nieko nebėra"</string>
+</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
new file mode 100644
index 0000000..4da81b4
--- /dev/null
+++ b/res/values-lv/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Notiek satura ielāde…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Šeit nav multivides satura."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> šobrīd nedarbojas."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Nezināma"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Radās problēma"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Vēl…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multivide"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Meklēt dziesmas u.c."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Tagad atskaņo"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Radās problēma. Mēģiniet vēlāk."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Pašlaik nevar veikt šo darbību."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Šo darbību nevar veikt šajā lietotnē."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Pierakstieties, lai izmantotu šo lietotni."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Nepieciešama maksas piekļuve"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Klausīšanās notiek pārāk daudz ierīcēs."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Šis saturs ir bloķēts."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Nevar šeit parādīt šo saturu."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Šis saturs jau tiek atskaņots."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Vairs nevar izlaist nevienu ierakstu."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nevarēja pabeigt. Mēģiniet vēlreiz."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Rindā vairs nav nekā cita."</string>
+</resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
new file mode 100644
index 0000000..d0d13e4
--- /dev/null
+++ b/res/values-mk/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Се вчитуваат содржини…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Нена аудиовизуелни содржини достапни тука."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> не работи во моментов."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Непознато"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Нешто тргна наопаку"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Повеќе…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Аудиовизуелни содржини"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Пребарувај песни, изведувачи и друго…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Нешто не е во ред. Обидете се подоцна."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Не може да се направи тоа во моментов"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Апликацијава не може да го направи тоа"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Најавете се за да ја користите апликацијава"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Потребен е пристап со Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Се слуша на премногу уреди"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Таа содржина е блокирана"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Не може да се добие таа содржина тука"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Веќе е пуштена таа содржина"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Не може да прескокне повеќе песни"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Не можеше да заврши. Обидете се повторно."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Веќе ништо не чека на ред"</string>
+</resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
new file mode 100644
index 0000000..815cfa9
--- /dev/null
+++ b/res/values-ml/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"ഉള്ളടക്കം ലോഡ് ചെയ്യുന്നു…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ഇവിടെ മീഡിയയൊന്നും ലഭ്യമല്ല."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ഇപ്പോൾ പ്രവർത്തിക്കുന്നില്ല."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"അജ്ഞാതം"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"എന്തോ കുഴപ്പമുണ്ടായി"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"കൂടുതൽ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"മീഡിയ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"പാട്ടും ആർട്ടിസ്റ്റും മറ്റും തിരയൂ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"ഇപ്പോൾ കേൾക്കുന്നത്"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"എന്തോ കുഴപ്പം സംഭവിച്ചു. പിന്നീട് ശ്രമിക്കുക."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"അത് ഇപ്പോൾ ചെയ്യാനാവില്ല"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ഈ ആപ്പിന് അത് ചെയ്യാനാവില്ല"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ഈ ആപ്പ് ഉപയോഗിക്കാൻ സെെൻ ഇൻ ചെയ്യുക"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"പ്രീമിയം ആക്‌സസ് ആവശ്യമാണ്"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"നിരവധി ഉപകരണങ്ങളിൽ കേൾക്കുന്നു"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ആ ഉള്ളടക്കം ബ്ലോക്ക് ചെയ്‌തിരിക്കുന്നു"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ആ ഉള്ളടക്കം ഇവിടെ ലഭിക്കില്ല"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ആ ഉള്ളടക്കം നിലവിൽ പ്ലേ ചെയ്യുകയാണ്"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ഇനിയും ട്രാക്കുകൾ ഒഴിവാക്കാനാവില്ല"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"പൂർത്തിയാക്കാനായില്ല. വീണ്ടും ശ്രമിക്കൂ."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ഒന്നും ക്യൂവിലില്ല"</string>
+</resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
new file mode 100644
index 0000000..b3f6d47
--- /dev/null
+++ b/res/values-mn/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Контентыг ачаалж байна…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Энд боломжтой медиа алга байна."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> одоо ажиллахгүй байна."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Тодорхойгүй"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Алдаа гарлаа"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Бусад…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Медиа"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Дуу, уран бүтээлчид болон бусад зүйлийг хайх..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Ямар нэг асуудал гарлаа. Дараа оролдоно уу."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Яг одоо үүнийг хийх боломжгүй"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Энэ аппаар үүнийг хийх боломжгүй"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Энэ аппыг ашиглахын тулд нэвтэрнэ үү"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium хандалт шаардлагатай"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Хэт олон төхөөрөмж сонсож байна"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ийм контентыг блоклодог"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Ийм контентыг энд авах боломжгүй"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ийм контентыг аль хэдийн тоглуулж байна"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Бичлэг дахин алгасах боломжгүй"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Дуусгаж чадсангүй. Дахин оролдоно уу."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Дууны жагсаалтад юу ч алга"</string>
+</resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
new file mode 100644
index 0000000..9a5d819
--- /dev/null
+++ b/res/values-mr/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"आशय लोड करत आहे…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"येथे कोणताही मीडिया उपलब्ध नाही."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> आता काम करत नाही."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"अज्ञात"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"काहीतरी चूक झाली"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"आणखी…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"मीडिया"</string>
+    <string name="search_hint" msgid="5401750426238148416">"गाणी, कलाकार व बरेच शोधा…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"काहीतरी चूकले. नंतर प्रयत्न करा."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ते याक्षणी केले जाऊ शकत नाही"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"हे ॲप ते करू शकत नाही"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"हे अॅप वापरण्यासाठी साइन इन करा"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"प्रीमियम अॅक्सेस आवश्यक आहे"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"अनेक डिव्हाइसवर ऐकत आहे"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"तो आशय ब्लॉक केलेला आहे"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"तो आशय येथे आणू शकत नाही"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"तो आधीच आशय प्ले केला जात आहे"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"आणखी ट्रॅक वगळू शकत नाही"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"पूर्ण करता आले नाही. पुन्हा प्रयत्न करा."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"इतर काहीही क्यू केलेले नाही"</string>
+</resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
new file mode 100644
index 0000000..49e6456
--- /dev/null
+++ b/res/values-ms/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Memuatkan kandungan…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Media tidak tersedia di sini."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> tidak berfungsi sekarang."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Tidak diketahui"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Kesilapan telah berlaku"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Lagi…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Cari lagu, artis dll..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Ada yang tidak kena. Cuba nanti."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Tidak dapat berbuat demikian sekarang"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Apl ini tidak dapat berbuat demikian"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Log masuk untuk menggunakan apl ini"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Akses premium diperlukan"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Mendengar pada terlalu banyak peranti"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Kandungan itu disekat"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Tidak boleh mendapatkan kandungan itu di sini"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Sudah pun memainkan kandungan itu"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Tidak boleh melangkau sebarang lagu lagi"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Tidak dapat diselesaikan. Cuba lagi."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Tiada lagu lain dalam baris gilir"</string>
+</resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
new file mode 100644
index 0000000..d8fa172
--- /dev/null
+++ b/res/values-my/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"အကြောင်းအရာကို ဖွင့်နေသည်…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ဤနေရာတွင် မည်သည့်မီဒီယာမျှ မရှိပါ။"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ကို ယခုအသုံးပြု၍မရပါ။"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"အမျိုးအမည်မသိ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"တစ်ခုခု မှားသွားသည်"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"နောက်ထပ်..."</string>
+    <string name="media_app_title" msgid="94717597743776797">"မီဒီယာ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"အရာများစွာ ရှာပါ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"ယခု ဖွင့်နေသည်"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"တစ်ခုခု မှားနေသည်။ နောက်မှ စမ်းကြည့်ပါ။"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"၎င်းကို ယခု မပြုလုပ်နိုင်ပါ"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ဤအက်ပ်က ၎င်းကို မပြုလုပ်နိုင်ပါ"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ဤအက်ပ်အသုံးပြုရန် လက်မှတ်ထိုးဝင်ပါ"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ပရီမီယံ အသုံးပြုခွင့် လိုအပ်သည်"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"စက်ပစ္စည်းအများအပြားတွင် နားထောင်နေသည်"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ထိုအကြောင်းအရာကို ပိတ်ထားသည်"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ထိုအကြောင်းအရာကို ဤနေရာတွင် မရရှိနိုင်ပါ"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ထိုအကြောင်းအရာကို ဖွင့်နေပြီဖြစ်သည်"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"နောက်ထပ်သီချင်းပုဒ်များ ကျော်၍မရတော့ပါ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"အပြီးသတ်၍ မရပါ။ ထပ်စမ်းကြည့်ပါ။"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"အခြားစီထားသည်များ မရှိပါ"</string>
+</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
new file mode 100644
index 0000000..3d4c017
--- /dev/null
+++ b/res/values-nb/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Laster inn innhold …"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Ingen medier er tilgjengelige her."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> fungerer ikke for øyeblikket."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Ukjent"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Noe gikk galt"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Mer"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Medier"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Søk etter sanger, artister med mer"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Spilles nå"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Noe gikk galt. Prøv senere."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Du kan ikke gjøre det akkurat nå"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Denne appen kan ikke gjøre det"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Logg på for å bruke denne appen"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premiumtilgang kreves"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Du lytter på for mange enheter"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Innholdet er blokkert"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Innholdet er ikke tilgjengelig her"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Du spiller allerede av innholdet"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Kan ikke hoppe over flere spor"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Kunne ikke fullføre. Prøv igjen."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ingenting annet står i køen"</string>
+</resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
new file mode 100644
index 0000000..634a1bb
--- /dev/null
+++ b/res/values-ne/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"सामग्री लोड गर्दै…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"यहाँ कुनै पनि मिडिया उपलब्ध छैन"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ले अहिले काम गरिरहेको छैन"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"अज्ञात"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"केही चिज गडबड भयो"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"थप…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"मिडिया"</string>
+    <string name="search_hint" msgid="5401750426238148416">"गीत, कलाकार र थप खोज्नु…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"अहिले प्ले भइरहेको"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"केही चिज गडबड छ। पछि प्रयास गर्नुहोस्।"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"त्यो कार्य अहिले नै गर्न सकिँदैन"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"यो अनुप्रयोगले त्यो कार्य गर्न सक्दैन"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"यो अनुप्रयोग प्रयोग गर्न साइन इन गर्नुहोस्"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"प्रिमियममाथिको पहुँच आवश्यक छ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"अत्यधिक यन्त्रहरूमा सुन्दै"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"त्यो सामग्रीमाथि रोक लगाइएको छ"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"त्यो सामग्री यहाँ प्राप्त गर्न सकिँदैन"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"त्यो सामग्री पहिलेदेखि नै प्ले भइरहेको छ"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"कुनै पनि थप ट्रयाकहरू छाड्न सकिँदैन"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"समाप्त गर्न सकिएन। फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"यसदेखि बाहेक केही पङ्क्तिबद्ध गरिएको छैन"</string>
+</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
new file mode 100644
index 0000000..5880219
--- /dev/null
+++ b/res/values-nl/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Content laden…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Hier is geen media beschikbaar."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> werkt momenteel niet."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Onbekend"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Er is iets misgegaan"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Meer…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Zoek nummers, artiesten en meer..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Er is iets misgegaan. Probeer het later opnieuw."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Kan dat nu niet doen"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Deze app kan dat niet doen"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Log in om deze app te gebruiken"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium-toegang vereist"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Er wordt op te veel apparaten geluisterd"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Die content is geblokkeerd"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Kan die content hier niet krijgen"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Die content wordt al afgespeeld"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Kan geen tracks meer overslaan"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Kan niet voltooien. Probeer het opnieuw."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Er staat niets anders in de wachtrij"</string>
+</resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
new file mode 100644
index 0000000..1c9c7fd
--- /dev/null
+++ b/res/values-or/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"ବିଷୟବସ୍ତୁ ଲୋଡ୍ ହେଉଛି…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ଏଠାରେ କୌଣସି ମିଡିଆ ଉପଲବ୍ଧ ନାହିଁ।"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ବର୍ତ୍ତମାନ ହିଁ କାର୍ଯ୍ୟ କରୁ ନାହିଁ।"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"ଅଜଣା"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"କିଛି ଭୁଲ ହୋଇଗଲା"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ଅଧିକ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"ମିଡିଆ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ଗୀତ, କଳାକାର, ଏବଂ ଅନେକ ସନ୍ଧାନ କରନ୍ତୁ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"ଏବେ ଚାଲୁଅଛି"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"କିଛି ସମସ୍ୟା ଅଛି। ପରେ ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ବର୍ତ୍ତମାନ ତାହା କରିପାରିବ ନାହିଁ"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ଏହି ଆପ୍ ତାହା କରିପାରିବ ନାହିଁ"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ଏହି ଆପ୍ ବ୍ୟବହାର କରିବାକୁ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ପ୍ରିମିୟମ୍ ଆକ୍ସେସ୍‌ର ଆବଶ୍ୟକ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"ଅନେକ ଡିଭାଇସ୍‌ରେ ଶୁଣାଯାଉଛି"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ସେହି ବିଷୟବସ୍ତୁ ବ୍ଲକ୍ କରାଯାଇଛି"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ଏଠାରେ ସେହି ବିଷୟବସ୍ତୁ ପାଇବେ ନାହିଁ"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ପୂର୍ବରୁ ସେହି ବିଷୟବସ୍ତୁ ଖେଳାଯାଉଛି"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ଅଧିକ ଟ୍ରାକ୍ ବାଦ୍ ଦେଇପାରିବ ନାହିଁ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"ସମାପ୍ତ କରାଯାଇ ପାରିଲା ନାହିଁ। ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ଅନୁକ୍ରମରେ ଆଉ କିଛି ନାହିଁ"</string>
+</resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
new file mode 100644
index 0000000..bd7d5bc
--- /dev/null
+++ b/res/values-pa/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"ਸਮੱਗਰੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ਇੱਥੇ ਕੋਈ ਮੀਡੀਆ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ਐਪ ਫਿਲਹਾਲ ਕੰਮ ਨਹੀਂ ਕਰ ਰਹੀ ਹੈ।"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"ਅਗਿਆਤ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"ਕੋਈ ਗੜਬੜ ਹੋਈ"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"ਹੋਰ…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"ਮੀਡੀਆ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ਗੀਤ, ਕਲਾਕਾਰ ਖੋਜੋ, ਹੋਰ"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"ਹੁਣੇ ਚੱਲ ਰਿਹਾ ਹੈ"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"ਕੋਈ ਗੜਬੜ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ਫਿਲਹਾਲ ਇਹ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ਇਹ ਐਪ ਇਹ ਨਹੀਂ ਕਰ ਸਕਦੀ"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ਇਸ ਐਪ ਨੂੰ ਵਰਤਣ ਲਈ ਸਾਈਨ-ਇਨ ਕਰੋ"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ਪ੍ਰੀਮੀਅਮ ਪਹੁੰਚ ਦੀ ਲੋੜ ਹੈ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"ਬਹੁਤ ਜ਼ਿਆਦਾ ਡੀਵਾਈਸਾਂ \'ਤੇ ਸੁਣਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ਇਸ ਸਮੱਗਰੀ ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ਇੱਥੇ ਇਹ ਸਮੱਗਰੀ ਨਹੀਂ ਮਿਲ ਸਕਦੀ"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ਇਹ ਸਮੱਗਰੀ ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਹੀ ਹੈ"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ਕਿਸੇ ਹੋਰ ਟਰੈਕ ਨੂੰ ਛੱਡਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"ਪੂਰਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ਹੋਰ ਕੁਝ ਵੀ ਕਤਾਰਬੱਧ ਨਹੀਂ ਹੈ"</string>
+</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
new file mode 100644
index 0000000..2bd9e70
--- /dev/null
+++ b/res/values-pl/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Wczytuję treści…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Nie ma tu żadnych multimediów."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> teraz nie działa."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Nieznana"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Coś poszło nie tak"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Więcej…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multimedia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Np. utwór lub wykonawca"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Co jest grane"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Coś poszło nie tak. Spróbuj później."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Teraz nie można tego zrobić"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Wybrana aplikacja nie ma takiej funkcji"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Zaloguj się, by używać tej aplikacji"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Wymagany jest dostęp na poziomie premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Słuchasz zbyt wielu urządzeń"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Te materiały są zablokowane"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Te materiały są niedostępne w tym regionie"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Te materiały są już odtwarzane"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Nie można pominąć większej liczby utworów"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nie udało się dokończyć. Spróbuj ponownie."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nie ma już nic w kolejce"</string>
+</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
new file mode 100644
index 0000000..e28a662
--- /dev/null
+++ b/res/values-pt-rPT/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"A carregar o conteúdo…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Nenhum conteúdo multimédia aqui."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> não está a funcionar neste momento."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Desconhecido"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Ocorreu um erro."</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Mais…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Multimédia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Pesquise músicas, artistas e mais…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"A tocar"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Ocorreu um problema. Tente mais tarde."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Não é possível responder a esse pedido neste momento."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Esta aplicação não consegue responder a esse pedido."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Inicie sessão para utilizar esta aplicação."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Acesso premium necessário."</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"A ouvir em demasiados dispositivos."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Esse conteúdo está bloqueado."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Não é possível obter esse conteúdo aqui."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Esse conteúdo já está em reprodução."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Não é possível ignorar mais faixas."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Não foi possível terminar. Tente novamente."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Não existem mais elementos em fila."</string>
+</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
new file mode 100644
index 0000000..e4bb9c1
--- /dev/null
+++ b/res/values-pt/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Carregando conteúdo…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Nenhuma mídia disponível aqui."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> não está funcionando no momento."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Desconhecido"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Algo deu errado"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Mais…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Mídia"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Pesq. músicas e mais"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Tocando agora"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Algo deu errado. Tente mais tarde."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Não é possível fazer isso no momento"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Não é possível fazer isso com este app"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Faça login para usar este app"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"É necessário ter acesso Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Ouvindo em muitos dispositivos"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Esse conteúdo está bloqueado"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Não é possível usar esse conteúdo aqui"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Esse conteúdo já está tocando"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Não é possível pular mais faixas"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Não foi possível concluir. Tente novamente."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Não há mais nada na fila"</string>
+</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
new file mode 100644
index 0000000..bfd7c86
--- /dev/null
+++ b/res/values-ro/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Se încarcă conținutul…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Aici nu există conținut media."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> nu funcționează momentan."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Necunoscută"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"A apărut o eroare"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Mai multe…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Căutați cântece, artiști și altele…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Se redă acum"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"A apărut o problemă. Încercați mai târziu."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Acțiunea nu poate fi realizată momentan"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Aplicația nu poate realiza această acțiune"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Conectați-vă pentru a folosi aplicația"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Este necesar accesul premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Se ascultă prea multe dispozitive"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Conținutul este blocat"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Conținutul nu poate fi descărcat aici"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Conținutul se redă deja"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Nu mai pot fi omise melodii"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nu s-a putut finaliza. Încercați din nou."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Nu mai există elemente în coadă"</string>
+</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
new file mode 100644
index 0000000..d8d96f9
--- /dev/null
+++ b/res/values-ru/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Загрузка контента…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Нет доступных медиафайлов."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Приложение \"<xliff:g id="ID_1">%s</xliff:g>\" сейчас не работает."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Нет данных"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Ошибка"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Ещё…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Мультимедиа"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Песня, исполнитель…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Сейчас играет"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Ошибка. Повторите попытку позже."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Невозможно выполнить действие в данный момент."</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Действие недоступно в этом приложении."</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Чтобы использовать это приложение, войдите в аккаунт."</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Требуется премиум-доступ."</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Слишком много устройств, на которых воспроизводится аудио."</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Контент заблокирован."</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Контент недоступен в вашем регионе."</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Этот контент уже воспроизводится."</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Пропускать треки больше нельзя."</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Произошла ошибка. Повторите попытку."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"В очереди воспроизведения нет других файлов."</string>
+</resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
new file mode 100644
index 0000000..5baedae
--- /dev/null
+++ b/res/values-si/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"අන්තර්ගතය පූරණය වේ…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"මෙහි කිසිදු මාධ්‍යයක් නොමැත."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> දැන් වැඩ නොකරයි."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"නොදනී"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"යමක් වැරදී ගියේය"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"තව…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"මාධ්‍ය"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ගීත, කලාකරුවන් සහ තවත් දේ සොයන්න..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"දැන් වාදනය වේ"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"යම් දෙයක් වැරදියි. පසුව උත්සාහ කරන්න."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"දැන් එය කළ නොහැක"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"මෙම යෙදුමට එය කළ නොහැක"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"මෙම යෙදුම භාවිත කිරීමට පුරන්න"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"පාරිතෝෂික ප්‍රවේශය අවශ්‍යයි"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"ඕනෑවට වඩා උපාංග මත සවන් දීම"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"එම අන්තර්ගතය අවහිර කර ඇත"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"එම අන්තර්ගතය මෙතැනින් ලබා ගත නොහැක"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"දැනටමත් එම අන්තර්ගතය වාදනය කරයි"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"තවත් ඛණ්ඩ මඟ හැරිය නොහැක"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"අවසන් කිරීමට නොහැකි විය. නැවත උත්සාහ කරන්න."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"වෙන කිසිවක් පෝලිමේ නැත"</string>
+</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
new file mode 100644
index 0000000..9a69176
--- /dev/null
+++ b/res/values-sk/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Načítava sa obsah…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Nie sú k dispozícii žiadne médiá."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> momentálne nefunguje."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Neznáme"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Vyskytol sa problém"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Viac…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Médiá"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Hľadať skladby, interpretov a ďalší obsah…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Čo to hrá"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Vyskytol sa problém. Skúste to znova."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Teraz to nie je možné"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Táto aplikácia to nedokáže"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Ak chcete použiť túto aplikáciu, prihláste sa"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Vyžaduje sa prémiový prístup"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Počúva sa na príliš veľa zariadeniach"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Daný obsah je blokovaný"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Daný obsah tu nie je k dispozícii"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Tento obsah sa už prehráva"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Nie je možné preskočiť žiadne ďalšie stopy"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Akciu sa nepodarilo dokončiť. Skúste to znova."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Poradie je prázdne"</string>
+</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
new file mode 100644
index 0000000..fb60ca2
--- /dev/null
+++ b/res/values-sl/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Nalaganje vsebine …"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Tu ni na voljo predstavnosti."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Aplikacija <xliff:g id="ID_1">%s</xliff:g> trenutno ne deluje."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Neznano"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Prišlo je do težave"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Več …"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Predstavnost"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Poiščite skladbe, izvajalce in drugo"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Zdaj se predvaja"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Prišlo je do težave. Poskusite pozneje."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Trenutno to ni izvedljivo"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ta aplikacija ne more izvesti tega"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Prijavite se, če želite uporabljati to aplikacijo"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Potrebujete plačljiv dostop"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Poslušanje v preveč napravah"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Ta vsebina je blokirana"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Te vsebine tukaj ni mogoče pridobiti"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ta vsebina se že predvaja"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Dosegli ste omejitev preskakovanja skladb"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Ni bilo mogoče dokončati. Poskusite znova."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Čakalna vrsta je prazna"</string>
+</resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
new file mode 100644
index 0000000..23652c1
--- /dev/null
+++ b/res/values-sq/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Po ngarkon përmbajtjen…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Këtu nuk ka media."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> nuk funksionon në këtë moment."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"I panjohur"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Ndodhi një gabim"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Më shumë…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Kërko për këngët, artistët etj..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Po luhet tani"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Ndodhi një gabim. Provo më vonë."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Këtë nuk mund ta bësh në këtë moment"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ky aplikacion nuk mund ta bëjë këtë"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Identifikohu për të përdorur këtë aplikacion"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Kërkohet qasje Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Po dëgjon në shumë pajisje"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Kjo përmbajtje është bllokuar"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Ajo përmbajtje nuk mund të merret këtu"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Ajo përmbajtje po luhet tashmë"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Nuk mund të kapërcejë këngë të tjera"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Nuk mundi të përfundojë. Provo sërish."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Asgjë tjetër nuk është në radhë"</string>
+</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
new file mode 100644
index 0000000..81a1d68
--- /dev/null
+++ b/res/values-sr/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Садржај се учитава…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Овде није доступан медијски садржај."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> тренутно не ради."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Непознато"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Дошло је до грешке"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Још…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Медији"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Тражите песме, извођаче и друго..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Тренутно свира"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Нешто није у реду. Пробајте касније."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Тренутно не може то да уради"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ова апликација не може то да уради"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Пријавите се да бисте користили ову апликацију"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Потребан је премијум приступ"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Слушате на превише уређаја"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Тај садржај је блокиран"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Не можете да добијете тај садржај овде"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Тај садржај се већ репродукује"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Не можете више да прескачете песме"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Нисмо успели да довршимо радњу. Пробајте поново."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ништа друго није стављено у ред"</string>
+</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
new file mode 100644
index 0000000..c5eb493
--- /dev/null
+++ b/res/values-sv/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Läser in innehåll …"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Det finns inga mediefiler här."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> fungerar inte just nu."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Okänd"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Något gick fel"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Mer …"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Sök låt, artist m.m."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Nu spelas"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Något är fel. Försök igen senare."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Det går inte just nu"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Det går inte med den här appen"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Logga in om du vill använda appen"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium-konto krävs"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"För många enheter streamas"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Det innehållet har blockerats"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Det innehållet är inte tillgängligt här"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Det innehållet spelas redan"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Det går inte att hoppa över fler låtar"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Det gick inte att slutföra. Försök igen."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Inget annat har lagts i uppspelningskön"</string>
+</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
new file mode 100644
index 0000000..a7cbfdb
--- /dev/null
+++ b/res/values-sw/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Inapakia maudhui…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Hakuna maudhui yanayopatikana hapa."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> haifanyi kazi sasa hivi."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Haijulikani"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Hitilafu fulani imetokea"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Zaidi…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Maudhui"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Tafuta nyimbo, wasanii na zaidi..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Inayocheza Sasa"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Hitilafu fulani imetokea. Jaribu baadaye."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Imeshindwa kufanya hivyo kwa sasa"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Programu hii imeshindwa kutekeleza ombi lako"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Ingia katika akaunti ili utumie programu hii"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Unahitaji kutumia akaunti ya Kulipia"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Unasikiliza kwenye vifaa vingi mno"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Maudhui haya yamezuiwa"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Imeshindwa kupata maudhui haya hapa"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Tayari inacheza maudhui hayo"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Imeshindwa kuruka nyimbo nyingine zaidi"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Imeshindwa kumaliza. Jaribu tena."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Hakuna maudhui mengine kwenye foleni"</string>
+</resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
new file mode 100644
index 0000000..270d5e3
--- /dev/null
+++ b/res/values-ta/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"உள்ளடக்கத்தை ஏற்றுகிறது…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"இதில் எந்த மீடியாவும் இல்லை."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ஆப்ஸ் இப்போது வேலை செய்யவில்லை."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"தெரியாத வழங்குநர்"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"ஏதோ தவறாகிவிட்டது"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"மேலும்…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"மீடியா"</string>
+    <string name="search_hint" msgid="5401750426238148416">"பாடல், கலைஞர் தேடல்"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"பாடல் விவரம்"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"ஏதோ தவறாகிவிட்டது. பிறகு முயலவும்."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"தற்சமயம் இதை செய்ய இயலாது"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"இந்த ஆப்ஸ் ஆதரிக்கவில்லை"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"இந்த ஆப்ஸை உபயோகிக்க உள்நுழைய வேண்டும்"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium அணுகல் தேவை"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"பல்வேறு சாதனங்களைக் கவனிக்கிறது"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"இது தடுக்கப்பட்டுள்ளது"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"அதை இங்குப் பெற முடியவில்லை"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ஏற்கெனவே அதைப் பிளே செய்து கொண்டிருக்கிறது"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"இதற்கு மேல் டிராக்குகளைத் தவிர்க்க முடியாது"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"நிறைவடையவில்லை. மீண்டும் முயலவும்."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"வேறு எதுவும் வரிசையில் இல்லை"</string>
+</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
new file mode 100644
index 0000000..ce90df9
--- /dev/null
+++ b/res/values-te/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"కంటెంట్ లోడ్ అవుతోంది…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ఇక్కడ మీడియా ఏదీ అందుబాటులో లేదు."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ఇప్పుడు పని చేయడం లేదు."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"తెలియదు"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"ఏదో తప్పు జరిగింది"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"మరిన్ని…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"మీడియా"</string>
+    <string name="search_hint" msgid="5401750426238148416">"పాటలు, కళాకారులు, మరిన్నింటిని వెతకండి..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"ప్రస్తుతం ప్లే అవుతున్నవి"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"ఏదో తప్పుగా ఉంది. తర్వాత ప్రయత్నించండి."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"దాన్ని ఇప్పుడే చేయడం సాధ్యపడదు"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"ఈ యాప్ దాన్ని చేయలేదు"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ఈ యాప్‌ను ఉపయోగించడానికి సైన్ ఇన్ చేయండి"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ప్రీమియం యాక్సెస్ అవసరం"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"చాలా ఎక్కువ పరికరాలలో వింటున్నారు"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"ఆ కంటెంట్ బ్లాక్ చేయబడింది"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"ఆ కంటెంట్‌ను ఇక్కడ పొందడం సాధ్యపడదు"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"ఇప్పటికే ఆ కంటెంట్ ప్లే అవుతోంది"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ఇక ఏ ట్రాక్‌లనూ దాటవేయడం సాధ్యపడదు"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"పూర్తి చేయడం సాధ్యపడలేదు. మళ్ళీ ప్రయత్నించండి."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"వరుసలో ఏమీ లేదు"</string>
+</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
new file mode 100644
index 0000000..6133fec
--- /dev/null
+++ b/res/values-th/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"กำลังโหลดเนื้อหา…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"ที่นี่ไม่มีสื่อ"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ไม่ทำงานในขณะนี้"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"ไม่ทราบ"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"เกิดข้อผิดพลาด"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"เพิ่มเติม…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"สื่อ"</string>
+    <string name="search_hint" msgid="5401750426238148416">"ค้นหาเพลง ศิลปิน และอื่นๆ..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"กำลังเล่น"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"มีข้อผิดพลาดเกิดขึ้น ลองอีกครั้งในภายหลัง"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ดำเนินการดังกล่าวไม่ได้ในขณะนี้"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"แอปนี้ดำเนินการดังกล่าวไม่ได้"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"ลงชื่อเข้าใช้เพื่อใช้แอปนี้"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"ต้องมีสิทธิ์เข้าถึงระดับพรีเมียม"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"กำลังเปิดฟังจากหลายอุปกรณ์เกินไป"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"เนื้อหาดังกล่าวถูกบล็อก"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"เปิดเนื้อหาดังกล่าวไม่ได้ที่นี่"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"กำลังเล่นเนื้อหาดังกล่าวอยู่แล้ว"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"ข้ามแทร็กอื่นอีกไม่ได้แล้ว"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"ดำเนินการไม่สำเร็จ ลองอีกครั้ง"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"ไม่มีรายการอื่นในคิว"</string>
+</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
new file mode 100644
index 0000000..40d9173
--- /dev/null
+++ b/res/values-tl/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Nilo-load ang content…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Walang available na media rito."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"Hindi gumagana sa ngayon ang <xliff:g id="ID_1">%s</xliff:g>."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Hindi Alam"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Nagkaproblema"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Higit pa…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Maghanap ng kanta, artist, atbp..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Nagpi-play Ngayon"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"May problema. Subukan sa ibang pagkakataon."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Hindi iyon magagawa ngayon"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Hindi iyon magagawa ng app na ito"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Mag-sign in para gamitin ang app na ito"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Kailangan ng premium na access"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Nakikinig sa masyadong maraming device"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Naka-block ang content na iyon"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Hindi makukuha ang content na iyon dito"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Pine-play na ang content na iyon"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Hindi na malalaktawan ang higit pang track"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Hindi matapos. Subukan ulit."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Wala nang naka-queue"</string>
+</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
new file mode 100644
index 0000000..99a0fd7
--- /dev/null
+++ b/res/values-tr/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"İçerik yükleniyor…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Burada kullanılabilir bir ortam bulunmuyor."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> şu anda çalışmıyor"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Bilinmiyor"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Hata oluştu"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Diğer…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Medya"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Şarkı vs. arayın..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Ne Çalıyor?"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Bir şeyler ters gitti. Daha sonra tekrar deneyin."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"İşlem şu anda gerçekleştirilemiyor"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Uygulama bu işlemi gerçekleştiremiyor"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Bu uygulamayı kullanmak için oturum açın"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Premium erişim gerekli"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Çok fazla cihazda dinleme yapılıyor"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Bu içerik engellendi"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"İçeriğe buradan erişilemiyor"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Bu içerik zaten oynatılıyor"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Daha fazla parça atlanamıyor"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Tamamlanamadı. Tekrar deneyin."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Sıraya eklenmiş başka bir şey yok"</string>
+</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
new file mode 100644
index 0000000..ebf5455
--- /dev/null
+++ b/res/values-uk/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Завантаження вмісту…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Немає доступних медіафайлів."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> зараз не працює."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Невідомо"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Сталася помилка"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Більше…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Медіа"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Пошук пісень, виконавців тощо…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Зараз грає"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Сталася помилка. Повторіть спробу пізніше."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Зараз неможливо виконати запит"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Додаток не підтримує цю дію"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Увійдіть, щоб використовувати цей додаток"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Потрібна підписка Premium"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Для прослуховування використовується забагато пристроїв"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Цей вміст заблоковано"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Цей вміст недоступний у вашій країні"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Цей вміст уже відтворюється"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Неможливо пропустити більше композицій"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Не вдалося закінчити. Повторіть спробу."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Черга порожня"</string>
+</resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
new file mode 100644
index 0000000..3c4c6c1
--- /dev/null
+++ b/res/values-ur/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"مواد لوڈ ہو رہا ہے…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"یہاں کوئی میڈیا دستیاب نہیں ہے۔"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> ابھی کام نہیں کر رہی ہے۔"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"نامعلوم"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"کچھ غلط ہو گیا"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"مزید…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"میڈیا"</string>
+    <string name="search_hint" msgid="5401750426238148416">"گانے، فنکاران، اور مزید تلاش کریں..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Now Playing"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"کچھ غلط ہو گیا۔ بعد میں کوشش کریں۔"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"ابھی وہ ایسا نہیں کر سکتا"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"یہ ایپ ایسا نہیں کر سکتا"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"اس ایپ کا استعمال کرنے کے لیے سائن ان کریں"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"پریمیم رسائی درکار ہے"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"بہت سے آلات پر سننا"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"وہ مواد مسدود ہے"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"یہاں وہ مواد حاصل نہیں کر سکتے"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"وہ مواد پہلے سے ہی چلایا جارہا ہے"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"مزید کسی اور ٹریکس کو نظر انداز نہیں کر سکتے"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"پورا نہیں ہو سکا۔ پھر آزمائيں۔"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"مزید کچھ اور کی قطار نہیں ہے"</string>
+</resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
new file mode 100644
index 0000000..e89378b
--- /dev/null
+++ b/res/values-uz/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Kontent yuklanmoqda…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Bu yerda hech qanday mediafayllar mavjud emas."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> hozir ishlamayapti."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Noaniq"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Xatolik yuz berdi"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Yana…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Media"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Musiqa qidiruvi..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Ijro qilinmoqda"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Nimadir xato ketdi Keyinroq qayta urining."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Buni hozir amalga oshira olmaydi"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Bu ilova bu amalni bajara olmaydi"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Bu ilovadan foydalanish uchun hisobingizga kiring"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Ishonchli ruxsat kerak"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Koʻplab qurilmalar tinglanmoqda"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Bu kontent bloklangan"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Bu kontentni bu yerga olish imkonsiz"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Bu kontent allaqachon ijro etilmoqda"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Boshqa treklarni qoldirib ketish imkonsiz"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Tugallanmadi. Qaytadan urining."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Ijro navbatida boshqa fayllar mavjud emas"</string>
+</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
new file mode 100644
index 0000000..ad0db19
--- /dev/null
+++ b/res/values-vi/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Đang tải nội dung…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Không có nội dung nghe nhìn nào ở đây."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g> hiện không hoạt động."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Không xác định"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Đã xảy ra lỗi"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Thêm…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Nội dung nghe nhìn"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Tìm bài hát, nghệ sĩ, v.v."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Phát hiện nhạc"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Đã xảy ra lỗi. Hãy thử lại sau."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Không thể thực hiện yêu cầu đó ngay bây giờ"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Ứng dụng này không thể thực hiện yêu cầu đó"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Hãy đăng nhập để dùng ứng dụng này"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Yêu cầu quyền truy cập đặc biệt"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Đang nghe trên quá nhiều thiết bị"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Nội dung đó đã bị chặn"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Không thể xem nội dung đó tại đây"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Đang phát nội dung đó rồi"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Không thể bỏ qua bản nhạc nào nữa"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Không thể hoàn tất hành động. Hãy thử lại."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Không có nội dung nào khác trong hàng đợi"</string>
+</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000..8bcd4d1
--- /dev/null
+++ b/res/values-zh-rCN/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"正在加载内容…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"这里没有可用的媒体。"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"<xliff:g id="ID_1">%s</xliff:g>目前无法运行。"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"未知"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"出了点问题"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"更多…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"媒体"</string>
+    <string name="search_hint" msgid="5401750426238148416">"搜索歌曲、音乐人等…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"现正播放"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"出了点问题。请稍后重试。"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"目前无法执行该操作"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"此应用无法执行该操作"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"登录才能使用此应用"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"需要有付费帐号才能访问"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"正在太多设备上同时聆听"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"该内容已遭到屏蔽"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"无法在此处获取这项内容"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"已经在播放这项内容"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"无法再跳过更多曲目"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"无法完成操作。请重试。"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"队列中没有任何其他内容"</string>
+</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
new file mode 100644
index 0000000..05a97db
--- /dev/null
+++ b/res/values-zh-rHK/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"正在載入內容…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"這裡沒有可用媒體。"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"「<xliff:g id="ID_1">%s</xliff:g>」現在無法運作。"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"不明"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"發生問題"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"更多…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"媒體"</string>
+    <string name="search_hint" msgid="5401750426238148416">"搜尋歌曲、演出者和更多內容…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"歌曲識別"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"發生錯誤，請稍後再試。"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"目前無法執行有關操作"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"此應用程式無法執行有關操作"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"登入即可使用此應用程式"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"需要有付費帳戶方可存取"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"過多裝置正在同時收聽"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"有關內容已封鎖"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"無法在此取得有關內容"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"已正在播放有關內容"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"無法再跳播曲目"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"無法完成操作，請再試一次。"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"序列中沒有內容"</string>
+</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
new file mode 100644
index 0000000..a26d783
--- /dev/null
+++ b/res/values-zh-rTW/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"正在載入內容…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"這裡沒有任何媒體。"</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"「<xliff:g id="ID_1">%s</xliff:g>」目前無法運作。"</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"不明"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"發生錯誤"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"更多…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"媒體"</string>
+    <string name="search_hint" msgid="5401750426238148416">"搜尋歌曲、演出者和更多內容…"</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"現正播放"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"發生錯誤，請稍後再試。"</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"目前無法完成這項操作"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"這個應用程式不支援這項操作"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"如要使用這個應用程式，請登入帳戶"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"需要付費存取權"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"同時聆聽音樂的裝置過多"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"內容已遭到封鎖"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"該內容不適用於你所在地區"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"系統已開始播放該內容"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"無法再略過曲目"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"無法完成動作，請再試一次。"</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"待播清單中已無可播放的項目"</string>
+</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
new file mode 100644
index 0000000..1180425
--- /dev/null
+++ b/res/values-zu/strings.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- 
+  Copyright 2016, The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+ -->
+
+<resources xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="browser_loading" msgid="1639570085710372552">"Ilayisha okuqukethwe…"</string>
+    <string name="nothing_to_play" msgid="3027311268791740588">"Ayikho imidiya etholakalayo lapha."</string>
+    <string name="cannot_connect_to_app" msgid="4732888036680095414">"I-<xliff:g id="ID_1">%s</xliff:g> ayisebenzi khona manje."</string>
+    <string name="unknown_media_provider_name" msgid="4238216994694326667">"Akwaziwa"</string>
+    <string name="unknown_error" msgid="6146463797752964372">"Okuthile akuhambanga kahle"</string>
+    <string name="media_browse_more" msgid="6330295386693311592">"Okuningi…"</string>
+    <string name="media_app_title" msgid="94717597743776797">"Imidiya"</string>
+    <string name="search_hint" msgid="5401750426238148416">"Sesha izingoma, abaculi, nokuningi..."</string>
+    <string name="fragment_playback_title" msgid="5014481549024607614">"Okudlala manje"</string>
+    <string name="default_error_message" msgid="6365377134388091079">"Kukhona okungalungile. Zama emuva kwesikhathi."</string>
+    <string name="error_code_app_error" msgid="1726372057192704809">"Ayikwazi ukwenza lokho khona manje"</string>
+    <string name="error_code_not_supported" msgid="1435878548411799387">"Lolu hlelo lokusebenza alukwazi ukwenza lokho"</string>
+    <string name="error_code_authentication_expired" msgid="905154133202017052">"Ngena ngemvume ukuze usebenzise lolu hlelo lokusebenza"</string>
+    <string name="error_code_premium_account_required" msgid="4736461331592855166">"Ukufinyelela kwe-premium kuyadingeka"</string>
+    <string name="error_code_concurrent_stream_limit" msgid="1279573243715957403">"Ilalele kumadivayisi amaningi kakhulu"</string>
+    <string name="error_code_parental_control_restricted" msgid="5222841294702530806">"Lokho okuqukethwe kuvinjelwe"</string>
+    <string name="error_code_not_available_in_region" msgid="4106605584926645567">"Ayikwazi ukuletha lokho okuqukethwe lapha"</string>
+    <string name="error_code_content_already_playing" msgid="8050972499898729459">"Isivele idlala lokho okuqukethwe"</string>
+    <string name="error_code_skip_limit_reached" msgid="8926507875025988831">"Ayikwazi ukweqa amanye amathrekhi amaningi"</string>
+    <string name="error_code_action_aborted" msgid="3889734248905737169">"Ayikwazanga ukuqeda. Zama futhi."</string>
+    <string name="error_code_end_of_queue" msgid="2842652212154074468">"Akukho okunye okufakwe kulayini"</string>
+</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index d7a6046..1f6b7db 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -48,6 +48,6 @@
     <color name="tab_view_icon_tint">@*android:color/car_tint_light</color>
     <color name="tab_view_text_color">@*android:color/car_grey_400</color>
 
-    <!-- fragment_error.xml -->
-    <color name="error_button_text_color">@color/uxr_button_text_color_selector</color>
+    <!-- Color used for the search bar underline -->
+    <color name="search_bar_underline_color">@android:color/white</color>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 5231544..87b0183 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -77,9 +77,7 @@
     <dimen name="appbar_view_tabs_margin_end">@*android:dimen/car_padding_3</dimen>
     <dimen name="appbar_view_control_buttons_spacing">@*android:dimen/car_padding_3</dimen>
     <dimen name="appbar_view_control_buttons_margin_end">@*android:dimen/car_padding_2</dimen>
-    <dimen name="appbar_view_title_margin_start">@*android:dimen/car_padding_2</dimen>
-    <!-- negative margin to overlap icons on search bar -->
-    <dimen name="appbar_view_search_margin">-96dp</dimen>
+    <dimen name="appbar_view_title_margin_start">@dimen/appbar_view_nav_button_width</dimen>
 
     <!-- browse_state.xml -->
     <dimen name="browse_state_progress_height">@*android:dimen/car_double_line_list_item_height
@@ -93,13 +91,14 @@
     <!-- BrowseFragment.java -->
     <!-- Spacer used between the app bar and the top of the browse list/grid -->
     <dimen name="browse_spacer_height">@*android:dimen/car_padding_2</dimen>
-    <dimen name="grid_item_spacing">@*android:dimen/car_padding_4</dimen>
-    <dimen name="grid_item_margin_x">0dp</dimen>
+    <dimen name="grid_item_spacing">@*android:dimen/car_padding_3</dimen>
+
+    <!--  Space between title and subtitle on media browse list/grid  -->
+    <dimen name="media_browse_subtitle_margin_top">@*android:dimen/car_padding_0</dimen>
 
     <!-- media_browse_grid_item.xml -->
     <dimen name="media_browse_grid_item_margin_bottom">@*android:dimen/car_padding_4</dimen>
     <dimen name="media_browse_grid_item_text_margin_top">@*android:dimen/car_padding_3</dimen>
-    <dimen name="media_browse_grid_item_padding">12dp</dimen>
     <dimen name="media_browse_grid_item_background_radius">4dp</dimen>
 
     <!-- media_browse_header_item.xml -->
@@ -111,7 +110,8 @@
     <dimen name="media_browse_list_item_thumbnail_size">76dp</dimen>
     <dimen name="media_browse_list_item_text_margin_x">@*android:dimen/car_keyline_4</dimen>
     <dimen name="media_browse_list_item_icon_margin_start">@*android:dimen/car_keyline_1</dimen>
-    <dimen name="media_browse_list_item_arrow_size">@dimen/touch_target_size</dimen>
+    <dimen name="media_browse_list_item_arrow_size">@*android:dimen/car_primary_icon_size</dimen>
+    <dimen name="media_browse_list_item_thumbnail_margin_bottom">1dp</dimen>
 
     <!-- media_browse_panel_item.xml -->
     <dimen name="media_browse_panel_item_height">@*android:dimen/car_single_line_list_item_height
@@ -125,13 +125,12 @@
     <dimen name="media_browse_indicator_size">25dp</dimen>
 
     <!-- metadata_normal.xml -->
-    <dimen name="metadata_title_subtitle_margin">@*android:dimen/car_padding_4</dimen>
+    <dimen name="metadata_title_subtitle_margin">@*android:dimen/car_padding_2</dimen>
     <dimen name="metadata_subtitles_margin">@*android:dimen/car_padding_2</dimen>
     <dimen name="art_metadata_margin">48dp</dimen>
 
     <!-- browse_playback_background.xml -->
     <dimen name="browse_playback_background_radius">@*android:dimen/car_radius_2</dimen>
-    <dimen name="browse_playback_album_art_size">96dp</dimen>
     <dimen name="browse_playback_album_art_margin_start">@*android:dimen/car_padding_2</dimen>
     <dimen name="browse_playback_album_art_margin_end">@*android:dimen/car_padding_4</dimen>
     <dimen name="browse_playback_text_margin_bottom">@*android:dimen/car_padding_1</dimen>
@@ -141,9 +140,8 @@
     <dimen name="tab_view_icon_margin_bottom">@*android:dimen/car_padding_1</dimen>
 
     <!-- fragment_error.xml -->
-    <dimen name="fragment_error_margin_top">@*android:dimen/car_padding_4</dimen>
-    <dimen name="fragment_error_button_margin_top">80dp</dimen>
-    <dimen name="fragment_error_message_margin_side">80dp</dimen>
+    <dimen name="fragment_error_button_margin_top">@*android:dimen/car_padding_5</dimen>
+    <dimen name="fragment_error_message_margin_x">@*android:dimen/car_margin</dimen>
 
     <!-- fragment_playback.xml -->
     <!-- The length of playback queue fading edge, equals 0.1 * window_height. -->
diff --git a/res/values/integers.xml b/res/values/integers.xml
index b17d7e0..b47ef2e 100644
--- a/res/values/integers.xml
+++ b/res/values/integers.xml
@@ -39,6 +39,15 @@
     <!-- Number of rows in the app bar view -->
     <integer name="num_app_bar_view_rows">1</integer>
 
+
+    <!-- Defines the maximum square into which requested media items bitmaps must fit (smaller
+        bitmaps are not modified, larger ones are resized to fit into the square, preserving their
+        aspect ratio). A 256x256 bitmap takes 250 KB or memory, and a 512x512 takes 1 MB so this
+        number should be set conservatively.
+    -->
+    <integer name="media_items_bitmap_max_size_px">256</integer>
+
+
     <!-- Views to hide when opening the custom actions when the queue isn't visible. -->
     <integer-array name="playback_views_to_hide_when_showing_custom_actions">
         <item>@id/seek_bar</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c5d557c..3f1605f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -32,8 +32,31 @@
     <string name="media_app_title">Media</string>
     <!-- Search input hint text. [CHAR LIMIT=20] -->
     <string name="search_hint">Search songs, artists, and more...</string>
-    <!-- Error Fragment error message [CHAR LIMIT=100] -->
-    <string name="default_error_message">Unknown application error</string>
     <!-- Title to display when in playback view. [CHAR LIMIT=50] -->
     <string name="fragment_playback_title">Now Playing</string>
+
+    <!-- MediaActivity default error message [CHAR LIMIT=100] -->
+    <string name="default_error_message">Something’s wrong. Try later.</string>
+    <!-- Error message set when the application state is invalid to fulfill the request. [CHAR LIMIT=100] -->
+    <string name="error_code_app_error">Can’t do that right now</string>
+    <!-- Error message set when the request is not supported by the application. [CHAR LIMIT=100] -->
+    <string name="error_code_not_supported">This app can’t do that</string>
+    <!-- Error message set when the request cannot be performed because authentication has expired. [CHAR LIMIT=100] -->
+    <string name="error_code_authentication_expired">Sign in to use this app</string>
+    <!-- Error message set when a premium account is required for the request to succeed. [CHAR LIMIT=100] -->
+    <string name="error_code_premium_account_required">Premium access required</string>
+    <!-- Error message set when too many concurrent streams are detected. [CHAR LIMIT=100] -->
+    <string name="error_code_concurrent_stream_limit">Listening on too many devices</string>
+    <!-- Error message set when the content is blocked due to parental controls. [CHAR LIMIT=100] -->
+    <string name="error_code_parental_control_restricted">That content is blocked</string>
+    <!-- Error message set when the content is blocked due to being regionally unavailable. [CHAR LIMIT=100] -->
+    <string name="error_code_not_available_in_region">Can’t get that content here</string>
+    <!-- Error message set when the requested content is already playing. [CHAR LIMIT=100] -->
+    <string name="error_code_content_already_playing">Already playing that content</string>
+    <!-- Error message set when the application cannot skip any more songs because skip limit is reached. [CHAR LIMIT=100] -->
+    <string name="error_code_skip_limit_reached">Can’t skip any more tracks</string>
+    <!-- Error message set when the action is interrupted due to some external event. [CHAR LIMIT=100] -->
+    <string name="error_code_action_aborted">Couldn’t finish. Try again.</string>
+    <!-- Error message set when the playback navigation (previous, next) is not possible because the queue was exhausted. [CHAR LIMIT=100] -->
+    <string name="error_code_end_of_queue">Nothing else is queued up</string>
 </resources>
diff --git a/res/values/strings_no_translation.xml b/res/values/strings_no_translation.xml
index 0439312..dda08ec 100644
--- a/res/values/strings_no_translation.xml
+++ b/res/values/strings_no_translation.xml
@@ -17,9 +17,6 @@
 
 <!-- This file is intended for non translatable string resources. -->
 <resources>
-    <!-- The package name of the media application that will be selected as the default. -->
-    <string name="default_media_application" translatable="false">com.android.bluetooth</string>
-
     <string name="dash_separator" translatable="false">" - "</string>
     <string name="slash_separator" translatable="false">" / "</string>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index cb0f4ad..ec4a58b 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -61,16 +61,19 @@
         <item name="android:layout_marginHorizontal">@dimen/fragment_metadata_margin_x</item>
     </style>
 
-    <style name="BrowseSubheaderStyle" parent="TextAppearance.Body3"/>
-    <style name="BrowseListTitleStyle" parent="TextAppearance.Body1"/>
-    <style name="BrowseListSubtitleStyle" parent="TextAppearance.Body3"/>
-    <style name="BrowseGridTitleStyle" parent="TextAppearance.Body2"/>
-    <style name="BrowseGridSubtitleStyle" parent="TextAppearance.Body3"/>
-
-    <style name="ErrorTextStyle" parent="TextAppearance.Body3"/>
-    <style name="ErrorButtonStyle" parent="TextAppearance.Body3">
-        <item name="android:textStyle">bold</item>
+    <style name="BrowseSubheaderStyle" parent="TextAppearance.Body3">
+        <item name="android:fontFamily">sans-serif-medium</item>
     </style>
+    <style name="BrowseListTitleStyle" parent="TextAppearance.Body1"/>
+    <style name="BrowseListSubtitleStyle" parent="TextAppearance.Body3">
+        <item name="android:textColor">@color/secondary_text_color</item>
+    </style>
+    <style name="BrowseGridTitleStyle" parent="TextAppearance.Body2"/>
+    <style name="BrowseGridSubtitleStyle" parent="TextAppearance.Body3">
+        <item name="android:textColor">@color/secondary_text_color</item>
+    </style>
+
+    <style name="ErrorTextStyle" parent="TextAppearance.Body1"/>
 
     <style name="SeekBarStyle">
         <item name="android:layout_width">match_parent</item>
diff --git a/src/com/android/car/media/BrowseFragment.java b/src/com/android/car/media/BrowseFragment.java
index 5adc766..488dab4 100644
--- a/src/com/android/car/media/BrowseFragment.java
+++ b/src/com/android/car/media/BrowseFragment.java
@@ -240,10 +240,7 @@
 
         mBrowseList.setLayoutManager(gridLayoutManager);
         mBrowseList.addItemDecoration(new GridSpacingItemDecoration(
-                getResources().getDimensionPixelSize(R.dimen.grid_item_spacing),
-                getResources().getDimensionPixelSize(R.dimen.grid_item_margin_x),
-                getResources().getDimensionPixelSize(R.dimen.grid_item_margin_x)
-        ));
+                getResources().getDimensionPixelSize(R.dimen.grid_item_spacing)));
 
         mBrowseAdapter = new BrowseAdapter(mBrowseList.getContext());
         mBrowseList.setAdapter(mBrowseAdapter);
@@ -269,8 +266,10 @@
             }
             boolean isLoading = futureData.isLoading();
             if (isLoading) {
-                ViewUtils.hideViewAnimated(mBrowseList, mFadeDuration);
+                // TODO(b/139759881) build a jank-free animation of the transition.
+                mBrowseList.setAlpha(0f);
                 startLoadingIndicator();
+                mBrowseAdapter.submitItems(null, null);
                 return;
             }
             stopLoadingIndicator();
diff --git a/src/com/android/car/media/EmptyFragment.java b/src/com/android/car/media/EmptyFragment.java
index b810f39..36be93f 100644
--- a/src/com/android/car/media/EmptyFragment.java
+++ b/src/com/android/car/media/EmptyFragment.java
@@ -87,7 +87,7 @@
                 mMessage.setText(requireContext().getString(
                         R.string.cannot_connect_to_app,
                         mediaSource != null
-                                ? mediaSource.getName()
+                                ? mediaSource.getDisplayName()
                                 : requireContext().getString(
                                         R.string.unknown_media_provider_name)));
                 break;
diff --git a/src/com/android/car/media/ErrorFragment.java b/src/com/android/car/media/ErrorFragment.java
index 6e38e98..6a3db9e 100644
--- a/src/com/android/car/media/ErrorFragment.java
+++ b/src/com/android/car/media/ErrorFragment.java
@@ -6,11 +6,11 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.Button;
 
 import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 
+import com.android.car.apps.common.UxrButton;
 import com.android.car.apps.common.UxrTextView;
 
 /**
@@ -27,7 +27,7 @@
     // provide clarity as it may be misleading to assume that mErrorMessageView extends all TextView
     // methods. In addition, it increases discoverability of runtime issues that may occur.
     private UxrTextView mErrorMessageView;
-    private Button mErrorButton;
+    private UxrButton mErrorButton;
 
     private String mErrorMessageStr;
     private String mErrorLabel;
diff --git a/src/com/android/car/media/MediaActivity.java b/src/com/android/car/media/MediaActivity.java
index 2cb96d7..ebc5f41 100644
--- a/src/com/android/car/media/MediaActivity.java
+++ b/src/com/android/car/media/MediaActivity.java
@@ -30,6 +30,7 @@
 import android.text.TextUtils;
 import android.transition.Fade;
 import android.util.Log;
+import android.util.Size;
 import android.view.GestureDetector;
 import android.view.MotionEvent;
 import android.view.View;
@@ -61,7 +62,10 @@
 import com.android.car.media.widgets.AppBarView;
 import com.android.car.media.widgets.SearchBar;
 
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.stream.Collectors;
 
@@ -95,6 +99,7 @@
     private ViewGroup mSearchContainer;
 
     private Toast mToast;
+    private AlertDialog mDialog;
 
     /** Current state */
     private Mode mMode;
@@ -172,10 +177,35 @@
         PLAYBACK,
         /** The user is searching within a media source */
         SEARCHING,
-        /** There's no browse tree and playback doesn't work.*/
+        /** There's no browse tree and playback doesn't work. */
         FATAL_ERROR
     }
 
+    private static final Map<Integer, Integer> ERROR_CODE_MESSAGES_MAP;
+
+    static {
+        Map<Integer, Integer> map = new HashMap<>();
+        map.put(PlaybackStateCompat.ERROR_CODE_APP_ERROR, R.string.error_code_app_error);
+        map.put(PlaybackStateCompat.ERROR_CODE_NOT_SUPPORTED, R.string.error_code_not_supported);
+        map.put(PlaybackStateCompat.ERROR_CODE_AUTHENTICATION_EXPIRED,
+                R.string.error_code_authentication_expired);
+        map.put(PlaybackStateCompat.ERROR_CODE_PREMIUM_ACCOUNT_REQUIRED,
+                R.string.error_code_premium_account_required);
+        map.put(PlaybackStateCompat.ERROR_CODE_CONCURRENT_STREAM_LIMIT,
+                R.string.error_code_concurrent_stream_limit);
+        map.put(PlaybackStateCompat.ERROR_CODE_PARENTAL_CONTROL_RESTRICTED,
+                R.string.error_code_parental_control_restricted);
+        map.put(PlaybackStateCompat.ERROR_CODE_NOT_AVAILABLE_IN_REGION,
+                R.string.error_code_not_available_in_region);
+        map.put(PlaybackStateCompat.ERROR_CODE_CONTENT_ALREADY_PLAYING,
+                R.string.error_code_content_already_playing);
+        map.put(PlaybackStateCompat.ERROR_CODE_SKIP_LIMIT_REACHED,
+                R.string.error_code_skip_limit_reached);
+        map.put(PlaybackStateCompat.ERROR_CODE_ACTION_ABORTED, R.string.error_code_action_aborted);
+        map.put(PlaybackStateCompat.ERROR_CODE_END_OF_QUEUE, R.string.error_code_end_of_queue);
+        ERROR_CODE_MESSAGES_MAP = Collections.unmodifiableMap(map);
+    }
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -213,13 +243,21 @@
                             mediaSourceViewModel.getPrimaryMediaSource().getValue());
                 });
         mediaBrowserViewModel.getBrowsedMediaItems().observe(this, futureData -> {
-            if (!futureData.isLoading()) {
-                if (futureData.getData() != null) {
-                    mIsBrowseTreeReady = true;
-                    handlePlaybackState(playbackViewModel.getPlaybackStateWrapper().getValue());
-                }
-                updateTabs(futureData.getData());
+            if (futureData.isLoading()) {
+                mIsBrowseTreeReady = false;
+                return;
             }
+            final boolean browseTreeReady =
+                    futureData.getData() != null && !futureData.getData().isEmpty();
+            if (Log.isLoggable(TAG, Log.INFO)) {
+                Log.i(TAG, "Browse tree ready status changed: " + mIsBrowseTreeReady + " -> "
+                        + browseTreeReady);
+            }
+            mIsBrowseTreeReady = browseTreeReady;
+            handlePlaybackState(playbackViewModel.getPlaybackStateWrapper().getValue(), false);
+
+            mAppBarView.setDataLoaded(true);
+            updateTabs(futureData.getData());
         });
         mediaBrowserViewModel.supportsSearch().observe(this,
                 mAppBarView::setSearchSupported);
@@ -232,9 +270,10 @@
         mAppSelectionFragment.setEnterTransition(new Fade().setDuration(fadeDuration));
         mAppSelectionFragment.setExitTransition(new Fade().setDuration(fadeDuration));
 
+        Size maxArtSize = MediaAppConfig.getMediaItemsBitmapMaxSize(this);
         MinimizedPlaybackControlBar browsePlaybackControls =
                 findViewById(R.id.minimized_playback_controls);
-        browsePlaybackControls.setModel(playbackViewModel, this);
+        browsePlaybackControls.setModel(playbackViewModel, this, maxArtSize);
 
         mMiniPlaybackControls = findViewById(R.id.minimized_playback_controls);
         mMiniPlaybackControls.setOnClickListener(view -> changeMode(Mode.PLAYBACK));
@@ -257,7 +296,8 @@
                     mPlaybackController = playbackController;
                 });
 
-        playbackViewModel.getPlaybackStateWrapper().observe(this, this::handlePlaybackState);
+        playbackViewModel.getPlaybackStateWrapper().observe(this,
+                state -> handlePlaybackState(state, true));
 
         mCarUxRestrictionsUtil = CarUxRestrictionsUtil.getInstance(this);
         mRestrictions = CarUxRestrictions.UX_RESTRICTIONS_NO_SETUP;
@@ -276,7 +316,13 @@
         return CarUxRestrictionsUtil.isRestricted(mRestrictions, mActiveCarUxRestrictions);
     }
 
-    private void handlePlaybackState(PlaybackViewModel.PlaybackStateWrapper state) {
+    private void handlePlaybackState(PlaybackViewModel.PlaybackStateWrapper state,
+            boolean ignoreSameState) {
+        if (Log.isLoggable(TAG, Log.DEBUG)) {
+            Log.d(TAG, "handlePlaybackState(); state change: " + mCurrentPlaybackState + " -> "
+                    + (state != null ? state.getState() : null));
+        }
+
         // TODO(arnaudberry) rethink interactions between customized layouts and dynamic visibility.
         mCanShowMiniPlaybackControls = (state != null) && state.shouldDisplay();
 
@@ -287,31 +333,32 @@
         if (state == null) {
             return;
         }
+        if (ignoreSameState && mCurrentPlaybackState != null
+                && mCurrentPlaybackState == state.getState()) {
+            if (Log.isLoggable(TAG, Log.DEBUG)) {
+                Log.d(TAG, "Ignore same playback state.");
+            }
+            return;
+        }
         if (mCurrentPlaybackState == null || mCurrentPlaybackState != state.getState()) {
             mCurrentPlaybackState = state.getState();
-            if (Log.isLoggable(TAG, Log.VERBOSE)) {
-                Log.v(TAG, "handlePlaybackState(); state change: " + mCurrentPlaybackState);
-            }
         }
 
+        maybeCancelToast();
+        maybeCancelDialog();
+
         Bundle extras = state.getExtras();
         PendingIntent intent = extras == null ? null : extras.getParcelable(
                 MediaConstants.ERROR_RESOLUTION_ACTION_INTENT);
-
         String label = extras == null ? null : extras.getString(
                 MediaConstants.ERROR_RESOLUTION_ACTION_LABEL);
+        String displayedMessage = getDisplayedMessage(state);
 
-        String displayedMessage = null;
-        if (!TextUtils.isEmpty(state.getErrorMessage())) {
-            displayedMessage = state.getErrorMessage().toString();
-        } else if (state.getErrorCode() != PlaybackStateCompat.ERROR_CODE_UNKNOWN_ERROR) {
-            // TODO(b/131601881): convert the error codes to prebuilt error messages
-            displayedMessage = getString(R.string.default_error_message);
-        } else if (state.getState() == PlaybackStateCompat.STATE_ERROR) {
-            displayedMessage = getString(R.string.default_error_message);
-        }
-
+        boolean isFatalError = false;
         if (!TextUtils.isEmpty(displayedMessage)) {
+            if (Log.isLoggable(TAG, Log.DEBUG)) {
+                Log.d(TAG, "Error message is not empty");
+            }
             if (mIsBrowseTreeReady) {
                 if (intent != null && !isUxRestricted()) {
                     showDialog(intent, displayedMessage, label, getString(android.R.string.cancel));
@@ -321,15 +368,36 @@
             } else {
                 mErrorFragment = ErrorFragment.newInstance(displayedMessage, label, intent);
                 setErrorFragment(mErrorFragment);
-                changeMode(Mode.FATAL_ERROR);
+                isFatalError = true;
             }
         }
+        if (isFatalError) {
+            changeMode(Mode.FATAL_ERROR);
+        } else if (mMode == Mode.FATAL_ERROR) {
+            changeMode(Mode.BROWSING);
+        }
+    }
+
+    private String getDisplayedMessage(PlaybackViewModel.PlaybackStateWrapper state) {
+        if (!TextUtils.isEmpty(state.getErrorMessage())) {
+            return state.getErrorMessage().toString();
+        }
+        // ERROR_CODE_UNKNOWN_ERROR means there is no error in PlaybackState.
+        if (state.getErrorCode() != PlaybackStateCompat.ERROR_CODE_UNKNOWN_ERROR) {
+            Integer messageId = ERROR_CODE_MESSAGES_MAP.get(state.getErrorCode());
+            return messageId != null ? getString(messageId) : getString(
+                    R.string.default_error_message);
+        }
+        if (state.getState() == PlaybackStateCompat.STATE_ERROR) {
+            return getString(R.string.default_error_message);
+        }
+        return null;
     }
 
     private void showDialog(PendingIntent intent, String message, String positiveBtnText,
             String negativeButtonText) {
         AlertDialog.Builder dialog = new AlertDialog.Builder(this);
-        dialog.setMessage(message)
+        mDialog = dialog.setMessage(message)
                 .setNegativeButton(negativeButtonText, null)
                 .setPositiveButton(positiveBtnText, (dialogInterface, i) -> {
                     try {
@@ -343,8 +411,14 @@
                 .show();
     }
 
+    private void maybeCancelDialog() {
+        if (mDialog != null) {
+            mDialog.cancel();
+            mDialog = null;
+        }
+    }
+
     private void showToast(String message) {
-        maybeCancelToast();
         mToast = Toast.makeText(this, message, Toast.LENGTH_LONG);
         mToast.show();
     }
@@ -379,17 +453,25 @@
      * @param mediaSource the new media source we are going to try to browse
      */
     private void onMediaSourceChanged(@Nullable MediaSource mediaSource) {
+        if (Log.isLoggable(TAG, Log.INFO)) {
+            Log.i(TAG, "MediaSource changed to " + mediaSource);
+        }
+
         mIsBrowseTreeReady = false;
+        mCurrentPlaybackState = null;
+        mAppBarView.setDataLoaded(false);
         maybeCancelToast();
+        maybeCancelDialog();
         if (mediaSource != null) {
             if (Log.isLoggable(TAG, Log.INFO)) {
-                Log.i(TAG, "Browsing: " + mediaSource.getName());
+                Log.i(TAG, "Browsing: " + mediaSource.getDisplayName());
             }
-            mAppBarView.setMediaAppTitle(mediaSource.getName());
+            mAppBarView.setMediaAppTitle(mediaSource.getDisplayName());
             mAppBarView.setTitle(null);
             updateTabs(null);
             mSearchFragment.resetSearchState();
-            changeMode(Mode.BROWSING);
+            // Changes the mode regardless of its previous value so that the views can be updated.
+            changeModeInternal(Mode.BROWSING);
             String packageName = mediaSource.getPackageName();
             updateSourcePreferences(packageName);
 
@@ -403,6 +485,7 @@
         }
     }
 
+    // TODO(b/136274938): display the preference screen for each media service.
     private void updateSourcePreferences(@Nullable String packageName) {
         mCurrentSourcePreferences = null;
         if (packageName != null) {
@@ -482,10 +565,18 @@
     }
 
     private void changeMode(Mode mode) {
-        if (mMode == mode) return;
+        if (mMode == mode) {
+            if (Log.isLoggable(TAG, Log.INFO)) {
+                Log.i(TAG, "Mode " + mMode + " change is ignored");
+            }
+            return;
+        }
+        changeModeInternal(mode);
+    }
 
+    private void changeModeInternal(Mode mode) {
         if (Log.isLoggable(TAG, Log.INFO)) {
-            Log.i(TAG, "Changing mode from: " + mMode+ " to: " + mode);
+            Log.i(TAG, "Changing mode from: " + mMode + " to: " + mode);
         }
 
         Mode oldMode = mMode;
diff --git a/src/com/android/car/media/MediaAppConfig.java b/src/com/android/car/media/MediaAppConfig.java
new file mode 100644
index 0000000..e6fb1ff
--- /dev/null
+++ b/src/com/android/car/media/MediaAppConfig.java
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.car.media;
+
+import android.content.Context;
+import android.util.Size;
+
+/**
+ * A helper class intended to provide various configuration values for the Media app.
+ * Values directly loaded from resources don't need to be added here, but if extra computations are
+ * needed this is a good place.
+ */
+public class MediaAppConfig {
+
+    private MediaAppConfig() {
+    }
+
+    /** Returns the maximum size in pixels bitmaps should have in the app. */
+    public static Size getMediaItemsBitmapMaxSize(Context context) {
+        int max = context.getResources().getInteger(R.integer.media_items_bitmap_max_size_px);
+        return new Size(max, max);
+    }
+}
diff --git a/src/com/android/car/media/MediaDispatcherActivity.java b/src/com/android/car/media/MediaDispatcherActivity.java
index f0cff92..79f1cf3 100644
--- a/src/com/android/car/media/MediaDispatcherActivity.java
+++ b/src/com/android/car/media/MediaDispatcherActivity.java
@@ -1,9 +1,11 @@
 package com.android.car.media;
 
 import android.car.Car;
+import android.content.ComponentName;
 import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
+import android.widget.Toast;
 
 import androidx.fragment.app.FragmentActivity;
 
@@ -31,13 +33,16 @@
         MediaSource mediaSrc = null;
 
         if (Car.CAR_INTENT_ACTION_MEDIA_TEMPLATE.equals(action)) {
-            String packageName = intent.getStringExtra(Car.CAR_EXTRA_MEDIA_PACKAGE);
-            if (packageName != null) {
-                mediaSrc = new MediaSource(this, packageName);
-                mediaSrcVM.setPrimaryMediaSource(mediaSrc);
-            }
-            if (Log.isLoggable(TAG, Log.DEBUG)) {
-                Log.d(TAG, "onCreate packageName : " + packageName);
+            String componentName = intent.getStringExtra(Car.CAR_EXTRA_MEDIA_COMPONENT);
+            if (componentName != null) {
+                ComponentName component = ComponentName.unflattenFromString(componentName);
+                mediaSrc = MediaSource.create(this, component);
+                if (mediaSrc != null) {
+                    mediaSrcVM.setPrimaryMediaSource(mediaSrc);
+                    if (Log.isLoggable(TAG, Log.DEBUG)) {
+                        Log.d(TAG, "onCreate componentName : " + componentName);
+                    }
+                }
             }
         }
 
@@ -45,12 +50,17 @@
             mediaSrc = mediaSrcVM.getPrimaryMediaSource().getValue();
         }
 
-        Intent newIntent;
-        if ((mediaSrc != null) && (!mediaSrc.isBrowsable() || mediaSrc.isCustom())) {
+        Intent newIntent = null;
+        if (mediaSrc != null && mediaSrc.isCustom()) {
             // Launch custom app (e.g. Radio)
             String srcPackage = mediaSrc.getPackageName();
             newIntent = getPackageManager().getLaunchIntentForPackage(srcPackage);
-        } else {
+            if (Log.isLoggable(TAG, Log.DEBUG)) {
+                Log.d(TAG, "Getting launch intent for package : " + srcPackage + (newIntent != null
+                        ? " succeeded" : " failed"));
+            }
+        }
+        if (newIntent == null) {
             // Launch media center
             newIntent = new Intent(this, MediaActivity.class);
         }
diff --git a/src/com/android/car/media/PlaybackFragment.java b/src/com/android/car/media/PlaybackFragment.java
index 7ecb661..20598e7 100644
--- a/src/com/android/car/media/PlaybackFragment.java
+++ b/src/com/android/car/media/PlaybackFragment.java
@@ -19,12 +19,12 @@
 import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.ColorStateList;
-import android.graphics.Bitmap;
 import android.graphics.Rect;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.os.Bundle;
 import android.util.Log;
+import android.util.Size;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -40,6 +40,9 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.car.apps.common.BackgroundImageView;
+import com.android.car.apps.common.imaging.ImageBinder;
+import com.android.car.apps.common.imaging.ImageBinder.PlaceholderType;
+import com.android.car.apps.common.imaging.ImageViewBinder;
 import com.android.car.apps.common.util.ViewUtils;
 import com.android.car.media.common.MediaAppSelectorWidget;
 import com.android.car.media.common.MediaItemMetadata;
@@ -51,7 +54,7 @@
 import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
-import java.util.concurrent.CompletableFuture;
+
 
 /**
  * A {@link Fragment} that implements both the playback and the content forward browsing experience.
@@ -61,7 +64,7 @@
 public class PlaybackFragment extends Fragment {
     private static final String TAG = "PlaybackFragment";
 
-    private CompletableFuture<Bitmap> mFutureAlbumBackground;
+    private ImageBinder<MediaItemMetadata.ArtworkRef> mAlbumArtBinder;
     private BackgroundImageView mAlbumBackground;
     private View mBackgroundScrim;
     private View mControlBarScrim;
@@ -89,8 +92,9 @@
     private boolean mShowIconForActiveQueueItem;
     private boolean mShowThumbnailForQueueItem;
 
+    private boolean mShowLinearProgressBar;
+
     private int mFadeDuration;
-    private float mPlaybackQueueBackgroundAlpha;
 
     /**
      * PlaybackFragment listener
@@ -114,6 +118,8 @@
         private final TextView mTimeSeparator;
         private final ImageView mActiveIcon;
 
+        private final ImageViewBinder<MediaItemMetadata.ArtworkRef> mThumbnailBinder;
+
         QueueViewHolder(View itemView) {
             super(itemView);
             mView = itemView;
@@ -125,6 +131,9 @@
             mMaxTime = itemView.findViewById(R.id.max_time);
             mTimeSeparator = itemView.findViewById(R.id.separator);
             mActiveIcon = itemView.findViewById(R.id.now_playing_icon);
+
+            Size maxArtSize = MediaAppConfig.getMediaItemsBitmapMaxSize(itemView.getContext());
+            mThumbnailBinder = new ImageViewBinder<>(maxArtSize, mThumbnail);
         }
 
         boolean bind(MediaItemMetadata item) {
@@ -132,8 +141,8 @@
 
             ViewUtils.setVisible(mThumbnailContainer, mShowThumbnailForQueueItem);
             if (mShowThumbnailForQueueItem) {
-                MediaItemMetadata.updateImageView(mThumbnail.getContext(), item, mThumbnail, 0,
-                        true);
+                Context context = mView.getContext();
+                mThumbnailBinder.setImage(context, item != null ? item.getArtworkKey() : null);
             }
 
             ViewUtils.setVisible(mSpacer, !mShowThumbnailForQueueItem);
@@ -287,21 +296,30 @@
                 R.bool.show_icon_for_now_playing_queue_list_item);
         mShowThumbnailForQueueItem = getContext().getResources().getBoolean(
                 R.bool.show_thumbnail_for_queue_list_item);
+        mShowLinearProgressBar = getContext().getResources().getBoolean(
+                R.bool.show_linear_progress_bar);
 
-        boolean useMediaSourceColor = res.getBoolean(
-                R.bool.use_media_source_color_for_progress_bar);
-        int defaultColor = res.getColor(R.color.progress_bar_highlight, null);
-        if (useMediaSourceColor) {
-            getPlaybackViewModel().getMediaSourceColors().observe(getViewLifecycleOwner(),
-                    sourceColors -> {
-                        int color = sourceColors != null ? sourceColors.getAccentColor(defaultColor)
-                                : defaultColor;
-                        mSeekBar.setThumbTintList(ColorStateList.valueOf(color));
-                        mSeekBar.setProgressTintList(ColorStateList.valueOf(color));
-                    });
-        } else {
-            mSeekBar.setThumbTintList(ColorStateList.valueOf(defaultColor));
-            mSeekBar.setProgressTintList(ColorStateList.valueOf(defaultColor));
+        if (mSeekBar != null) {
+            if (mShowLinearProgressBar) {
+                boolean useMediaSourceColor = res.getBoolean(
+                        R.bool.use_media_source_color_for_progress_bar);
+                int defaultColor = res.getColor(R.color.progress_bar_highlight, null);
+                if (useMediaSourceColor) {
+                    getPlaybackViewModel().getMediaSourceColors().observe(getViewLifecycleOwner(),
+                            sourceColors -> {
+                                int color = sourceColors != null ? sourceColors.getAccentColor(
+                                        defaultColor)
+                                        : defaultColor;
+                                mSeekBar.setThumbTintList(ColorStateList.valueOf(color));
+                                mSeekBar.setProgressTintList(ColorStateList.valueOf(color));
+                            });
+                } else {
+                    mSeekBar.setThumbTintList(ColorStateList.valueOf(defaultColor));
+                    mSeekBar.setProgressTintList(ColorStateList.valueOf(defaultColor));
+                }
+            } else {
+                mSeekBar.setVisibility(View.GONE);
+            }
         }
 
         MediaAppSelectorWidget appIcon = view.findViewById(R.id.app_icon_container);
@@ -320,36 +338,21 @@
             int viewId = hideViewIds.getResourceId(i, 0);
             if (viewId != 0) {
                 View viewToHide = view.findViewById(viewId);
-                if (viewToHide != null) {
+                if (viewToHide != null && (mShowLinearProgressBar || viewToHide != mSeekBar)) {
                     mViewsToHideForCustomActions.add(viewToHide);
                 }
             }
         }
         hideViewIds.recycle();
 
-        int albumBgSizePx = getResources().getInteger(
-                com.android.car.apps.common.R.integer.background_bitmap_target_size_px);
+        mAlbumArtBinder = new ImageBinder<>(
+                PlaceholderType.BACKGROUND,
+                MediaAppConfig.getMediaItemsBitmapMaxSize(getContext()),
+                drawable -> mAlbumBackground.setBackgroundDrawable(drawable));
 
         getPlaybackViewModel().getMetadata().observe(getViewLifecycleOwner(),
-                metadata -> {
-                    if (mFutureAlbumBackground != null && !mFutureAlbumBackground.isDone()) {
-                        mFutureAlbumBackground.cancel(true);
-                    }
-                    if (metadata == null) {
-                        setBackgroundImage(null);
-                        mFutureAlbumBackground = null;
-                    } else {
-                        mFutureAlbumBackground = metadata.getAlbumArt(
-                                getContext(), albumBgSizePx, albumBgSizePx, false);
-                        mFutureAlbumBackground.whenComplete((result, throwable) -> {
-                            if (throwable != null) {
-                                setBackgroundImage(null);
-                            } else {
-                                setBackgroundImage(result);
-                            }
-                        });
-                    }
-                });
+                item -> mAlbumArtBinder.setImage(PlaybackFragment.this.getContext(),
+                        item != null ? item.getArtworkKey() : null));
 
         return view;
     }
@@ -364,10 +367,6 @@
         super.onDetach();
     }
 
-    private void setBackgroundImage(Bitmap bitmap) {
-        mAlbumBackground.setBackgroundImage(bitmap, bitmap != null);
-    }
-
     private void initPlaybackControls(PlaybackControlsActionBar playbackControls) {
         mPlaybackControls = playbackControls;
         mPlaybackControls.setModel(getPlaybackViewModel(), getViewLifecycleOwner());
@@ -399,8 +398,6 @@
     private void initQueue() {
         mFadeDuration = getResources().getInteger(
                 R.integer.fragment_playback_queue_fade_duration_ms);
-        mPlaybackQueueBackgroundAlpha = getResources().getFloat(
-                R.dimen.playback_queue_background_alpha);
 
         int decorationHeight = getResources().getDimensionPixelSize(
                 R.dimen.playback_queue_list_padding_top);
@@ -460,12 +457,12 @@
         TextView curTime = view.findViewById(R.id.current_time);
         TextView innerSeparator = view.findViewById(R.id.inner_separator);
         TextView maxTime = view.findViewById(R.id.max_time);
-        SeekBar seekbar = view.findViewById(R.id.seek_bar);
+        SeekBar seekbar = mShowLinearProgressBar ? mSeekBar : null;
 
+        Size maxArtSize = MediaAppConfig.getMediaItemsBitmapMaxSize(view.getContext());
         mMetadataController = new MetadataController(getViewLifecycleOwner(),
                 getPlaybackViewModel(), title, artist, albumTitle, outerSeparator,
-                curTime, innerSeparator, maxTime, seekbar, albumArt,
-                getResources().getDimensionPixelSize(R.dimen.playback_album_art_size));
+                curTime, innerSeparator, maxTime, seekbar, albumArt, maxArtSize);
     }
 
     /**
@@ -477,14 +474,18 @@
         mQueueButton.setSelected(mQueueIsVisible);
         if (mQueueIsVisible) {
             ViewUtils.hideViewAnimated(mMetadataContainer, mFadeDuration);
-            ViewUtils.hideViewAnimated(mSeekBar, mFadeDuration);
             ViewUtils.showViewAnimated(mQueue, mFadeDuration);
             ViewUtils.showViewAnimated(mBackgroundScrim, mFadeDuration);
+            if (mShowLinearProgressBar) {
+                ViewUtils.hideViewAnimated(mSeekBar, mFadeDuration);
+            }
         } else {
             ViewUtils.hideViewAnimated(mQueue, mFadeDuration);
             ViewUtils.showViewAnimated(mMetadataContainer, mFadeDuration);
-            ViewUtils.showViewAnimated(mSeekBar, mFadeDuration);
             ViewUtils.hideViewAnimated(mBackgroundScrim, mFadeDuration);
+            if (mShowLinearProgressBar) {
+                ViewUtils.showViewAnimated(mSeekBar, mFadeDuration);
+            }
         }
     }
 
diff --git a/src/com/android/car/media/browse/BrowseViewHolder.java b/src/com/android/car/media/browse/BrowseViewHolder.java
index 38106f5..bf8df77 100644
--- a/src/com/android/car/media/browse/BrowseViewHolder.java
+++ b/src/com/android/car/media/browse/BrowseViewHolder.java
@@ -18,6 +18,7 @@
 
 import android.content.Context;
 import android.text.TextUtils;
+import android.util.Size;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
@@ -25,22 +26,26 @@
 
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.car.apps.common.imaging.ImageViewBinder;
 import com.android.car.apps.common.util.ViewUtils;
+import com.android.car.media.MediaAppConfig;
 import com.android.car.media.common.MediaItemMetadata;
 
 /**
  * Generic {@link RecyclerView.ViewHolder} to use for all views in the {@link BrowseAdapter}
  */
 class BrowseViewHolder extends RecyclerView.ViewHolder {
-    final TextView mTitle;
-    final TextView mSubtitle;
-    final ImageView mAlbumArt;
-    final ViewGroup mContainer;
-    final ImageView mRightArrow;
-    final ImageView mTitleDownloadIcon;
-    final ImageView mTitleExplicitIcon;
-    final ImageView mSubTitleDownloadIcon;
-    final ImageView mSubTitleExplicitIcon;
+    private final TextView mTitle;
+    private final TextView mSubtitle;
+    private final ImageView mAlbumArt;
+    private final ViewGroup mContainer;
+    private final ImageView mRightArrow;
+    private final ImageView mTitleDownloadIcon;
+    private final ImageView mTitleExplicitIcon;
+    private final ImageView mSubTitleDownloadIcon;
+    private final ImageView mSubTitleExplicitIcon;
+
+    private final ImageViewBinder<MediaItemMetadata.ArtworkRef> mAlbumArtBinder;
 
     /**
      * Creates a {@link BrowseViewHolder} for the given view.
@@ -60,8 +65,12 @@
                 com.android.car.media.R.id.download_icon_with_subtitle);
         mSubTitleExplicitIcon = itemView.findViewById(
                 com.android.car.media.R.id.explicit_icon_with_subtitle);
+
+        Size maxArtSize = MediaAppConfig.getMediaItemsBitmapMaxSize(itemView.getContext());
+        mAlbumArtBinder = new ImageViewBinder<>(maxArtSize, mAlbumArt);
     }
 
+
     /**
      * Updates this {@link BrowseViewHolder} with the given data
      */
@@ -78,9 +87,9 @@
             mSubtitle.setText(hasMediaItem ? data.mMediaItem.getSubtitle() : null);
             ViewUtils.setVisible(mSubtitle, showSubtitle);
         }
-        if (mAlbumArt != null) {
-            MediaItemMetadata.updateImageView(context, data.mMediaItem, mAlbumArt, 0, true);
-        }
+
+        mAlbumArtBinder.setImage(context, hasMediaItem ? data.mMediaItem.getArtworkKey() : null);
+
         if (mContainer != null && data.mOnClickListener != null) {
             mContainer.setOnClickListener(data.mOnClickListener);
         }
diff --git a/src/com/android/car/media/service/MediaConnectorService.java b/src/com/android/car/media/service/MediaConnectorService.java
new file mode 100644
index 0000000..917da96
--- /dev/null
+++ b/src/com/android/car/media/service/MediaConnectorService.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.car.media.service;
+
+import android.content.Intent;
+import android.os.IBinder;
+
+import androidx.lifecycle.LifecycleService;
+import com.android.car.media.common.playback.PlaybackViewModel;
+
+/**
+ * This service is started by CarMediaService when a new user is unlocked. It connects to the
+ * media source provided by CarMediaService and calls prepare() on the active MediaSession.
+ *
+ * TODO(b/139497602): merge this class into CarMediaService, so it doesn't depend on Media Center
+ */
+public class MediaConnectorService extends LifecycleService {
+    @Override
+    public IBinder onBind(Intent intent) {
+        return super.onBind(intent);
+    }
+
+    @Override
+    public int onStartCommand(Intent intent, int flags, int startId) {
+        super.onStartCommand(intent, flags, startId);
+
+        PlaybackViewModel playbackViewModel = PlaybackViewModel.get(getApplication());
+        playbackViewModel.getPlaybackController().observe(this,
+                playbackController -> {
+                    if (playbackController != null) playbackController.prepare();
+                });
+
+        return START_NOT_STICKY;
+    }
+}
diff --git a/src/com/android/car/media/widgets/AppBarView.java b/src/com/android/car/media/widgets/AppBarView.java
index 6acb1c9..cece12b 100644
--- a/src/com/android/car/media/widgets/AppBarView.java
+++ b/src/com/android/car/media/widgets/AppBarView.java
@@ -52,6 +52,7 @@
     private String mMediaAppTitle;
     private boolean mSearchSupported;
     private int mMaxRows;
+    private boolean mIsDataLoaded;
 
     public interface AppBarProvider {
         AppBarView getAppBar();
@@ -222,7 +223,7 @@
         if (items != null && !items.isEmpty()) {
             int count = 0;
             for (MediaItemMetadata item : items) {
-                MediaItemTab tab = new MediaItemTab(mContext, item);
+                MediaItemTab tab = new MediaItemTab(item);
                 mTabsContainer.addCarTab(tab);
 
                 count++;
@@ -307,10 +308,16 @@
      */
     public void setState(State state) {
         mState = state;
+        if (mIsDataLoaded) {
+            updateState();
+        }
+    }
+
+    private void updateState() {
         final boolean hasTabs = mTabsContainer.getCarTabCount() > 0;
         final boolean showTitle = !hasTabs || mMaxRows == 2;
-        Log.d(TAG, "Updating state: " + state + " (has tabs: " + hasTabs + ")");
-        switch (state) {
+        Log.d(TAG, "Updating state: " + mState + " (has tabs: " + hasTabs + ")");
+        switch (mState) {
             case EMPTY:
                 mNavIconContainer.setVisibility(View.GONE);
                 setShowTabs(false);
@@ -351,4 +358,9 @@
                 break;
         }
     }
+
+    /** Sets whether the tabs data is loaded. */
+    public void setDataLoaded(boolean loaded) {
+        mIsDataLoaded = loaded;
+    }
 }
diff --git a/src/com/android/car/media/widgets/MediaItemTab.java b/src/com/android/car/media/widgets/MediaItemTab.java
index 519f188..72a6001 100644
--- a/src/com/android/car/media/widgets/MediaItemTab.java
+++ b/src/com/android/car/media/widgets/MediaItemTab.java
@@ -18,9 +18,14 @@
 
 import android.annotation.NonNull;
 import android.content.Context;
+import android.util.Size;
 import android.widget.ImageView;
 
+import com.android.car.apps.common.imaging.ImageBinder;
+import com.android.car.apps.common.imaging.ImageBinder.PlaceholderType;
+import com.android.car.apps.common.imaging.ImageViewBinder;
 import com.android.car.apps.common.widget.CarTabLayout;
+import com.android.car.media.MediaAppConfig;
 import com.android.car.media.common.MediaItemMetadata;
 
 /**
@@ -29,17 +34,23 @@
 public class MediaItemTab extends CarTabLayout.CarTab {
     private final MediaItemMetadata mItem;
 
+    @SuppressWarnings("FieldCanBeLocal")
+    private ImageViewBinder<MediaItemMetadata.ArtworkRef> mArtBinder;
+
     /**
      * Creates a new tab for the given media item.
      */
-    public MediaItemTab(@NonNull Context context, @NonNull MediaItemMetadata item) {
+    MediaItemTab(@NonNull MediaItemMetadata item) {
         super(null, item.getTitle());
         mItem = item;
     }
 
     @Override
     protected void bindIcon(ImageView imageView) {
-        MediaItemMetadata.updateImageView(imageView.getContext(), mItem, imageView, 0, false);
+        Context context = imageView.getContext();
+        Size maxArtSize = MediaAppConfig.getMediaItemsBitmapMaxSize(context);
+        mArtBinder = new ImageViewBinder<>(PlaceholderType.NONE, maxArtSize, imageView, true);
+        mArtBinder.setImage(context, mItem.getArtworkKey());
     }
 
     /**
diff --git a/src/com/android/car/media/widgets/SearchBar.java b/src/com/android/car/media/widgets/SearchBar.java
index 0a5e09a..ba25ca2 100644
--- a/src/com/android/car/media/widgets/SearchBar.java
+++ b/src/com/android/car/media/widgets/SearchBar.java
@@ -125,8 +125,10 @@
 
     private void onSearch(String query) {
         if (mListener == null || TextUtils.isEmpty(query)) {
+            mCloseIcon.setVisibility(GONE);
             return;
         }
+        mCloseIcon.setVisibility(VISIBLE);
         mListener.onSearch(query);
     }
 }
