array( 'name' => 'FOX — Currency Switcher (WOOCS)', 'active' => isset( $GLOBALS['WOOCS_STARTER'] ) || class_exists( '\\WOOCS' ), ), 'curcy' => array( 'name' => 'CURCY — Multi Currency for WooCommerce', 'active' => function_exists( 'wmc_get_price' ), ), 'aelia-multicurrency' => array( 'name' => 'Aelia Currency Switcher', 'active' => has_action( 'wc_aelia_cs_convert' ) || class_exists( '\\Aelia\\WC\\CurrencySwitcher\\WC_Aelia_CurrencySwitcher' ), ), 'wpml_multicurrency' => array( 'name' => 'WPML Multicurrency (WCML)', 'active' => isset( $GLOBALS['woocommerce_wpml'] ) && class_exists( '\\WCML_Multi_Currency' ), ), 'woopayments-multicurrency' => array( 'name' => 'WooPayments Multi-Currency', 'active' => class_exists( '\\WCPay\\MultiCurrency\\MultiCurrency' ), ), 'yith-multicurrency' => array( 'name' => 'YITH Multi Currency Switcher', 'active' => function_exists( 'yith_wcmcs_convert_price' ), ), 'wccs' => array( 'name' => 'WooCommerce Currency Switcher (WP Experts)', 'active' => isset( $GLOBALS['WCCS'] ), ), ); } public function isOwnPluginActive(): bool { return class_exists( '\\U2Code\\Multicurrency\\Plugin' ); } public function getOwnPluginName(): string { return 'U2Code Multicurrency'; } public function getOwnPluginIconAsset(): string { return 'admin/integrations/u2code-multicurrency-icon.png'; } public function getOwnPluginBannerAsset(): string { return 'admin/integrations/u2code-multicurrency-banner.png'; } public function getOwnPluginPills(): array { return array( __( 'Automatic exchange rates', 'tier-pricing-table' ), __( 'Geolocation', 'tier-pricing-table' ), __( 'Per-currency price rules', 'tier-pricing-table' ), __( 'Multi-currency checkout', 'tier-pricing-table' ), ); } public function getOwnPluginWporgURL(): string { return 'https://wordpress.org/plugins/u2code-product-multicurrency-for-woocommerce/'; } public function getOwnPluginSiteURL(): string { return 'https://u2code.com/plugins/multicurrency-for-woocommerce/'; } public function getUtmCampaignBase(): string { return 'multicurrency'; } public function getIntroHeading(): string { return __( 'Tiered pricing works with multi-currency stores', 'tier-pricing-table' ); } public function getIntroText(): string { return __( 'When a currency switcher is active, tiered prices follow it: tier rules, role-based prices, catalog prices and cart discounts are converted to the visitor\'s currency.', 'tier-pricing-table' ); } public function getPromoText(): string { return __( 'U2Code Multicurrency is built by the makers of Tiered Pricing Table — a native pairing instead of an adapter: tier and role prices convert natively, per-currency price rules, and one support team for both plugins.', 'tier-pricing-table' ); } public function getPairedBannerText(): string { return '' . esc_html__( 'U2Code Multicurrency is active — the native pairing.', 'tier-pricing-table' ) . ' ' . esc_html__( 'Tiered, role-based and catalog prices convert to the visitor\'s currency automatically.', 'tier-pricing-table' ); } public function getIntegrationEnabledText(): string { return __( 'The Tiered Pricing integration for it is enabled — tiered prices are converted at the current exchange rate.', 'tier-pricing-table' ); } public function getIntegrationDisabledText(): string { return __( 'The Tiered Pricing integration for it is disabled — tiered prices may not convert correctly.', 'tier-pricing-table' ); } public function getConflictText( string $competitorNames ): string { return '' . esc_html__( 'Two currency systems are active.', 'tier-pricing-table' ) . ' ' . sprintf( /* translators: %s: competitor plugin name(s) */ esc_html__( 'U2Code Multicurrency and %s will both try to convert prices. Deactivate one of them — we recommend keeping U2Code Multicurrency for the native pairing with tiered pricing.', 'tier-pricing-table' ), esc_html( $competitorNames ) ); } }