Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
<!--
Contains editorialized release notes. Raw release notes should go into `RELEASE-NOTES.txt`.
-->
## 22.0
This update adds the option to set different notification preferences for each store. In Orders and Products, your filters stay around as you move through the app, and we've fixed a crash that could happen when you choose pictures for your products. Payments is improved too, with support for Puerto Rico in WooPayments, and better accessibility.

## 21.9
We're dedicated to enhancing your WooCommerce app experience! We've ironed out the issues related to discarding images during uploads in the Product Form. Plus, we've ramped up our login flow accessibility to make your journey smoother and more intuitive. Enjoy the fresh update and newly polished features!

Expand Down
4 changes: 4 additions & 0 deletions RELEASE-NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
*** PLEASE FOLLOW THIS FORMAT: [<priority indicator, more stars = higher priority>] <description> [<PR URL>]
*** Use [*****] to indicate smoke tests of all critical flows should be run on the final IPA before release (e.g. major library or OS update).

22.1
-----


22.0
-----
- [*] Payments: Puerto Rico is now available in the list of countries that are supported by In-Person Payments, when using WooPayments [https://github.com/woocommerce/woocommerce-ios/pull/14972]
Expand Down
4 changes: 2 additions & 2 deletions WooCommerce/Resources/AppStoreStrings.pot
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@ msgctxt "app_store_promo_text"
msgid "Run your store from anywhere"
msgstr ""

msgctxt "v21.9-whats-new"
msgctxt "v22.0-whats-new"
msgid ""
"We're dedicated to enhancing your WooCommerce app experience! We've ironed out the issues related to discarding images during uploads in the Product Form. Plus, we've ramped up our login flow accessibility to make your journey smoother and more intuitive. Enjoy the fresh update and newly polished features!\n"
"This update adds the option to set different notification preferences for each store. In Orders and Products, your filters stay around as you move through the app, and we've fixed a crash that could happen when you choose pictures for your products. Payments is improved too, with support for Puerto Rico in WooPayments, and better accessibility.\n"
msgstr ""

#. translators: This is a promo message that will be attached on top of a screenshot in the App Store.
Expand Down
202 changes: 176 additions & 26 deletions WooCommerce/Resources/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -2893,6 +2893,9 @@ which should be translated separately and considered part of this sentence. */
/* Name of the step to connect the store to Jetpack */
"Connecting your store" = "Connecting your store";

/* Screen title for the connectivity tool */
"connectivityTool.title" = "Troubleshoot Connection";

/* Contact Customer action in Shipping Label Address Validation. */
"Contact Customer" = "Contact Customer";

Expand Down Expand Up @@ -6702,6 +6705,57 @@ which should be translated separately and considered part of this sentence. */
/* Title of order note section in the receipt, commonly used for Quick Orders. */
"Notes" = "Notes";

/* Button to cancel saving site settings on the notification settings view */
"notificationSettingsView.cancel" = "Cancel";

/* Button to enable notifications on the notification settings view */
"notificationSettingsView.enableNotificationsCTA" = "Enable notifications";

/* Error message when loading site settings fails on the notification settings view */
"notificationSettingsView.errorLoadingSiteSettings" = "Unable to load notification settings for your stores.";

/* Error message when saving site settings fails on the notification settings view */
"notificationSettingsView.errorSavingSiteSettings" = "Unable to save notification settings";

/* Label indicating that new orders notifications are enabled for a site on the notification settings view */
"notificationSettingsView.newOrders" = "New orders";

/* Label indicating notifications are disabled on the notification settings view */
"notificationSettingsView.notificationsDisabled" = "Notifications are disabled for Woo";

/* Label indicating notifications are enabled on the notification settings view */
"notificationSettingsView.notificationsEnabled" = "Notifications enabled";

/* Footer of the notifications section on the notification settings view */
"notificationSettingsView.notificationsFooter" = "Including reminders and remote push notifications.";

/* Label indicating that notifications are disabled for a site on the notification settings view */
"notificationSettingsView.off" = "Off";

/* Label indicating that product reviews notifications are enabled for a site on the notification settings view */
"notificationSettingsView.productReviews" = "Product reviews";

/* Button to reload site settings on the notification settings view */
"notificationSettingsView.retry" = "Try again";

/* Button to save site settings on the notification settings view */
"notificationSettingsView.save" = "Save";

/* Button to open the app's notification settings in the Settings app */
"notificationSettingsView.settingsAppCTA" = "Change";

/* Footer of the store list section on the notification settings view */
"notificationSettingsView.storeListSectionFooter" = "Customize your notification preferences for each store.";

/* Header of the store list section on the notification settings view */
"notificationSettingsView.storeListSectionHeader" = "Your stores";

/* Title of the notification settings view */
"notificationSettingsView.title" = "Notification Settings";

/* Notice displayed when saving notification settings succeeds. */
"notificationSettingsViewModel.successNotice" = "Settings saved!";

/* Info text for the generate first variation screen */
"Now that you’ve added attributes, you can create your first variation!" = "Now that you’ve added attributes, you can create your first variation!";

Expand Down Expand Up @@ -7727,14 +7781,11 @@ which should be translated separately and considered part of this sentence. */
/* Button to dismiss payment capture error message. Presented to users after collecting a payment fails from payment capture error on the Point of Sale Checkout */
"pointOfSale.cardPresent.paymentCaptureError.newOrder.button.title" = "New order";

/* Next steps hint for what to do after seeing a payment capture error message. Presented to users after collecting a payment fails from payment capture error on the Point of Sale Checkout */
"pointOfSale.cardPresent.paymentCaptureError.nextSteps" = "Verify payment on a device with a working network connection. If unsuccessful, retry the payment. If successful, start a new order.";

/* Button to dismiss payment capture error message. Presented to users after collecting a payment fails from payment capture error on the Point of Sale Checkout */
"pointOfSale.cardPresent.paymentCaptureError.tryPaymentAgain.button.title" = "Try payment again";

/* Error message. Presented to users after collecting a payment fails from payment capture error on the Point of Sale Checkout */
"pointOfSale.cardPresent.paymentCaptureError.unable.to.confirm.message" = "Due to a network error, we’re unable to confirm that the payment succeeded.";
"pointOfSale.cardPresent.paymentCaptureError.unable.to.confirm.message.1" = "Due to a network error, we’re unable to confirm that the payment succeeded. Verify payment on a device with a working network connection. If unsuccessful, retry the payment. If successful, start a new order.";

/* Error message. Presented to users after collecting a payment fails from payment capture error on the Point of Sale Checkout */
"pointOfSale.cardPresent.paymentCaptureError.unable.to.confirm.title" = "Payment error";
Expand Down Expand Up @@ -9653,6 +9704,12 @@ which should be translated separately and considered part of this sentence. */
Title of the hub menu settings button */
"Settings" = "Settings";

/* Navigates to connectivity test screen. */
"settingsViewController.connectivity" = "Troubleshoot Connection";

/* Navigates to the Notification Settings screen */
"settingsViewController.notificationSettings" = "Notification Settings";

/* Navigates to Themes screen. */
"settingsViewController.themesRow" = "Themes";

Expand Down Expand Up @@ -9930,6 +9987,24 @@ which should be translated separately and considered part of this sentence. */
/* Title of the expired WPCom plan alert */
"Site plan expired" = "Site plan expired";

/* Button to dismiss the site notification settings view */
"siteNotificationSettingsView.cancel" = "Cancel";

/* Label of the toggle to enable/disable new order notifications on the site notification settings view */
"siteNotificationSettingsView.newOrders" = "New orders";

/* Footer of the notification types section on the site notification settings view */
"siteNotificationSettingsView.notificationTypesFooter" = "Settings for push notifications that appear on your mobile device.";

/* Label of the toggle to enable/disable product reviews notifications on the site notification settings view */
"siteNotificationSettingsView.productReviews" = "Product reviews";

/* Header of the notification types section on the site notification settings view */
"siteNotificationSettingsView.title" = "Notification types";

/* Button to confirm the settings on the site notification settings view */
"siteNotificationSettingsView.update" = "Update";

/* The button title on the login onboarding screen to skip to the prologue screen.
Title for the button to skip the onboarding step informing the merchant of pending account requirements */
"Skip" = "Skip";
Expand Down Expand Up @@ -11903,24 +11978,6 @@ If your translation of that term also happens to contains a hyphen, please be su
/* Description of the hub menu settings button */
"Update your preferences" = "Update your preferences";

/* Singular of 'hour' — date and time string that represents the time interval since last data update when exactly 1 hour ago. Usage example: Updated 1 hour ago */
"Updated %ld hour ago" = "Updated %ld hour ago";

/* Plural of 'hour' — date and time string that represents the time interval since last data update when greater than 1 hour ago. Usage example: Updated 14 hours ago */
"Updated %ld hours ago" = "Updated %ld hours ago";

/* Singular of 'minute' — date and time string that represents the time interval since last data update when exactly 1 minute ago. Usage example: Updated 1 minute ago */
"Updated %ld minute ago" = "Updated %ld minute ago";

/* Plural of 'minute' — date and time string that represents the time interval since last data update when greater than 1 minute ago. Usage example: Updated 55 minutes ago */
"Updated %ld minutes ago" = "Updated %ld minutes ago";

/* Deictic expression for a data update that occurred in the very recent past - similar to 'Updated just now' */
"Updated moments ago" = "Updated moments ago";

/* A specific date and time string which represents when the data was last updated. Usage example: Updated on Jan 22, 2019 3:31PM */
"Updated on %@" = "Updated on %@";

/* Message of the notice when inventory is updated successfully. Style may vary based on store settings.Reads like: 'Quantity updated: 2,345' */
"updateInventoryNotice.scanProducts.createAddOrderByProductScanningButtonItem" = "Quantity updated: %@";

Expand Down Expand Up @@ -12615,7 +12672,13 @@ If your translation of that term also happens to contains a hyphen, please be su
"wooShipping.createLabel.editPackage.useSelectedPackage" = "Use Selected Package";

/* Label for section in shipping label creation to declare when a package contains hazardous materials. */
"wooShipping.createLabel.hazmatLabel" = "Are you shipping dangerous goods or hazardous materials?";
"wooShipping.createLabel.hazmatRow.label" = "Are you shipping dangerous goods or hazardous materials?";

/* Value for section in shipping label creation to declare when a package does not contain hazardous materials. */
"wooShipping.createLabel.hazmatRow.no" = "No";

/* Value for section in shipping label creation to declare when a package contains hazardous materials. */
"wooShipping.createLabel.hazmatRow.yes" = "Yes";

/* Message in the shipping rate section during shipping label creation, when there is no selected package. */
"wooShipping.createLabel.shippingRate.placeholderMessage" = "Enter your package's dimensions or pick a carrier package option to see the available shipping rates.";
Expand Down Expand Up @@ -12782,6 +12845,18 @@ If your translation of that term also happens to contains a hyphen, please be su
/* Length, width, and height dimensions with the unit for an item to ship. Reads like: '20 x 35 x 5 cm' */
"wooShipping.createLabels.items.dimensions" = "%1$@ x %2$@ x %3$@ %4$@";

/* Notice when a International Transaction Number is missing on the shipping label creation screen */
"wooShipping.createLabels.itnMissing" = "ITN is required.";

/* Message in the notice when purchasing a shipping label fails */
"wooShipping.createLabels.labelPurchaseError.message" = "We are unable to purchase the shipping label. Please try again.";

/* Button to retry label purchase when an error occurs */
"wooShipping.createLabels.labelPurchaseError.retry" = "Retry";

/* Title of the notice when purchasing a shipping label fails */
"wooShipping.createLabels.labelPurchaseError.title" = "Error purchasing shipping label.";

/* Error message when loading required data failed on the shipping label creation screen */
"wooShipping.createLabels.missingDataError" = "We are unable to load required data";

Expand Down Expand Up @@ -12842,6 +12917,9 @@ If your translation of that term also happens to contains a hyphen, please be su
/* Title displayed when no destination address is provided in the shipping label creation screen. */
"wooShipping.createLabels.rates.noDestinationAddressTitle" = "Add a destination address to get shipping rates";

/* Error message when no shipping rates were found based on the combination of the selected package and the total shipment weight. */
"wooShipping.createLabels.rates.noRatesAvailable" = "We couldn't find a shipping service for the combination of the selected package and the total shipment weight. Please adjust your input and try again.";

/* Message displayed when no shipment weight is provided in the shipping label creation screen. */
"wooShipping.createLabels.rates.noWeightMessage" = "We need to know the shipment weight before we can show the available shipping rates.";

Expand Down Expand Up @@ -12938,9 +13016,6 @@ If your translation of that term also happens to contains a hyphen, please be su
/* Explanatory text for the international transaction number in customs */
"wooShipping.customs.internationalTransactionNumber.infoText" = "More info about ITN";

/* Customs validation warning for the ITN field */
"wooShipping.customs.itnValidation" = "Please enter a valid ITN";

/* Product Details Section title */
"wooShipping.customs.productDetails" = "Product Details";

Expand Down Expand Up @@ -13055,6 +13130,81 @@ If your translation of that term also happens to contains a hyphen, please be su
/* Button to retry loading carrier packages in the shipping label creation flow */
"wooShipping.packagesSelectionView.retryCTA" = "Retry";

/* Button to navigate to the custom package screen in the shipping label creation flow */
"wooShipping.savedPackagesSelectionView.createCustomPackageCTA" = "Create a custom package";

/* Message when there are no saved packages loaded in the shipping label creation flow */
"wooShipping.savedPackagesSelectionView.emptyStateMessage" = "No saved packages yet";

/* Error message when loading saved packages failed in the shipping label creation flow */
"wooShipping.savedPackagesSelectionView.loadingPackageError" = "We are unable to load saved packages";

/* Button to retry loading saved packages in the shipping label creation flow */
"wooShipping.savedPackagesSelectionView.retryCTA" = "Retry";

/* Label for section in shipping label creation to split shipments. */
"wooShipping.splitShipments.products" = "Products";

/* Title for button in shipping label creation to start split shipments flow. */
"wooShipping.splitShipments.splitShipmentsButtonTitle" = "Split shipments";

/* Message on a notice when saving a package fails in the shipping creation flow */
"wooShippingAddPackageViewModel.savingPackageFailure" = "Unable to save package";

/* Button to retry saving a package fails in the shipping creation flow */
"wooShippingAddPackageViewModel.savingPackageRetry" = "Retry";

/* Message when the ITN field is invalid in the customs form of a shipping label */
"wooShippingCustomsFormViewModel.ITNValidationError.invalidFormat" = "Please enter a valid ITN in one of these formats: X12345678901234, AES X12345678901234, or NOEEI 30.37(a).";

/* Message when the ITN field is missing in the customs form of a shipping label to the given destination country */
"wooShippingCustomsFormViewModel.ITNValidationError.missingForDestination" = "International Transaction Number is required for shipments to the destination country.";

/* Message when the ITN field is missing for a Tariff class in the customs form of a shipping label */
"wooShippingCustomsFormViewModel.ITNValidationError.missingForTariffClass" = "International Transaction Number is required for shipping items valued over $2,500 per tariff number.";

/* Message when the ITN field is missing in the customs form of a shipping label for a total shipment value of over $2,500 */
"wooShippingCustomsFormViewModel.ITNValidationError.missingForTotalShipmentValue" = "For shipments over $2,500, you need to obtain a 14-digit AES ITN for U.S. export reporting verification.";

/* Button to dismiss the hazardous material category screen in the shipping label creation flow */
"wooShippingHazmatCategoryList.cancel" = "Cancel";

/* Title of the screen to select a category for hazardous materials in the shipping label creation flow */
"wooShippingHazmatCategoryList.title" = "Select Category";

/* Button to dismiss the HAZMAT detail view in the shipping label creation flow */
"wooShippingHazmatDetailView.cancel" = "Cancel";

/* First line of the explanation on the HAZMAT detail view in the shipping label creation flow */
"wooShippingHazmatDetailView.detailLine1" = "Potentially hazardous material includes items such as batteries, dry ice, flammable liquids, aerosols, ammunition, fireworks, nail polish, perfume, paint, solvents, and more. Hazardous items must ship in separate packages.";

/* Second line of the explanation on the HAZMAT detail view in the shipping label creation flow. The placeholders are links to detail pages for HAZMAT. */
"wooShippingHazmatDetailView.detailLine2" = "Learn how to securely package, label, and ship HAZMAT through USPS® at %1$@. Determine your product's mailability using the %2$@.";

/* Third line of the explanation on the HAZMAT detail view in the shipping label creation flow. The placeholder is DHL Express. */
"wooShippingHazmatDetailView.detailLine3" = "WooCommerce Shipping does not currently support HAZMAT shipments through %1$@.";

/* Name of the search tool linked on the HAZMAT detail view in the shipping label creation flow. */
"wooShippingHazmatDetailView.searchTool" = "USPS HAZMAT Search Tool";

/* Button to select hazardous material category on the HAZMAT detail view in the shipping label creation flow */
"wooShippingHazmatDetailView.selectCategory" = "Select Category";

/* Label of the toggle on the HAZMAT detail view in the shipping label creation flow */
"wooShippingHazmatDetailView.switchLabel" = "Contains hazardous materials";

/* Title of the HAZMAT detail view in the shipping label creation flow */
"wooShippingHazmatDetailView.title" = "Are you shipping dangerous goods or hazardous materials?";

/* Button to save split shipment configurations in the shipping label creation flow */
"wooShippingSplitShipmentsDetailView.done" = "Done";

/* Button to select all items in the shipment detail in the shipping label creation flow */
"wooShippingSplitShipmentsDetailView.selectAll" = "Select All";

/* Title of the split shipments detail view in the shipping label creation flow */
"wooShippingSplitShipmentsDetailView.title" = "Split Shipments";

/* WordPress API (unmapped!) error. Parameters: %1$@ - code, %2$@ - message */
"WordPress API Error: [%1$@] %2$@" = "WordPress API Error: [%1$@] %2$@";

Expand Down
Loading
Loading