rsnext/examples/with-lingui
Luc Leray f52955ec94
Clean up examples package.json (#27121)
Clean up package.json files in the `examples` directory:
- Add `private: true`
- Remove `version` (because they are irrelevant for packages that are not meant to be published)
- Remove `name` (because they are optional for packages that are not meant to be published, and when someone clones an example, they often rename it and the property becomes stale)
- Remove `author`
- Remove `description`
- Remove `license`

Also remove `with-dynamic-app-layout` example completely, since it does the same as `layout-component` (https://github.com/vercel/next.js/pull/27121#discussion_r668178408).

## Documentation / Examples

- [x] Make sure the linting passes
2021-07-12 19:58:03 +00:00
..
components (examples/with-lingui): update example (#26076) 2021-06-17 16:29:58 +00:00
locale (examples/with-lingui): update example (#26076) 2021-06-17 16:29:58 +00:00
pages (examples/with-lingui): update example (#26076) 2021-06-17 16:29:58 +00:00
.babelrc Include all files in Prettier (#17050) 2020-09-14 02:53:19 +00:00
.gitignore Added .gitignore to examples that are deployed to vercel (#15127) 2020-07-16 10:52:23 -04:00
lingui.config.js (examples/with-lingui): update example (#26076) 2021-06-17 16:29:58 +00:00
next.config.js (examples/with-lingui): update example (#26076) 2021-06-17 16:29:58 +00:00
package.json Clean up examples package.json (#27121) 2021-07-12 19:58:03 +00:00
README.md (examples/with-lingui): update example (#26076) 2021-06-17 16:29:58 +00:00

With Lingui example

This example shows a way to use lingui.js with next.js.

It adds a webpack loader for the messages to avoid having to manually compile while developing as well as adds the compile step to the next build script for production builds.

The example also uses a Higher order Component which can be added to all pages which will be translated and that checks for a ?lang query string switch the language. Next.js will dynamically load in the messages for the locale when navigating using a Next.js <Link /> component.

Preview

Preview the example live on StackBlitz:

Open in StackBlitz

Deploy your own

Deploy the example using Vercel:

Deploy with Vercel

How to use

Execute create-next-app with npm or Yarn to bootstrap the example:

npx create-next-app --example with-lingui with-lingui-app
# or
yarn create next-app --example with-lingui with-lingui-app

Deploy it to the cloud with Vercel (Documentation).

How to add more translated strings

To add new strings use the react component <Trans /> and then run yarn export to export the messages into locale/{language}/messages.po.

How to add another language

To add another language simply run yarn add-locale <locale ...> and it will create a new locale in the locale/messages/ directory.