Package Exports
- @wordpress/i18n
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@wordpress/i18n) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Internationalization (i18n)
Internationalization utilities for client-side localization.
https://codex.wordpress.org/I18n_for_WordPress_Developers
Installation
Install the module:
npm install @wordpress/i18n --save
This package assumes that your code will run in an ES2015+ environment. If you're using an environment that has limited or no support for ES2015+ such as lower versions of IE then using core-js or @babel/polyfill will add support for these methods. Learn more about it in Babel docs.
Usage
import { sprintf, _n } from '@wordpress/i18n';
sprintf( _n( '%d hat', '%d hats', 4, 'text-domain' ), 4 );
// 4 hats
Note that you will not need to specify domain for the strings.
Build
You can use the WordPress i18n babel plugin to generate a .pot
file containing all your localized strings.
The package also includes a pot-to-php
script used to generate a php files containing the messages listed in a .pot
file. This is useful to trick WordPress.org translation strings discovery since at the moment, WordPress.org is not capable of parsing strings directly from JavaScript files.
npx pot-to-php languages/myplugin.pot languages/myplugin-translations.php text-domain
API
__( text: string, domain: string ): string
Retrieve the translation of text.
See: https://developer.wordpress.org/reference/functions/__/
_x( text: string, context: string, domain: string ): string
Retrieve translated string with gettext context.
See: https://developer.wordpress.org/reference/functions/_x/
_n( single: string, plural: string, number: Number, domain: string ): string
Translates and retrieves the singular or plural form based on the supplied number.
See: https://developer.wordpress.org/reference/functions/_n/
_nx( single: string, plural: string, number: Number, context: string, domain: string ): string
Translates and retrieves the singular or plural form based on the supplied number, with gettext context.
See: https://developer.wordpress.org/reference/functions/_nx/
sprintf( format: string, ...args: mixed[] ): string
Returns a formatted string.
See: http://www.diveintojavascript.com/projects/javascript-sprintf
setLocaleData( data: Object, domain: string )
Creates a new Jed instance with specified locale data configuration.