* fix: improve i18n compatibility for WPML, Polylang, and non-latin character support
- Add Label::get_safe_enum_name() utility with optional transliteration
for non-latin tax class/attribute/taxonomy names (#637, #409)
- Add "Transliterate non-latin characters" admin setting
- Replace get_page_by_path() with WP_Query for product slug resolution
so WPML/Polylang can hook into the standard query pipeline (#403, #368)
- Split product connections: `products` (toType: Product) and
`productsWithVariations` (toType: ProductUnion) so i18n plugins can
register language where args on the standard type name (#811, #952)
- Add ProductTypesWithVariationsEnum for the ProductUnion connection
- Add i18n compatibility tests
* chore: Linter compliances met
* - remove several fields that are already registered by core when the post type is mapped to the schema
* devops: Tests updated and coupon "salt" restored
* chore: Linter & PHPStan compliance met
* chore: Linter & PHPStan compliance met
* devops: "self" replaced with "static" in cli tests
* chore: fix cleanup after rebasing
---------
Co-authored-by: Geoff Taylor <geoff@axistaylor.com>
* fix: product connection resolution refactored to better work with the ProductQuery class
* chore: Linter and PHPStan compliance met
* devops: New product connection tests implemented and passing
* fix: products connection pricing filters fixed
* devops: CartTransactionQueueCest skipped until failing PHP version removed from CI matrix
* fix: Huge refactor across schema and unit tests
* - add shipping_method loader in class-core-schema-filters.php
* - Update class-wc-db-loader.php to respect the new SHIPPING_METHOD loader with a `load_shipping_method_from_id()` function
* - Convert Shipping_Method_Connection_Resolver to extend AbstractConnectionResolver
* - Replace resolver for Shipping Methods connection. Remove use of `resolveNode` and replace the resolver with the new connection class `get_connection()` call
* chore: Factory class refactored.
* - update the function that registers Product Types to the Schema to use the value from the `get_enabled_product_types()` as the Type name and the key as the fieldName
* chore: PaymentGatewayQueriesTest refactored.
* chore: WPCS compliance met
* chore: Syntax error fixed.
Co-authored-by: Jason Bahl <jasonbahl@mac.com>