diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 9c3ca85..b2d43c1 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -20,4 +20,5 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> van <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Herprobeer"</string>
+    <string name="failed" msgid="1458877219699376279">"Kon nie prent laai nie"</string>
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index e1506bb..ab5d21e 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> ከ<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"እንደገና ሞክር"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index d98e088..d791e9e 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> من <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"إعادة المحاولة"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 93304c7..2a48384 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> з <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Паўтарыць спробу"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 58d4a2b..592f581 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> от <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Нов опит"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 4d46071..86327bd 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> de <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Torna-ho a provar"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 0d51d1b..0bf9e45 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> z <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Opakovat"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index fc9dd30..8631f2d 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> af <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Forsøg igen"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 14bb59c..70951e5 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> von <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Wiederholen"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 3292172..f2e8600 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -20,4 +20,5 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> από <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Επανάληψη"</string>
+    <string name="failed" msgid="1458877219699376279">"Αδύνατη η φόρτωση της εικόνας"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index c6e5289..880c1c3 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -20,4 +20,5 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> of <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Retry"</string>
+    <string name="failed" msgid="1458877219699376279">"Couldn\'t load image"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ffa0414..8aa05b9 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> de <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Intentar nuevamente"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 9fa6031..10da26c 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -20,4 +20,5 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> de <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Volver a intentar"</string>
+    <string name="failed" msgid="1458877219699376279">"Error al cargar la imagen"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 888c1f9..0fac67e 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g>/<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Proovi uuesti"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 5ebd26b..5edff2e 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> از <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"سعی مجدد"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index ea9ccc8..9876c31 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g>/<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Yritä uudelleen"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 6a55c27..b76dff5 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> sur <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Réessayer"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 54d9612..48deab0 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="COUNT">%d</xliff:g> में से <xliff:g id="CURRENT_POS">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"पुनः प्रयास करें"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index e10f61a..a22582b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> od <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Pokušaj ponovo"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index bb5afbe..3434ac7 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -20,4 +20,5 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="COUNT">%d</xliff:g>/<xliff:g id="CURRENT_POS">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Újra"</string>
+    <string name="failed" msgid="1458877219699376279">"A kép betöltése sikertelen."</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index d982638..9f33779 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> dari <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Coba lagi"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 77bf13a..ab69f91 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> di <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Riprova"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 450b159..defd0f0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> מתוך <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"נסה שנית"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 0362113..f7868de 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g>/<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"再試行"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 150112d..47b83d5 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g>/<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"다시 시도"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 7c32566..483bfef 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> iš <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Bandyti dar kartą"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 0857782..8ff4fff 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g>. no <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Mēģināt vēlreiz"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index ec0d23a..16dac1b 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> daripada <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Cuba semula"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index b533fc9..bd30af1 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> av <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Prøv på nytt"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index e61b149..19628c6 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> van <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Opnieuw proberen"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index fe33696..e9180a1 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> z <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Spróbuj ponownie"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index cc62c4a..c652340 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> de <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Tentar novamente"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index cc62c4a..c652340 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> de <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Tentar novamente"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 6c4b724..bbda6d5 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> din <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Reîncercaţi"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 590adbc..53e3439 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> из <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Повторить"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index a9f6616..14f02b9 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> z <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Skúsiť znovu"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 816b946..bff039b 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> od <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Znova"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 43fb7b1..9076d69 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> од <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Покушај поново"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 8eef180..728563e 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> av <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Försök igen"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 3253357..de46610 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> ya <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Jaribu tena"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index de409e8..b5745e2 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> จาก <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"ลองอีกครั้ง"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 40b4a77..3ca3b20 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> ng <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Subukang muli"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 0b2b9e6..14a11ed 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> / <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Yeniden dene"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 77b3c08..0ac7aee 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> з <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Повторити"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 851d793..4ca9782 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> trong số <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Thử lại"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 65d8b03..2559c5a 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"第 <xliff:g id="CURRENT_POS">%d</xliff:g> 张，共 <xliff:g id="COUNT">%d</xliff:g> 张"</string>
     <string name="retry" msgid="3319517143224679074">"重试"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index fa555d0..68a4841 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"第 <xliff:g id="CURRENT_POS">%d</xliff:g> 張 (共 <xliff:g id="COUNT">%d</xliff:g> 張)"</string>
     <string name="retry" msgid="3319517143224679074">"重試"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 31aec64..9353fe3 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -20,4 +20,6 @@
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="photo_view_count" msgid="3466690572899800275">"<xliff:g id="CURRENT_POS">%d</xliff:g> kwe-<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="retry" msgid="3319517143224679074">"Zama futhi"</string>
+    <!-- no translation found for failed (1458877219699376279) -->
+    <skip />
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b635122..c0c1914 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -19,4 +19,6 @@
     <!-- Photo view sub-title for current photo position [CHAR LIMIT=10] -->
     <string name="photo_view_count"><xliff:g id="current_pos">%d</xliff:g> of <xliff:g id="count">%d</xliff:g></string>
     <string name="retry">Retry</string>
-</resources>
\ No newline at end of file
+    <!-- Photo view error message shown below thumbnail if full image could not be shown [CHAR LIMIT=30] -->
+    <string name="failed">Couldn\'t load image</string>
+</resources>
diff --git a/src/com/android/ex/photo/fragments/PhotoViewFragment.java b/src/com/android/ex/photo/fragments/PhotoViewFragment.java
index 2408258..6702bd8 100644
--- a/src/com/android/ex/photo/fragments/PhotoViewFragment.java
+++ b/src/com/android/ex/photo/fragments/PhotoViewFragment.java
@@ -42,6 +42,7 @@
 import com.android.ex.photo.R;
 import com.android.ex.photo.adapters.PhotoPagerAdapter;
 import com.android.ex.photo.loaders.PhotoBitmapLoader;
+import com.android.ex.photo.loaders.PhotoBitmapLoader.BitmapResult;
 import com.android.ex.photo.util.ImageUtils;
 import com.android.ex.photo.views.PhotoView;
 import com.android.ex.photo.views.ProgressBarWrapper;
@@ -50,7 +51,7 @@
  * Displays a photo.
  */
 public class PhotoViewFragment extends Fragment implements
-        LoaderManager.LoaderCallbacks<Bitmap>,
+        LoaderManager.LoaderCallbacks<BitmapResult>,
         OnClickListener,
         OnScreenListener,
         CursorChangedListener {
@@ -281,7 +282,7 @@
     }
 
     @Override
-    public Loader<Bitmap> onCreateLoader(int id, Bundle args) {
+    public Loader<BitmapResult> onCreateLoader(int id, Bundle args) {
         if(mOnlyShowSpinner) {
             return null;
         }
@@ -296,21 +297,19 @@
     }
 
     @Override
-    public void onLoadFinished(Loader<Bitmap> loader, Bitmap data) {
+    public void onLoadFinished(Loader<BitmapResult> loader, BitmapResult result) {
+        Bitmap data = result.bitmap;
         // If we don't have a view, the fragment has been paused. We'll get the cursor again later.
         if (getView() == null) {
             return;
         }
 
-        // both loaders are started together, they may finish loading in such a
-        // way that the thumbnail is displayed on top of the full image
         final int id = loader.getId();
         switch (id) {
             case LOADER_ID_THUMBNAIL:
                 if (isPhotoBound()) {
                     // There is need to do anything with the thumbnail
-                    // image, as the full size
-                    // image is being shown.
+                    // image, as the full size image is being shown.
                     return;
                 }
 
@@ -330,7 +329,14 @@
                 enableImageTransforms(false);
                 break;
             case LOADER_ID_PHOTO:
-                bindPhoto(data);
+
+                if (result.status == BitmapResult.STATUS_EXCEPTION) {
+                    mProgressBarNeeded = false;
+                    mEmptyText.setText(R.string.failed);
+                    mEmptyText.setVisibility(View.VISIBLE);
+                } else {
+                    bindPhoto(data);
+                }
                 break;
             default:
                 break;
@@ -379,7 +385,7 @@
     }
 
     @Override
-    public void onLoaderReset(Loader<Bitmap> loader) {
+    public void onLoaderReset(Loader<BitmapResult> loader) {
         // Do nothing
     }
 
@@ -470,7 +476,7 @@
             mCallback.onCursorChanged(this, cursor);
 
             final LoaderManager manager = getLoaderManager();
-            final Loader<Bitmap> fakePhotoLoader = manager.getLoader(LOADER_ID_PHOTO);
+            final Loader<BitmapResult> fakePhotoLoader = manager.getLoader(LOADER_ID_PHOTO);
             if (fakePhotoLoader != null) {
                 final PhotoBitmapLoader loader = (PhotoBitmapLoader) fakePhotoLoader;
                 mResolvedPhotoUri = mAdapter.getPhotoUri(cursor);
@@ -479,7 +485,8 @@
             }
 
             if (!mThumbnailShown) {
-                final Loader<Bitmap> fakeThumbnailLoader = manager.getLoader(LOADER_ID_THUMBNAIL);
+                final Loader<BitmapResult> fakeThumbnailLoader = manager.getLoader(
+                        LOADER_ID_THUMBNAIL);
                 if (fakeThumbnailLoader != null) {
                     final PhotoBitmapLoader loader = (PhotoBitmapLoader) fakeThumbnailLoader;
                     mThumbnailUri = mAdapter.getThumbnailUri(cursor);
diff --git a/src/com/android/ex/photo/loaders/PhotoBitmapLoader.java b/src/com/android/ex/photo/loaders/PhotoBitmapLoader.java
index d4d8b60..c29b14f 100644
--- a/src/com/android/ex/photo/loaders/PhotoBitmapLoader.java
+++ b/src/com/android/ex/photo/loaders/PhotoBitmapLoader.java
@@ -25,14 +25,14 @@
 import android.util.DisplayMetrics;
 
 import com.android.ex.photo.fragments.PhotoViewFragment;
+import com.android.ex.photo.loaders.PhotoBitmapLoader.BitmapResult;
 import com.android.ex.photo.util.ImageUtils;
 
 /**
  * Loader for the bitmap of a photo.
  */
-public class PhotoBitmapLoader extends AsyncTaskLoader<Bitmap> {
+public class PhotoBitmapLoader extends AsyncTaskLoader<BitmapResult> {
     private String mPhotoUri;
-
     private Bitmap mBitmap;
 
     public PhotoBitmapLoader(Context context, String photoUri) {
@@ -45,20 +45,26 @@
     }
 
     @Override
-    public Bitmap loadInBackground() {
+    public BitmapResult loadInBackground() {
+        BitmapResult result = new BitmapResult();
         Context context = getContext();
-
         if (context != null && mPhotoUri != null) {
             final ContentResolver resolver = context.getContentResolver();
-            Bitmap bitmap = ImageUtils.createLocalBitmap(resolver, Uri.parse(mPhotoUri),
-                    PhotoViewFragment.sPhotoSize);
-            if (bitmap != null) {
-                bitmap.setDensity(DisplayMetrics.DENSITY_MEDIUM);
+            try {
+                Bitmap bitmap = ImageUtils.createLocalBitmap(resolver, Uri.parse(mPhotoUri),
+                        PhotoViewFragment.sPhotoSize);
+                if (bitmap != null) {
+                    bitmap.setDensity(DisplayMetrics.DENSITY_MEDIUM);
+                }
+                result.status = BitmapResult.STATUS_SUCCESS;
+                result.bitmap = bitmap;
+            } catch (UnsupportedOperationException ex) {
+                // We got image bytes, but unable to decode to a Bitmap
+                result.status = BitmapResult.STATUS_EXCEPTION;
             }
-            return bitmap;
         }
 
-        return null;
+        return result;
     }
 
     /**
@@ -67,7 +73,8 @@
      * here just adds a little more logic.
      */
     @Override
-    public void deliverResult(Bitmap bitmap) {
+    public void deliverResult(BitmapResult result) {
+        Bitmap bitmap = result != null ? result.bitmap : null;
         if (isReset()) {
             // An async query came in while the loader is stopped.  We
             // don't need the result.
@@ -81,7 +88,7 @@
         if (isStarted()) {
             // If the Loader is currently started, we can immediately
             // deliver its results.
-            super.deliverResult(bitmap);
+            super.deliverResult(result);
         }
 
         // At this point we can release the resources associated with
@@ -100,7 +107,10 @@
         if (mBitmap != null) {
             // If we currently have a result available, deliver it
             // immediately.
-            deliverResult(mBitmap);
+            BitmapResult result = new BitmapResult();
+            result.status = BitmapResult.STATUS_SUCCESS;
+            result.bitmap = mBitmap;
+            deliverResult(result);
         }
 
         if (takeContentChanged() || mBitmap == null) {
@@ -122,12 +132,14 @@
      * Handles a request to cancel a load.
      */
     @Override
-    public void onCanceled(Bitmap bitmap) {
-        super.onCanceled(bitmap);
+    public void onCanceled(BitmapResult result) {
+        super.onCanceled(result);
 
         // At this point we can release the resources associated with 'bitmap'
         // if needed.
-        onReleaseResources(bitmap);
+        if (result != null) {
+            onReleaseResources(result.bitmap);
+        }
     }
 
     /**
@@ -157,4 +169,12 @@
             bitmap.recycle();
         }
     }
+
+    public class BitmapResult {
+        public static final int STATUS_SUCCESS = 0;
+        public static final int STATUS_EXCEPTION = 1;
+
+        public Bitmap bitmap;
+        public int status;
+    }
 }
diff --git a/src/com/android/ex/photo/util/ImageUtils.java b/src/com/android/ex/photo/util/ImageUtils.java
index 5b1b0d1..9c7189c 100644
--- a/src/com/android/ex/photo/util/ImageUtils.java
+++ b/src/com/android/ex/photo/util/ImageUtils.java
@@ -174,6 +174,12 @@
 
             final Bitmap originalBitmap = BitmapFactory.decodeStream(byteStream, outPadding, opts);
 
+            if (byteStream != null && originalBitmap == null && !opts.inJustDecodeBounds) {
+                Log.w(TAG, "ImageUtils#decodeStream(InputStream, Rect, Options): "
+                        + "Image bytes cannot be decoded into a Bitmap");
+                throw new UnsupportedOperationException(
+                        "Image bytes cannot be decoded into a Bitmap.");
+            }
             if (originalBitmap != null && orientation != 0) {
                 final Matrix matrix = new Matrix();
                 matrix.postRotate(orientation);
