All Projects → amannn → next-intl

amannn / next-intl

Licence: MIT license
A minimal, but complete solution for internationalization in Next.js apps. 🌐

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to next-intl

next
(Work in progress) The rewritten version of the original PizzaQL 🍕
Stars: ✭ 45 (-81.4%)
Mutual labels:  i18n, next
ZiggoNext
Custom component to integrate Arris DCX960 Horizon EOS Settopbox into Home Assistant
Stars: ✭ 33 (-86.36%)
Mutual labels:  next
arabic-mathjax
Beautiful Arabic Math on all browsers. An extension for MathJax v2.
Stars: ✭ 12 (-95.04%)
Mutual labels:  i18n
personal-website
My personal website, statically generated by Next.js
Stars: ✭ 16 (-93.39%)
Mutual labels:  next
generator-react-web
Yeoman generator for creating interactive web sites with React and Redux + Webpack, Flow, ES7+, Babel, Yarn, npm Scripts, i18n, Redux Saga, SCSS, CSS Modules
Stars: ✭ 35 (-85.54%)
Mutual labels:  i18n
ar-variation
Variation behavior for ActiveRecord
Stars: ✭ 46 (-80.99%)
Mutual labels:  i18n
mkdocs-static-i18n
MkDocs i18n plugin using static translation markdown files
Stars: ✭ 78 (-67.77%)
Mutual labels:  i18n
next-api-decorators
Collection of decorators to create typed Next.js API routes, with easy request validation and transformation.
Stars: ✭ 187 (-22.73%)
Mutual labels:  next
bcp-47-normalize
Normalize, canonicalize, and format BCP 47 tags
Stars: ✭ 16 (-93.39%)
Mutual labels:  i18n
i18n-demo
A simple i18n demo app with Angular and expressjs
Stars: ✭ 12 (-95.04%)
Mutual labels:  i18n
mobility-actiontext
Translate Rails Action Text rich text with Mobility.
Stars: ✭ 27 (-88.84%)
Mutual labels:  i18n
routex.js
🔼 Alternative library to manage dynamic routes in Next.js
Stars: ✭ 38 (-84.3%)
Mutual labels:  next
andaluh-js
Transliterate español (spanish) spelling to andaluz proposals using javascript
Stars: ✭ 22 (-90.91%)
Mutual labels:  i18n
relay-nextjs
⚡️ Relay Hooks integration for Next.js apps
Stars: ✭ 171 (-29.34%)
Mutual labels:  next
koro
A Bengali (বাংলা) version of the Go compiler and toolchain
Stars: ✭ 77 (-68.18%)
Mutual labels:  i18n
deepl-api-connector
Connector library for deepl.com rest translation api
Stars: ✭ 12 (-95.04%)
Mutual labels:  i18n
NextCommunity.github.io
Join FREE: Community of open-source programmers and software engineers.
Stars: ✭ 29 (-88.02%)
Mutual labels:  next
nuxt-i18n-example
nuxt-i18n showcase project based on nuxt-starter template
Stars: ✭ 67 (-72.31%)
Mutual labels:  i18n
react-redux-nextjs-bootstrap-pwa-starter
a progressive web app starter with next js redux + redux-persist + bootstrap
Stars: ✭ 69 (-71.49%)
Mutual labels:  next
springboot-chapter
🚀Spring Boot 2.0基础教程。主流框架整合,实践学习案例。
Stars: ✭ 23 (-90.5%)
Mutual labels:  i18n



next-intl


A minimal, but complete solution for internationalization in Next.js apps.

Gzipped size Tree shaking supported

Features

This library complements the internationalized routing capabilities of Next.js by managing translations and providing them to components.

  • 🌟 Proven ICU syntax: This covers interpolation, plurals, ordinal pluralization, label selection based on enums and rich text. I18n is an essential part of the user experience, therefore this library doesn't compromise on flexibility and never leaves you behind when you need to fine tune a translation.
  • 📅 Built-in date, time and number formatting: You can use global formats for a consistent look & feel of your app and integrate them with translations.
  • 💡 Hooks-only API: This ensures that you can use the same API for children as well as for attributes which expect strings.
  • Type-safe: If you're using TypeScript, you'll benefit from autocompletion for available message keys and compile-time errors for typos.
  • ⚔️ Battle-tested building blocks: This library is a minimal wrapper around built-in browser APIs and supplemental lower-level APIs from Format.JS.
  • 🚀 Fast: By integrating with both static as well as server side rendering you always get the best possible performance from your app.

What does it look like?

This library is based on the premise that messages can be grouped by namespaces (typically a component name).

// LatestFollower.js
function LatestFollower({user}) {
  const t = useTranslations('LatestFollower');

  return (
    <>
      <Text>{t('latestFollower', {username: user.name})}</Text>
      <IconButton aria-label={t('followBack')} icon={<FollowIcon />} />
    </>
  );
}
// en.json
{
  "LatestFollower": {
    "latestFollower": "{username} started following you",
    "followBack": "Follow back"
  }
}

→ Read the docs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].