PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.4.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.4.0
4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / WordPress / TranslationsServiceProvider.php
surecart / app / src / WordPress Last commit date
Admin 3 years ago Assets 3 years ago Pages 3 years ago PostTypes 3 years ago Shortcodes 3 years ago Users 3 years ago ActionsService.php 3 years ago PluginService.php 3 years ago PluginServiceProvider.php 3 years ago RecaptchaValidationService.php 3 years ago ThemeServiceProvider.php 3 years ago TranslationsServiceProvider.php 3 years ago
TranslationsServiceProvider.php
74 lines
1 <?php
2
3 namespace SureCart\WordPress;
4
5 use SureCartCore\ServiceProviders\ServiceProviderInterface;
6
7 /**
8 * Register translations.
9 */
10 class TranslationsServiceProvider implements ServiceProviderInterface {
11 /**
12 * Register all dependencies in the IoC container.
13 *
14 * @param \Pimple\Container $container Service container.
15 * @return void
16 */
17 public function register( $container ) {
18 // Nothing to register.
19 }
20
21 /**
22 * Bootstrap the service.
23 *
24 * @param \Pimple\Container $container Service container.
25 * @return void
26 */
27 public function bootstrap( $container ) {
28 add_filter( 'loco_compile_single_json', [ $this, 'compileSingleJSON' ], 999, 2 );
29 add_filter( 'load_script_translation_file', [ $this, 'loadSingleTranslationFile' ], 999, 3 );
30 add_action( 'init', [ $this, 'loadPluginTextDomain' ], 0 );
31 }
32
33 /**
34 * Compile javascript translations as a single file.
35 * We need to do this since we lazy load a lot of our scripts.
36 *
37 * @param string $path Path for the json file.
38 * @param string $po_path Path of the po.
39 *
40 * @return string
41 */
42 public function compileSingleJSON( $path, $po_path ) {
43 $info = pathinfo( $po_path );
44 if ( 'surecart' === substr( $info['filename'], 0, 8 ) ) {
45 $path = $info['dirname'] . '/' . $info['filename'] . '.json';
46 }
47 return $path;
48 }
49
50 /**
51 * Load the single translation file when the domain loads.
52 *
53 * @param string $file The file.
54 * @param string $handle The script handle.
55 * @param string $domain The domain.
56 *
57 * @return string
58 */
59 public function loadSingleTranslationFile( $file, $handle, $domain ) {
60 if ( 'surecart' === $domain && is_string( $file ) ) {
61 $first_part = substr( $file, 0, strpos( $file, 'plugins/surecart' ) );
62 $file = $first_part . 'plugins/surecart-' . get_locale() . '.json';
63 }
64 return $file;
65 }
66
67 /**
68 * This is needed for Loco translate to work properly.
69 */
70 public function loadPluginTextDomain() {
71 load_plugin_textdomain( 'surecart', false, dirname( plugin_basename( SURECART_PLUGIN_FILE ) ) . '/languages/' );
72 }
73 }
74