Skip to content

Commit 789f773

Browse files
committed
Freeze strings for localization
1 parent 06c6389 commit 789f773

File tree

1 file changed

+80
-41
lines changed

1 file changed

+80
-41
lines changed

WooCommerce/Resources/en.lproj/Localizable.strings

Lines changed: 80 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1869,6 +1869,9 @@ which should be translated separately and considered part of this sentence. */
18691869
/* Title of the booking customer selector view */
18701870
"bookingCustomerSelectorView.title" = "Customer";
18711871

1872+
/* Title of the Clear button in the date time picker for booking filter */
1873+
"bookingDateTimeFilterView.clear" = "Clear";
1874+
18721875
/* Title of the Date row in the date time picker for booking filter */
18731876
"bookingDateTimeFilterView.date" = "Date";
18741877

@@ -1917,6 +1920,9 @@ which should be translated separately and considered part of this sentence. */
19171920
/* Add a booking note section in booking details view. */
19181921
"BookingDetailsView.bookingNote.addNoteRow.title" = "Add note";
19191922

1923+
/* Content of error presented when updating the not of a Booking fails. It reads: Unable to update note of Booking #{Booking number}. Parameters: %1$d - Booking number */
1924+
"BookingDetailsView.bookingNote.failureMessage." = "Unable to update note of Booking #%1$d.";
1925+
19201926
/* Footer text for the `Booking note` section in the booking details screen. */
19211927
"BookingDetailsView.bookingNote.footerText" = "This is a private note. It'll not be shared with the customer.";
19221928

@@ -1956,6 +1962,9 @@ which should be translated separately and considered part of this sentence. */
19561962
/* Header title for the 'Customer' section in the booking details screen. */
19571963
"BookingDetailsView.customer.headerTitle" = "Customer";
19581964

1965+
/* Customer note row title in customer section in booking details view. */
1966+
"BookingDetailsView.customer.note.title" = "Note";
1967+
19591968
/* 'Status' row title in attendance section in booking details view. */
19601969
"BookingDetailsView.customer.status.title" = "Status";
19611970

@@ -2040,8 +2049,11 @@ which should be translated separately and considered part of this sentence. */
20402049
/* Description for booking date range filter with only end date. Placeholder is a date. Reads as: Until October 27, 2025. */
20412050
"bookingFiltersViewModel.dateRangeFilter.until" = "Until %1$@";
20422051

2043-
/* Message displayed when searching bookings by keyword yields no results. */
2044-
"bookingList.emptySearchText" = "We couldn't find any bookings with that name — try adjusting your search term to see more results.";
2052+
/* Button to clear the filters on booking list */
2053+
"bookingList.clearFilters" = "Clear filters";
2054+
2055+
/* Message displayed when searching bookings by keyword yields no results. Version without a dash. */
2056+
"bookingList.emptySearchText.noDash" = "We couldn't find any bookings with that name. Try adjusting your search term to see more results.";
20452057

20462058
/* Error message when fetching bookings fails */
20472059
"bookingList.errorMessage" = "Error fetching bookings";
@@ -2055,20 +2067,26 @@ which should be translated separately and considered part of this sentence. */
20552067
/* Tab title for all bookings */
20562068
"bookingListView.all" = "All";
20572069

2058-
/* Description for the empty state when there's no bookings for the given filter */
2059-
"bookingListView.emptyState.filter.description" = "No bookings match your filters. Try adjusting them to see more results.";
2070+
/* Description for the empty state when there's no bookings at all so far */
2071+
"bookingListView.emptyState.all.description" = "Bookings will appear here once customers start scheduling your services or registering for events.";
20602072

2061-
/* Title for the empty state when there's no bookings for the given filter */
2073+
/* Title for the empty state when there's no bookings at all so far */
2074+
"bookingListView.emptyState.all.title" = "No bookings yet";
2075+
2076+
/* Description for the empty state when there's no bookings for the given filters */
2077+
"bookingListView.emptyState.filter.description.i3" = "Try adjusting or clearing your filters to see more results.";
2078+
2079+
/* Title for the empty state when there's no bookings for the given filters */
20622080
"bookingListView.emptyState.filter.title" = "No bookings found";
20632081

20642082
/* Description for the empty state when no bookings for today is found */
2065-
"bookingListView.emptyState.today.description" = "You don't have any appointments or events scheduled for today.";
2083+
"bookingListView.emptyState.today.description.i3" = "Any bookings scheduled for today will appear here.";
20662084

20672085
/* Title for the empty state when no bookings for today is found */
20682086
"bookingListView.emptyState.today.title" = "No bookings today";
20692087

20702088
/* Description for the empty state when there's no upcoming bookings */
2071-
"bookingListView.emptyState.upcoming.description" = "You don't have any future appointments or events scheduled yet.";
2089+
"bookingListView.emptyState.upcoming.description.i3" = "New bookings will appear here as customers schedule your services or register for events.";
20722090

20732091
/* Title for the empty state when there's no bookings for today */
20742092
"bookingListView.emptyState.upcoming.title" = "No upcoming bookings";
@@ -2094,18 +2112,6 @@ which should be translated separately and considered part of this sentence. */
20942112
/* Title of the booking list view */
20952113
"bookingListView.view.title" = "Bookings";
20962114

2097-
/* Status of a paid booking */
2098-
"bookingPaymentStatus.title.paid" = "Paid";
2099-
2100-
/* Status of a refunded booking */
2101-
"bookingPaymentStatus.title.refunded" = "Refunded";
2102-
2103-
/* Status of a booking with unexpected payment status */
2104-
"bookingPaymentStatus.title.unknown" = "Unknown";
2105-
2106-
/* Status of an unpaid booking */
2107-
"bookingPaymentStatus.title.unpaid" = "Unpaid";
2108-
21092115
/* Displayed name on the booking list when no customer is associated with a booking. */
21102116
"bookings.guest" = "Guest";
21112117

@@ -7653,6 +7659,33 @@ which should be translated separately and considered part of this sentence. */
76537659
/* Button title to retry synchronizing order and calculating order totals */
76547660
"pointOfSale.orderSync.error.tryAgain" = "Try again";
76557661

7662+
/* Button to return to order editing when products are no longer available */
7663+
"pointOfSale.orderSync.missingProductsError.editOrder" = "Edit order";
7664+
7665+
/* Button title to remove a single unavailable product and retry creating the order */
7666+
"pointOfSale.orderSync.missingProductsError.removeProductSingular" = "Remove product";
7667+
7668+
/* Button title to remove multiple unavailable products and retry creating the order */
7669+
"pointOfSale.orderSync.missingProductsError.removeProductsPlural" = "Remove products";
7670+
7671+
/* Subtitle of the error when we can't identify which specific product is no longer available. */
7672+
"pointOfSale.orderSync.missingProductsError.subtitleGenericProduct" = "A product in the cart is no longer available.";
7673+
7674+
/* Subtitle of the error when multiple products are no longer available */
7675+
"pointOfSale.orderSync.missingProductsError.subtitlePlural" = "Some products in your cart are no longer available.";
7676+
7677+
/* Subtitle of the error when a single product is no longer available. Placeholder is the product name. */
7678+
"pointOfSale.orderSync.missingProductsError.subtitleSingular" = "%@ is no longer available.";
7679+
7680+
/* Title of the error when multiple products in the cart are no longer available */
7681+
"pointOfSale.orderSync.missingProductsError.titlePlural" = "Products no longer available";
7682+
7683+
/* Title of the error when a single product in the cart is no longer available */
7684+
"pointOfSale.orderSync.missingProductsError.titleSingular" = "Product no longer available";
7685+
7686+
/* Generic product name used when we can't identify which specific product is unavailable */
7687+
"pointOfSale.orderSync.missingProductsError.unknownProductName" = "One or more products";
7688+
76567689
/* Message shown to users when payment is made. %1$@ is a placeholder for the order total, e.g $10.50. Please include %1$@ in your formatted string */
76577690
"pointOfSale.paymentSuccessful.message.card.1" = "A card payment of %1$@ was successfully made.";
76587691

@@ -7839,7 +7872,7 @@ which should be translated separately and considered part of this sentence. */
78397872
"pointOfSaleSettingsView.sidebarNavigationLocalCatalogSubtitle" = "Manage catalog settings";
78407873

78417874
/* Title of the Local catalog section within Point of Sale settings. */
7842-
"pointOfSaleSettingsView.sidebarNavigationLocalCatalogTitle" = "Catalog";
7875+
"pointOfSaleSettingsView.sidebarNavigationLocalCatalogTitle.2" = "Product catalog";
78437876

78447877
/* Description of the settings to be found within the Store section. */
78457878
"pointOfSaleSettingsView.sidebarNavigationStoreSubtitle" = "Store configuration and settings";
@@ -8033,6 +8066,9 @@ which should be translated separately and considered part of this sentence. */
80338066
/* Title for the 'Clear cart' confirmation button to remove all products from the Cart. */
80348067
"pos.cartView.clearButtonTitle.1" = "Clear cart";
80358068

8069+
/* Title appearing in a modal when there's an error refreshing the catalog. */
8070+
"pos.catalog.refreshFailedTitle" = "Unable to refresh catalog";
8071+
80368072
/* Title shown on a toast view that appears when there's no internet connection */
80378073
"pos.connectivity.title" = "No internet connection";
80388074

@@ -8268,7 +8304,7 @@ which should be translated separately and considered part of this sentence. */
82688304
"pos.orderListView.emptyOrdersSearchHint" = "Try adjusting your search term.";
82698305

82708306
/* Subtitle appearing when order search returns no results. */
8271-
"pos.orderListView.emptyOrdersSearchSubtitle" = "We couldn't find any orders matching your search.";
8307+
"pos.orderListView.emptyOrdersSearchSubtitle.1" = "We couldn't find any orders with that name.";
82728308

82738309
/* Title appearing when order search returns no results. */
82748310
"pos.orderListView.emptyOrdersSearchTitle" = "No orders found";
@@ -8304,7 +8340,7 @@ which should be translated separately and considered part of this sentence. */
83048340
"pos.parentProductCard.optionsAvailable" = "Options available";
83058341

83068342
/* Text appearing on the coupons list screen as subtitle when there's no coupons found. */
8307-
"pos.pointOfSaleItemListEmptyView.emptyCouponSearchSubtitle.2" = "We couldn’t find any coupons with that name — try adjusting your search term.";
8343+
"pos.pointOfSaleItemListEmptyView.emptyCouponSearchSubtitle.3" = "We couldn’t find any coupons with that name. Try adjusting your search term.";
83088344

83098345
/* Text appearing on the coupons list screen as subtitle when there's no coupons found. */
83108346
"pos.pointOfSaleItemListEmptyView.emptyCouponsSubtitle.2" = "Coupons can be an effective way to drive business. Would you like to create one?";
@@ -8322,7 +8358,7 @@ which should be translated separately and considered part of this sentence. */
83228358
"pos.pointOfSaleItemListEmptyView.emptyProductsSearchHint" = "Variation names can't be searched, so use the parent product name.";
83238359

83248360
/* Subtitle text suggesting to modify search terms when no products are found in the POS product search. */
8325-
"pos.pointOfSaleItemListEmptyView.emptyProductsSearchSubtitle.2" = "We couldn't find any matching products — try adjusting your search term.";
8361+
"pos.pointOfSaleItemListEmptyView.emptyProductsSearchSubtitle.3" = "We couldn't find any matching products. Try adjusting your search term.";
83268362

83278363
/* Text appearing on screen when a POS product search returns no results. */
83288364
"pos.pointOfSaleItemListEmptyView.emptyProductsSearchTitle.2" = "No products found";
@@ -8402,38 +8438,41 @@ which should be translated separately and considered part of this sentence. */
84028438
/* An error shown when the Point of Sale is used in iOS split view, but with not enough horizontal space. */
84038439
"pos.unsupportedWidth.title" = "Point of Sale is not supported in this screen width.";
84048440

8405-
/* Label for allow full sync on cellular data toggle in Point of Sale settings. */
8406-
"posSettingsLocalCatalogDetailView.allowFullSyncOnCellular.1" = "Allow full update on cellular data";
8441+
/* Label for allow sync on cellular data toggle in Point of Sale settings. */
8442+
"posSettingsLocalCatalogDetailView.allowSyncOnCellular.2" = "Allow sync using cellular data";
84078443

8408-
/* Label for catalog size field in Point of Sale settings. */
8409-
"posSettingsLocalCatalogDetailView.catalogSize" = "Catalog size";
8444+
/* Button text for closing an error after a refresh fails */
8445+
"posSettingsLocalCatalogDetailView.catalogRefresh.error.cancelButton.title" = "Cancel";
8446+
8447+
/* Button text for retrying a refresh after it fails */
8448+
"posSettingsLocalCatalogDetailView.catalogRefresh.error.retryButton.title" = "Retry";
84108449

8411-
/* Section title for catalog status in Point of Sale settings. */
8412-
"posSettingsLocalCatalogDetailView.catalogStatus" = "Catalog Status";
8450+
/* Label for catalog size field in Point of Sale settings. */
8451+
"posSettingsLocalCatalogDetailView.catalogSize.1" = "Size";
84138452

84148453
/* Label for last full sync field in Point of Sale settings. */
8415-
"posSettingsLocalCatalogDetailView.lastFullSync.1" = "Last full update";
8454+
"posSettingsLocalCatalogDetailView.lastFullSync.2" = "Last full sync";
84168455

8417-
/* Label for last incremental update field in Point of Sale settings. */
8418-
"posSettingsLocalCatalogDetailView.lastIncrementalSync" = "Last update";
8456+
/* Label for last incremental sync field in Point of Sale settings. */
8457+
"posSettingsLocalCatalogDetailView.lastIncrementalSync.1" = "Last incremental sync";
84198458

84208459
/* Section title for managing data usage in Point of Sale settings. */
8421-
"posSettingsLocalCatalogDetailView.managingDataUsage.1" = "Managing Data Usage";
8460+
"posSettingsLocalCatalogDetailView.managingDataUsage.2" = "Cellular data";
84228461

84238462
/* Section title for manual catalog update in Point of Sale settings. */
8424-
"posSettingsLocalCatalogDetailView.manualCatalogUpdate" = "Manual Catalog Update";
8425-
8426-
/* Info text explaining when to use manual catalog update. */
8427-
"posSettingsLocalCatalogDetailView.manualUpdateInfo" = "Use this refresh only when something seems off - POS keeps data current automatically.";
8463+
"posSettingsLocalCatalogDetailView.manualCatalogUpdate.1" = "Catalog update";
84288464

8429-
/* Button text for refreshing the catalog manually. */
8430-
"posSettingsLocalCatalogDetailView.refreshCatalog" = "Refresh catalog";
8465+
/* Info text explaining the usage of the manual catalog update button. */
8466+
"posSettingsLocalCatalogDetailView.manualUpdateInfo.1" = "Update the catalog manually";
84318467

84328468
/* Navigation title for the local catalog details in POS settings. */
8433-
"posSettingsLocalCatalogDetailView.title" = "Catalog Settings";
8469+
"posSettingsLocalCatalogDetailView.title.1" = "Product catalog";
8470+
8471+
/* Button text for updating the catalog manually. */
8472+
"posSettingsLocalCatalogDetailView.updateCatalog" = "Update catalog";
84348473

84358474
/* Format string for catalog size showing product count and variation count. %1$d will be replaced by the product count, and %2$ld will be replaced by the variation count. */
8436-
"posSettingsLocalCatalogViewModel.catalogSizeFormat" = "%1$d products, %2$ld variations";
8475+
"posSettingsLocalCatalogViewModel.catalogSizeFormat" = "%1$d products and %2$ld variations";
84378476

84388477
/* Text shown when catalog size cannot be determined. */
84398478
"posSettingsLocalCatalogViewModel.catalogSizeUnavailable" = "Catalog size unavailable";

0 commit comments

Comments
 (0)