diff --git a/src/lang/af-ZA/langStrings.json b/src/lang/af-ZA/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/af-ZA/langStrings.json
+++ b/src/lang/af-ZA/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/ar-SA/langStrings.json b/src/lang/ar-SA/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/ar-SA/langStrings.json
+++ b/src/lang/ar-SA/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/ca-ES/langStrings.json b/src/lang/ca-ES/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/ca-ES/langStrings.json
+++ b/src/lang/ca-ES/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/cs-CZ/langStrings.json b/src/lang/cs-CZ/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/cs-CZ/langStrings.json
+++ b/src/lang/cs-CZ/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/da-DK/langStrings.json b/src/lang/da-DK/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/da-DK/langStrings.json
+++ b/src/lang/da-DK/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/de-DE/langStrings.json b/src/lang/de-DE/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/de-DE/langStrings.json
+++ b/src/lang/de-DE/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/el-GR/langStrings.json b/src/lang/el-GR/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/el-GR/langStrings.json
+++ b/src/lang/el-GR/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/es-419/langStrings.json b/src/lang/es-419/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/es-419/langStrings.json
+++ b/src/lang/es-419/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/es-ES/langStrings.json b/src/lang/es-ES/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/es-ES/langStrings.json
+++ b/src/lang/es-ES/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/fi-FI/langStrings.json b/src/lang/fi-FI/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/fi-FI/langStrings.json
+++ b/src/lang/fi-FI/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/fr-FR/langStrings.json b/src/lang/fr-FR/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/fr-FR/langStrings.json
+++ b/src/lang/fr-FR/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/he-IL/langStrings.json b/src/lang/he-IL/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/he-IL/langStrings.json
+++ b/src/lang/he-IL/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/hu-HU/langStrings.json b/src/lang/hu-HU/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/hu-HU/langStrings.json
+++ b/src/lang/hu-HU/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/it-IT/langStrings.json b/src/lang/it-IT/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/it-IT/langStrings.json
+++ b/src/lang/it-IT/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/ja-JP/langStrings.json b/src/lang/ja-JP/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/ja-JP/langStrings.json
+++ b/src/lang/ja-JP/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/ko-KR/langStrings.json b/src/lang/ko-KR/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/ko-KR/langStrings.json
+++ b/src/lang/ko-KR/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/nl-NL/langStrings.json b/src/lang/nl-NL/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/nl-NL/langStrings.json
+++ b/src/lang/nl-NL/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/no-NO/langStrings.json b/src/lang/no-NO/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/no-NO/langStrings.json
+++ b/src/lang/no-NO/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/pl-PL/langStrings.json b/src/lang/pl-PL/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/pl-PL/langStrings.json
+++ b/src/lang/pl-PL/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/pt-BR/langStrings.json b/src/lang/pt-BR/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/pt-BR/langStrings.json
+++ b/src/lang/pt-BR/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/pt-PT/langStrings.json b/src/lang/pt-PT/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/pt-PT/langStrings.json
+++ b/src/lang/pt-PT/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/ro-RO/langStrings.json b/src/lang/ro-RO/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/ro-RO/langStrings.json
+++ b/src/lang/ro-RO/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/ru-RU/langStrings.json b/src/lang/ru-RU/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/ru-RU/langStrings.json
+++ b/src/lang/ru-RU/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/sr-SP/langStrings.json b/src/lang/sr-SP/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/sr-SP/langStrings.json
+++ b/src/lang/sr-SP/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/sv-SE/langStrings.json b/src/lang/sv-SE/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/sv-SE/langStrings.json
+++ b/src/lang/sv-SE/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/tr-TR/langStrings.json b/src/lang/tr-TR/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/tr-TR/langStrings.json
+++ b/src/lang/tr-TR/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/uk-UA/langStrings.json b/src/lang/uk-UA/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/uk-UA/langStrings.json
+++ b/src/lang/uk-UA/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/vi-VN/langStrings.json b/src/lang/vi-VN/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/vi-VN/langStrings.json
+++ b/src/lang/vi-VN/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/zh-CN/langStrings.json b/src/lang/zh-CN/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/zh-CN/langStrings.json
+++ b/src/lang/zh-CN/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },
diff --git a/src/lang/zh-TW/langStrings.json b/src/lang/zh-TW/langStrings.json
index 3272f65ce6..30e4c47b54 100644
--- a/src/lang/zh-TW/langStrings.json
+++ b/src/lang/zh-TW/langStrings.json
@@ -18,10 +18,12 @@
       "addLocalImages": "Add local images",
       "retryDownload": "Retry download",
       "generateAppList": "Generate app list",
-      "saveAppList": "Save app list",
-      "removeAppList": "Remove app list",
-      "remainingImages": "Remaining providers:",
-      "stopUrlRetrieving": "Stop image providers"
+      "saveAppList": "Save apps to Steam",
+      "removeAppList": "Remove apps from Steam",
+      "remainingImages": "Remaining image downloads:",
+      "stopUrlRetrieving": "Stop image downloads",
+      "exportSelections": "Export image choices",
+      "importSelections": "Import image choices"
     },
     "service": {
       "info": {
@@ -47,7 +49,10 @@
         "parserFoundNoFiles": "Parser(s) found no files matching user configuration.",
         "allImagesRetrieved": "All available image urls retrieved.",
         "providerTimeout__i": "Timeout was requested by \"${provider}\" for ${time} second(s).",
-        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?"
+        "noAccountsWarning": "User accounts not found. Incorrect Steam directory?",
+        "preparingExport": "Preparing export of image choices.",
+        "exportProgress__i": "Saving image choices ${progress}.",
+        "readingSelections": "Applying imported image choices."
       },
       "errors": {
         "fatalError": "Fatal error occurred in Preview. See event log for details.",
@@ -60,11 +65,16 @@
         "controllerSaveError__i": "Controller error (shortcuts and artwork will still be added): ${error}",
         "retryingDownload__i": "Image download from \"${imageUrl}\" failed for \"${appTitle}\".",
         "providerError__i": "Error received from \"${provider}\" for \"${title}\":\n (${url ? `${code}: ${url}` : code}).",
-        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}"
+        "unknownProviderError__i": "Error received from \"${provider}\" for \"${title}\":\n ${error}",
+        "exportError__i": "Could not save selections package folder: ${error}",
+        "importJSONFailError__i": "Could not import selections, JSON was malformed: ${error}",
+        "importFailError__i": "Could not import image choices: ${error}"
       },
       "success": {
         "writingVDF_entries": "Done adding/removing entries.",
-        "removingVDF_entries": "Entries have been removed."
+        "removingVDF_entries": "Entries have been removed.",
+        "exportSuccess__i": "Image choices folder successfully saved to \"${path}\"!",
+        "importSelectionsSuccess__i": "Successfully imported ${count} image choices!"
       }
     }
   },