npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@prezly/theme-kit-intl

v7.5.1

Published

Translations for Prezly themes

Downloads

793

Readme

Translations for Prezly Themes

Version License Crowdin

This repo is a supplementary package for Prezly themes that need multi-language support. It has two main exports:

  • Translation files in ICU synthax compiled to work seamlessly with react-intl library and Crowdin.
  • Typed message descriptors to use in react-intl FormattedMessage components and formatMessage helpers.

Getting started

npm

npm install react-intl @prezly/theme-kit-intl

Usage in the application

  1. Import the messages for your desired locale. localeIsoCode refers to a ISO hyphen-code. You can check which locale codes are supported in the theme-kit-nextjs repo.
const messages = await import(`@prezly/theme-kit-intl/messages/${localeIsoCode}.json`);
  1. Pass the messages to the IntlProvider wrapper component. It should be at the top of your component tree to work properly.
<IntlProvider
    locale={localeIsoCode}
    defaultLocale="en"
    messages={messages}
>
  {/* Your application code */}
</IntlProvider>
  1. Use the message descriptor to render the message in your component. Your IDE should give hints on the messages structure.
import { translations } from '@prezly/theme-kit-intl';
import { FormattedMessage } from 'react-intl';

function Component() {
  return <FormattedMessage {...translations.actions.download} />
}

You can check an example on how to import messages in a Next.js theme in the Prezly Bea Theme repo.

Message descriptors structure

  • actions -> Labels for buttons or links that trigger a specific action
  • content -> Mostly titles for various sections of a site that are related to the displayed content in some way
  • errors -> Messages for error pages (404/500) and form validation errors
  • search -> Messages related to the Search module
  • subscription -> Messages related to the Subscription module
  • misc -> Messages not suiting in any of the above categories

Documentation on updating the translations (Prezly internal)

The process of adding new translations to Prezly Themes is described in the Notion article


Brought to you by Prezly.