Skip to content

brightnucleus/localization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bright Nucleus Localization

Latest Stable Version Total Downloads Latest Unstable Version License

WordPress localization for Bright Nucleus components.

Table Of Contents

Installation

The best way to use this package is through Composer:

composer require brightnucleus/localization

Basic Usage

This package provides a trait to be used within Bright Nucleus components to load the translation files (compiled *.mo-files) for a given locale.

To use the trait, import it into your class, and call the loadLocalization( $domain, $path ) method.

Example:

<?php namespace Localization\Example;

use BrightNucleus\Localization\LocalizationTrait;

class TranslatedClass {

	use LocalizationTrait;

	public function register() {

		$this->loadLocalization(
			'bn-localization-example',
			__DIR__ . '/../languages'
		);

		// Your normal registration comes here, knowing that all `gettext`
		// strings have already been translated.
	}
}

Filters

Each loading of localization files passes through two filters:

  1. Localization::LOCALE_FILTER - Filter the locale of a Bright Nucleus library.

    Arguments:

    • $locale (string) - The plugin's current locale.
    • $domain (string) - Text domain. Unique identifier for retrieving translated strings.

    Return value:

    • $locale (string) - Filtered locale.
  2. Localization::MOFILE_FILTER - Filter the name of the MO-file of a Bright Nucleus library.

    Arguments:

    • $path (string) - Path to the MO-file.
    • $locale (string) - The plugin's current locale.
    • $domain (string) - Text domain. Unique identifier for retrieving translated strings.

    Return value:

    • $path (string) - Fitlered path to the MO-file.

Contributing

All feedback / bug reports / pull requests are welcome.

License

Copyright (c) 2016 Alain Schlesser, Bright Nucleus

This code is licensed under the MIT License.