diff --git a/lib/l10n b/lib/l10n
index 05207b7e..654b12d7 160000
--- a/lib/l10n
+++ b/lib/l10n
@@ -1 +1 @@
-Subproject commit 05207b7e5b455db01d05e987c517d75326932dec
+Subproject commit 654b12d727c5c045c6586b0a13bfcf7293f112f8
diff --git a/lib/widget/dialogs.dart b/lib/widget/dialogs.dart
index dd37ed65..4c7ccacd 100644
--- a/lib/widget/dialogs.dart
+++ b/lib/widget/dialogs.dart
@@ -130,9 +130,37 @@ Future<void> showServerError(String title, String description) async {
 
 Future<void> showStatusCodeError(int status, {int expected = 200}) async {
 
+  BuildContext ctx = OneContext().context;
+
+  String msg = I18N.of(ctx).responseInvalid;
+  String extra = "Server responded with status code ${status}";
+
+  switch (status) {
+    case 400:
+      msg = I18N.of(ctx).response400;
+      break;
+    case 401:
+      msg = I18N.of(ctx).response401;
+      break;
+    case 403:
+      msg = I18N.of(ctx).response403;
+      break;
+    case 404:
+      msg = I18N.of(ctx).response404;
+      break;
+    case 405:
+      msg = I18N.of(ctx).response405;
+      break;
+    case 429:
+      msg = I18N.of(ctx).response429;
+      break;
+    default:
+      break;
+  }
+
   showServerError(
-    I18N.of(OneContext().context).responseInvalid,
-    "Server responded with status code ${status}"
+    msg,
+    extra,
   );
 }
 
diff --git a/lib/widget/part_detail.dart b/lib/widget/part_detail.dart
index e2d12435..2cf540e1 100644
--- a/lib/widget/part_detail.dart
+++ b/lib/widget/part_detail.dart
@@ -90,10 +90,15 @@ class _PartDisplayState extends RefreshableState<PartDetailWidget> {
 
     final bool result = await part.update(context, values: values);
 
+    if (result) {
+      showSnackIcon("Part edited", success: true);
+    }
+    /*
     showSnackIcon(
       result ? "Part edited" : "Part editing failed",
       success: result
     );
+    */
 
     refresh();
   }