
Security News
minimatch Patches 3 High-Severity ReDoS Vulnerabilities
minimatch patched three high-severity ReDoS vulnerabilities that can stall the Node.js event loop, and Socket has released free certified patches.
@wordpress/i18n
Advanced tools
Internationalization utilities for client-side localization. See How to Internationalize Your Plugin for server-side documentation.
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 such language features and APIs, you should include the polyfill shipped in @wordpress/babel-preset-default in your code.
import { sprintf, _n } from '@wordpress/i18n';
sprintf( _n( '%d hat', '%d hats', 4, 'text-domain' ), 4 );
// 4 hats
For a complete example, see the Internationalization section of the Block Editor Handbook.
Create an i18n instance
Parameters
[LocaleData< TextDomain >]: Locale data configuration.[TextDomain]: Domain for which configuration applies.[Hooks]: Hooks implementation.Returns
I18n< TextDomain >: I18n instance.Default, singleton instance of I18n.
Returns locale data by domain in a Jed-formatted JSON object shape.
Related
Parameters
[ string | undefined ]: Domain for which to get the data.Returns
LocaleData: Locale data.Check if there is a translation for a given string (in singular form).
Parameters
string: Singular form of the string to look up.string: Context information for the translators.string: Domain to retrieve the translated text.Returns
boolean: Whether the translation exists or not.Check if current locale is RTL.
RTL (Right To Left) is a locale property indicating that text is written from right to left. For example, the he locale (for Hebrew) specifies right-to-left. Arabic (ar) is another common language written RTL. The opposite of RTL, LTR (Left To Right) is used in other languages, including English (en, en-US, en-GB, etc.), Spanish (es), and French (fr).
Returns
boolean: Whether locale is RTL.Resets all current Tannin instance locale data and sets the specified locale data for the domain. Accepts data in a Jed-formatted JSON object shape.
Related
Parameters
[LocaleData]: Locale data configuration.[string | undefined]: Domain for which configuration applies.Merges locale data into the Tannin instance by domain. Accepts data in a Jed-formatted JSON object shape.
Related
Parameters
[LocaleData ]: Locale data configuration.[string | undefined]: Domain for which configuration applies.Returns a formatted string.
Related
Parameters
T | TranslatableText< T >: The format of the string to generate.DistributeSprintfArgs< T >: Arguments to apply to the format.Returns
string: The formatted string.Subscribes to changes of locale data
Parameters
SubscribeCallback: Subscription callbackReturns
UnsubscribeCallback: Unsubscribe callbackTranslates and retrieves the singular or plural form based on the supplied number.
Related
Parameters
Single: The text to be used if the number is singular.Plural: The text to be used if the number is plural.number: The number to compare against to use either the singular or plural form.string | undefined: Domain to retrieve the translated text.Returns
TranslatableText<Single | Plural>: The translated singular or plural form.Translates and retrieves the singular or plural form based on the supplied number, with gettext context.
Related
Parameters
Single: The text to be used if the number is singular.Single: The text to be used if the number is singular.Plural: The text to be used if the number is plural.number: The number to compare against to use either the singular or plural form.string: Context information for the translators.[string | undefined]: Domain to retrieve the translated text.Returns
TranslatableText<Single | Plural>: The translated singular or plural form.Retrieve translated string with gettext context.
Related
Parameters
Text: Text to translate.string: Context information for the translators.string | undefined: Domain to retrieve the translated text.Returns
TranslatableText<Text>: Translated context string without pipe.Retrieve the translation of text.
Related
Parameters
Text: Text to translate.string | undefined: Domain to retrieve the translated text.Returns
TranslatableText<Text>: Translated text.This is an individual package that's part of the Gutenberg project. The project is organized as a monorepo. It's made up of multiple self-contained software packages, each with a specific purpose. The packages in this monorepo are published to npm and used by WordPress as well as other software projects.
To find out more about contributing to this package or Gutenberg as a whole, please read the project's main contributor guide.

i18next is a popular internationalization framework for JavaScript. It provides a complete solution for localizing applications, including support for pluralization, context, and interpolation. Compared to @wordpress/i18n, i18next offers more advanced features and is suitable for a wider range of applications beyond WordPress.
react-intl is a library for internationalizing React applications. It provides components and an API to format dates, numbers, and strings, and to handle pluralization and translations. While @wordpress/i18n is tailored for WordPress, react-intl is specifically designed for React applications.
Polyglot.js is a small library for internationalizing JavaScript applications. It provides a simple API for translating strings and handling pluralization. Polyglot.js is more lightweight compared to @wordpress/i18n and is suitable for projects that require basic i18n support.
FAQs
WordPress internationalization (i18n) library.
The npm package @wordpress/i18n receives a total of 291,549 weekly downloads. As such, @wordpress/i18n popularity was classified as popular.
We found that @wordpress/i18n demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 23 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
minimatch patched three high-severity ReDoS vulnerabilities that can stall the Node.js event loop, and Socket has released free certified patches.

Research
/Security News
Socket uncovered 26 malicious npm packages tied to North Korea's Contagious Interview campaign, retrieving a live 9-module infostealer and RAT from the adversary's C2.

Research
An impersonated golang.org/x/crypto clone exfiltrates passwords, executes a remote shell stager, and delivers a Rekoobe backdoor on Linux.