rsnext/examples/with-lingui
Shu Uesugi 6804039e94 Make example READMEs more consistent (#10124)
* npx create → npm init

* Fix inconsistent instructions

* Update amp-first

* Update with-graphql-react

* with-firebase-cloud-messaging

* Update with-higher-order-component

* change create-next-app url

* Update create-next-app instruction

* Update instructions to use npm instead of npx

* Move "the idea behind the example" to top

* Rename

* Rename

* Update contributing.md with a README template
2020-01-16 23:23:56 +01:00
..
components Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
locale Add example using lingui.js (#6210) 2019-02-21 12:53:02 +01:00
pages Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
.babelrc Add example using lingui.js (#6210) 2019-02-21 12:53:02 +01:00
.gitignore Add example using lingui.js (#6210) 2019-02-21 12:53:02 +01:00
next.config.js Improve linting rules to catch more errors (#9374) 2019-11-10 19:24:53 -08:00
package.json Move syntax formatting to prettier (#7454) 2019-05-29 13:57:26 +02:00
README.md Make example READMEs more consistent (#10124) 2020-01-16 23:23:56 +01: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.

Deploy your own

Deploy the example using ZEIT Now:

Deploy with ZEIT Now

How to use

Using create-next-app

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

npm init next-app --example with-lingui with-lingui-app
# or
yarn create next-app --example with-lingui with-lingui-app

Download manually

Download the example:

curl https://codeload.github.com/zeit/next.js/tar.gz/canary | tar -xz --strip=2 next.js-canary/examples/with-lingui
cd with-lingui

Install it and run:

npm install
npm run dev
# or
yarn
yarn dev

Deploy it to the cloud with now (download):

now

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.