From c51f2dd12221058aae8607aff2bdc926b5898b7c Mon Sep 17 00:00:00 2001 From: Andrii Bodnar <29282228+andrii-bodnar@users.noreply.github.com> Date: Wed, 25 Jan 2023 11:45:04 +0200 Subject: [PATCH] docs: new documentation site (#1365) --- .eslintignore | 2 +- .github/workflows/deploy-main-docs.yml | 32 - .github/workflows/docs-suite.yml | 36 + .github/workflows/release-docs.yml | 38 + .gitignore | 1 - CODE_OF_CONDUCT.md | 128 + CONTRIBUTING.md | 82 +- LICENSE | 2 +- README.md | 13 +- docs/CNAME | 1 - docs/Makefile | 23 - docs/Pipfile | 16 - docs/Pipfile.lock | 320 - docs/_ext/edit_on_github.py | 28 - docs/_ext/linguidocs.py | 109 - docs/_ext/youtube.py | 104 - docs/_static/pitch.js | 31 - docs/_static/pitch_keys.js | 53 - docs/_static/pitch_keys.png | Bin 365370 -> 0 bytes docs/_static/pitch_messages.js | 52 - docs/_static/pitch_messages.png | Bin 349644 -> 0 bytes docs/_templates/layout.html | 13 - docs/conf.py | 169 - docs/guides/dynamic-loading-catalogs.rst | 129 - docs/guides/excluding-build-files.rst | 32 - docs/guides/monorepo.rst | 26 - docs/guides/optimized-components.rst | 123 - docs/guides/plurals.rst | 112 - docs/guides/pseudolocalization.rst | 57 - docs/guides/testing.rst | 60 - docs/guides/typescript.rst | 106 - docs/index.rst | 152 - docs/misc/react-intl.rst | 290 - docs/misc/showroom.rst | 23 - docs/misc/talks-about-i18n.rst | 45 - docs/misc/tooling.rst | 11 - docs/ref/catalog-formats.rst | 138 - docs/ref/cli.rst | 170 - docs/ref/conf.rst | 533 - docs/ref/core.rst | 404 - docs/ref/loader.rst | 39 - docs/ref/locale-detector.rst | 74 - docs/ref/macro.rst | 840 -- docs/ref/message-format.rst | 54 - docs/ref/react.rst | 267 - docs/ref/snowpack-plugin.rst | 61 - docs/releases/migration-1.rst | 275 - docs/releases/migration-2.rst | 179 - docs/releases/migration-3.rst | 289 - docs/tools/crowdin.rst | 194 - docs/tools/introduction.rst | 114 - docs/tools/translation-io.rst | 252 - docs/tutorials/cli.rst | 202 - docs/tutorials/javascript.rst | 130 - docs/tutorials/react-native.rst | 270 - docs/tutorials/react-patterns.rst | 261 - docs/tutorials/react.rst | 819 -- docs/tutorials/setup-cra.rst | 100 - docs/tutorials/setup-react.rst | 128 - docs/vercel-build.sh | 3 - lerna.json | 4 +- package.json | 2 +- tsconfig.json | 3 +- website/.ecrc | 10 + website/.editorconfig | 18 + website/.eslintrc | 41 + website/.gitattributes | 13 + website/.gitignore | 17 + website/.prettierignore | 6 + website/.prettierrc.json | 8 + website/.remarkrc.mjs | 56 + website/babel.config.js | 3 + .../docs/guides/dynamic-loading-catalogs.md | 114 + website/docs/guides/excluding-build-files.md | 28 + website/docs/guides/monorepo.md | 24 + website/docs/guides/optimized-components.md | 95 + website/docs/guides/plurals.md | 94 + website/docs/guides/pseudolocalization.md | 41 + website/docs/guides/testing.md | 52 + website/docs/guides/typescript.md | 99 + website/docs/introduction.md | 105 + website/docs/misc/community.md | 43 + website/docs/misc/react-intl.md | 242 + website/docs/misc/resources.md | 11 + website/docs/misc/showroom.md | 36 + website/docs/misc/tooling.md | 11 + website/docs/ref/catalog-formats.md | 104 + website/docs/ref/cli.md | 166 + website/docs/ref/conf.md | 451 + website/docs/ref/core.md | 371 + website/docs/ref/loader.md | 29 + website/docs/ref/locale-detector.md | 66 + website/docs/ref/macro.md | 788 ++ website/docs/ref/message-format.md | 59 + website/docs/ref/react.md | 210 + website/docs/ref/snowpack-plugin.md | 56 + website/docs/releases/migration-3.md | 240 + website/docs/tools/crowdin.md | 150 + website/docs/tools/introduction.md | 68 + website/docs/tools/translation-io.md | 158 + website/docs/tutorials/cli.md | 167 + website/docs/tutorials/javascript.md | 107 + website/docs/tutorials/react-native.md | 222 + website/docs/tutorials/react-patterns.md | 230 + website/docs/tutorials/react.md | 719 ++ website/docs/tutorials/setup-cra.md | 75 + website/docs/tutorials/setup-react.md | 102 + website/docusaurus.config.js | 131 + website/linkcheck-ignore.txt | 2 + website/package.json | 71 + website/sidebars.ts | 175 + website/src/components/Button.tsx | 21 + website/src/components/Features.module.scss | 101 + website/src/components/Features.tsx | 197 + website/src/components/Header.module.scss | 73 + website/src/components/Header.tsx | 47 + website/src/components/Users.module.scss | 46 + website/src/components/Users.tsx | 84 + website/src/css/custom.scss | 171 + website/src/definitions.d.ts | 2 + website/src/pages/index.tsx | 22 + website/src/theme/Footer/index.js | 10 + website/src/utils/useScript.ts | 50 + website/static/.nojekyll | 0 .../img/docs}/Crowdin__js-lingui-cli.png | Bin .../img/docs}/Crowdin__js-lingui-vcs.png | Bin .../img/docs}/dynamic-loading-catalogs-1.png | Bin .../img/docs}/dynamic-loading-catalogs-2.png | Bin .../static/img/docs}/rn-component-nesting.png | Bin .../img/docs}/translation-lingui-logo.png | Bin .../docs}/translation-lingui-plural-forms.png | Bin .../img/docs}/with-collaboration-tool.png | Bin .../img/docs}/without-collaboration-tool.png | Bin website/static/img/favicon.ico | Bin 0 -> 15406 bytes website/static/img/features/all-platforms.svg | 6 + .../img/features/clean-and-readable.png | Bin 0 -> 29043 bytes website/static/img/features/fledged.svg | 37 + website/static/img/features/free.svg | 6 + .../static/img/features/pattern-left-big.svg | 28 + .../static/img/features/pattern-right-big.svg | 24 + website/static/img/features/rich-text.svg | 12 + website/static/img/features/time.svg | 26 + website/static/img/features/tooling.png | Bin 0 -> 8118 bytes website/static/img/features/universal.png | Bin 0 -> 25559 bytes website/static/img/features/universal.svg | 9 + website/static/img/features/verified.svg | 5 + website/static/img/header/left-bg.svg | 29 + website/static/img/header/right-bg.svg | 29 + website/static/img/lingui-logo.svg | 11 + website/static/img/logo-small.svg | 11 + website/static/img/users/ansible.png | Bin 0 -> 20327 bytes website/static/img/users/fider.png | Bin 0 -> 17801 bytes website/static/img/users/flood.svg | 7 + website/static/img/users/lenster.svg | 8 + website/static/img/users/linkerd.png | Bin 0 -> 11921 bytes website/static/img/users/remirror.png | Bin 0 -> 3529 bytes website/static/img/users/uniswap.png | Bin 0 -> 13016 bytes website/static/img/users/zipkin.png | Bin 0 -> 8467 bytes website/tools/algolia/config.json | 24 + website/tsconfig.json | 7 + website/yarn.lock | 10712 ++++++++++++++++ 161 files changed, 18159 insertions(+), 7964 deletions(-) delete mode 100644 .github/workflows/deploy-main-docs.yml create mode 100644 .github/workflows/docs-suite.yml create mode 100644 .github/workflows/release-docs.yml create mode 100644 CODE_OF_CONDUCT.md delete mode 100644 docs/CNAME delete mode 100644 docs/Makefile delete mode 100644 docs/Pipfile delete mode 100644 docs/Pipfile.lock delete mode 100644 docs/_ext/edit_on_github.py delete mode 100644 docs/_ext/linguidocs.py delete mode 100644 docs/_ext/youtube.py delete mode 100644 docs/_static/pitch.js delete mode 100644 docs/_static/pitch_keys.js delete mode 100644 docs/_static/pitch_keys.png delete mode 100644 docs/_static/pitch_messages.js delete mode 100644 docs/_static/pitch_messages.png delete mode 100644 docs/_templates/layout.html delete mode 100644 docs/conf.py delete mode 100644 docs/guides/dynamic-loading-catalogs.rst delete mode 100644 docs/guides/excluding-build-files.rst delete mode 100644 docs/guides/monorepo.rst delete mode 100644 docs/guides/optimized-components.rst delete mode 100644 docs/guides/plurals.rst delete mode 100644 docs/guides/pseudolocalization.rst delete mode 100644 docs/guides/testing.rst delete mode 100644 docs/guides/typescript.rst delete mode 100644 docs/index.rst delete mode 100644 docs/misc/react-intl.rst delete mode 100644 docs/misc/showroom.rst delete mode 100644 docs/misc/talks-about-i18n.rst delete mode 100644 docs/misc/tooling.rst delete mode 100644 docs/ref/catalog-formats.rst delete mode 100644 docs/ref/cli.rst delete mode 100644 docs/ref/conf.rst delete mode 100644 docs/ref/core.rst delete mode 100644 docs/ref/loader.rst delete mode 100644 docs/ref/locale-detector.rst delete mode 100644 docs/ref/macro.rst delete mode 100644 docs/ref/message-format.rst delete mode 100644 docs/ref/react.rst delete mode 100644 docs/ref/snowpack-plugin.rst delete mode 100644 docs/releases/migration-1.rst delete mode 100644 docs/releases/migration-2.rst delete mode 100644 docs/releases/migration-3.rst delete mode 100644 docs/tools/crowdin.rst delete mode 100644 docs/tools/introduction.rst delete mode 100644 docs/tools/translation-io.rst delete mode 100644 docs/tutorials/cli.rst delete mode 100644 docs/tutorials/javascript.rst delete mode 100644 docs/tutorials/react-native.rst delete mode 100644 docs/tutorials/react-patterns.rst delete mode 100644 docs/tutorials/react.rst delete mode 100644 docs/tutorials/setup-cra.rst delete mode 100644 docs/tutorials/setup-react.rst delete mode 100755 docs/vercel-build.sh create mode 100644 website/.ecrc create mode 100644 website/.editorconfig create mode 100644 website/.eslintrc create mode 100644 website/.gitattributes create mode 100644 website/.gitignore create mode 100644 website/.prettierignore create mode 100644 website/.prettierrc.json create mode 100644 website/.remarkrc.mjs create mode 100644 website/babel.config.js create mode 100644 website/docs/guides/dynamic-loading-catalogs.md create mode 100644 website/docs/guides/excluding-build-files.md create mode 100644 website/docs/guides/monorepo.md create mode 100644 website/docs/guides/optimized-components.md create mode 100644 website/docs/guides/plurals.md create mode 100644 website/docs/guides/pseudolocalization.md create mode 100644 website/docs/guides/testing.md create mode 100644 website/docs/guides/typescript.md create mode 100644 website/docs/introduction.md create mode 100644 website/docs/misc/community.md create mode 100644 website/docs/misc/react-intl.md create mode 100644 website/docs/misc/resources.md create mode 100644 website/docs/misc/showroom.md create mode 100644 website/docs/misc/tooling.md create mode 100644 website/docs/ref/catalog-formats.md create mode 100644 website/docs/ref/cli.md create mode 100644 website/docs/ref/conf.md create mode 100644 website/docs/ref/core.md create mode 100644 website/docs/ref/loader.md create mode 100644 website/docs/ref/locale-detector.md create mode 100644 website/docs/ref/macro.md create mode 100644 website/docs/ref/message-format.md create mode 100644 website/docs/ref/react.md create mode 100644 website/docs/ref/snowpack-plugin.md create mode 100644 website/docs/releases/migration-3.md create mode 100644 website/docs/tools/crowdin.md create mode 100644 website/docs/tools/introduction.md create mode 100644 website/docs/tools/translation-io.md create mode 100644 website/docs/tutorials/cli.md create mode 100644 website/docs/tutorials/javascript.md create mode 100644 website/docs/tutorials/react-native.md create mode 100644 website/docs/tutorials/react-patterns.md create mode 100644 website/docs/tutorials/react.md create mode 100644 website/docs/tutorials/setup-cra.md create mode 100644 website/docs/tutorials/setup-react.md create mode 100644 website/docusaurus.config.js create mode 100644 website/linkcheck-ignore.txt create mode 100644 website/package.json create mode 100644 website/sidebars.ts create mode 100644 website/src/components/Button.tsx create mode 100644 website/src/components/Features.module.scss create mode 100644 website/src/components/Features.tsx create mode 100644 website/src/components/Header.module.scss create mode 100644 website/src/components/Header.tsx create mode 100644 website/src/components/Users.module.scss create mode 100644 website/src/components/Users.tsx create mode 100644 website/src/css/custom.scss create mode 100644 website/src/definitions.d.ts create mode 100644 website/src/pages/index.tsx create mode 100644 website/src/theme/Footer/index.js create mode 100644 website/src/utils/useScript.ts create mode 100644 website/static/.nojekyll rename {docs/tools => website/static/img/docs}/Crowdin__js-lingui-cli.png (100%) rename {docs/tools => website/static/img/docs}/Crowdin__js-lingui-vcs.png (100%) rename {docs/guides => website/static/img/docs}/dynamic-loading-catalogs-1.png (100%) rename {docs/guides => website/static/img/docs}/dynamic-loading-catalogs-2.png (100%) rename {docs/tutorials => website/static/img/docs}/rn-component-nesting.png (100%) rename {docs/tools => website/static/img/docs}/translation-lingui-logo.png (100%) rename {docs/tools => website/static/img/docs}/translation-lingui-plural-forms.png (100%) rename {docs/tools => website/static/img/docs}/with-collaboration-tool.png (100%) rename {docs/tools => website/static/img/docs}/without-collaboration-tool.png (100%) create mode 100644 website/static/img/favicon.ico create mode 100644 website/static/img/features/all-platforms.svg create mode 100644 website/static/img/features/clean-and-readable.png create mode 100644 website/static/img/features/fledged.svg create mode 100644 website/static/img/features/free.svg create mode 100644 website/static/img/features/pattern-left-big.svg create mode 100644 website/static/img/features/pattern-right-big.svg create mode 100644 website/static/img/features/rich-text.svg create mode 100644 website/static/img/features/time.svg create mode 100644 website/static/img/features/tooling.png create mode 100644 website/static/img/features/universal.png create mode 100644 website/static/img/features/universal.svg create mode 100644 website/static/img/features/verified.svg create mode 100644 website/static/img/header/left-bg.svg create mode 100644 website/static/img/header/right-bg.svg create mode 100644 website/static/img/lingui-logo.svg create mode 100644 website/static/img/logo-small.svg create mode 100644 website/static/img/users/ansible.png create mode 100644 website/static/img/users/fider.png create mode 100644 website/static/img/users/flood.svg create mode 100644 website/static/img/users/lenster.svg create mode 100644 website/static/img/users/linkerd.png create mode 100644 website/static/img/users/remirror.png create mode 100644 website/static/img/users/uniswap.png create mode 100644 website/static/img/users/zipkin.png create mode 100644 website/tools/algolia/config.json create mode 100644 website/tsconfig.json create mode 100644 website/yarn.lock diff --git a/.eslintignore b/.eslintignore index 3e2702ce5..a254f0f8c 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,6 +2,6 @@ **/node_modules/* **/fixtures/* **/locale/* -docs/* +website/* README.md **/npm/* \ No newline at end of file diff --git a/.github/workflows/deploy-main-docs.yml b/.github/workflows/deploy-main-docs.yml deleted file mode 100644 index 794070a5e..000000000 --- a/.github/workflows/deploy-main-docs.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: deploy-main-docs - -on: - push: - branches: - - main - paths: - - docs/** - -jobs: - deploy-docs: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - - - name: Setup node - uses: actions/setup-node@v3 - with: - node-version: 16 - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: '3.9' - cache: 'pip' - - - name: Deploy documentation - run: | - cd docs/ - ./vercel-build.sh - npx vercel --public --yes --prod --token ${{secrets.NOW_TOKEN}} --name lingui-docs _build/html diff --git a/.github/workflows/docs-suite.yml b/.github/workflows/docs-suite.yml new file mode 100644 index 000000000..f2d53d6da --- /dev/null +++ b/.github/workflows/docs-suite.yml @@ -0,0 +1,36 @@ +name: docs-suite + +on: + pull_request: + branches: + - '*' + paths: + - website/** + +jobs: + validate: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Install dependencies + working-directory: website + run: yarn install --frozen-lockfile --pure-lockfile + + - name: Build + working-directory: website + run: yarn build + + - name: Lint + working-directory: website + run: yarn lint + + - name: Check Formatting + working-directory: website + run: yarn checkFormat diff --git a/.github/workflows/release-docs.yml b/.github/workflows/release-docs.yml new file mode 100644 index 000000000..d6e465756 --- /dev/null +++ b/.github/workflows/release-docs.yml @@ -0,0 +1,38 @@ +name: release-docs + +on: + workflow_dispatch: + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Install dependencies + working-directory: website + run: yarn install --frozen-lockfile --pure-lockfile + + - name: Build + working-directory: website + run: yarn build + + - name: Deploy documentation + working-directory: website + run: | + npx vercel --public --yes --prod --token ${{ secrets.NOW_TOKEN }} --name lingui-docs build + + - name: Update Algolia index + uses: darrenjennings/algolia-docsearch-action@v0.2.0 + with: + algolia_application_id: ${{ vars.ALGOLIA_APP_ID }} + algolia_api_key: ${{ secrets.ALGOLIA_WRITE_API_KEY }} + file: 'website/tools/algolia/config.json' diff --git a/.gitignore b/.gitignore index f3d1a0073..f07902b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,7 +3,6 @@ build/packages/ .yalc/ yalc.lock packages/**/build -docs/_build/ npm-debug.log yarn-error.log diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 000000000..38be88cf3 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,128 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +https://github.com/lingui/js-lingui/discussions. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bfe937a7e..0ccce10f9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,27 +1,48 @@ +# Contributing + +:tada: First off, thanks for taking the time to contribute! :tada: + +The following is a set of guidelines for contributing to Lingui. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. + +This project and everyone participating in it are governed by the [Code of Conduct](/CODE_OF_CONDUCT.md). We expect that all community members adhere to the guidelines within. + **Working on your first Pull Request?** You can learn how from this _free_ series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github) ## Contributing to the docs -Documentation uses Sphinx and reStructuredText. Source inside the -[docs](https://github.com/lingui/js-lingui/tree/main/docs) directory. +The documentation is based on [Docusaurus](https://docusaurus.io/) framework. Source inside the [website](https://github.com/lingui/js-lingui/tree/main/website) directory. + +- Go to the `website` directory: + + ```sh + cd website + ``` + +- Install dependencies: + + ```sh + yarn install + ``` -1. Go to the `docs` directory +- To build the docs, watch for changes and preview documentation locally at [http://localhost:3000/](http://localhost:3000/): + + ```sh + yarn start + ``` -2. Run `pipenv install` to setup Python environemnt (requires Python 3.6). - If you encounter `ValueError('unknown locale: %s' % localename)`, - run `export LC_ALL=en_US.UTF-8 && export LANG=en_US.UTF-8` and try again. +- It's also possible to run `yarn build` for single build. Incremental builds are much faster than the first one as only changed files are built. -3. Run `pipenv run make livehtml` to build the docs, watch for changes and preview - documentation locally at [http://127.0.0.1:8000](http://127.0.0.1:8000). +- Please lint and validate the documentation before submitting any changes: -4. It's also possible to run `pipenv run make html` for single build. Incremental builds - are much faster than the first one as only changed files are built. + ```sh + yarn lint + yarn checkFormat + ``` ## Contributing the code -This project uses [yarn][yarninstall] package manager. Please follow -[official][yarninstall] docs to install it. +This project uses [yarn][yarninstall] package manager. Please follow [official][yarninstall] docs to install it. ### Setup local environment @@ -32,10 +53,7 @@ This project uses [yarn][yarninstall] package manager. Please follow cd js-lingui ``` -2. Install development packages. This project uses - [yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) instead of Lerna, - so running `yarn` installs all development packages and also dependencies for all - workspaces (inside `packages/*`). +2. Install development packages. This project uses [yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/) instead of Lerna, so running `yarn` installs all development packages and also dependencies for all workspaces (inside `packages/*`). ```sh yarn @@ -51,22 +69,20 @@ This project uses [yarn][yarninstall] package manager. Please follow yarn test ``` - NOTE: if you are using an IDE to run test make sure to use the right Jest config. - For unit tests use `-c scripts/jest/config.unit.js`. Integration tests use - build packages (created using `yarn release:build`) and config `-c scripts/jest/config.integration.js`. - See [package.json](./package.json) for more info. - - If you run tests manually instead of using `yarn watch` or `yarn test` commands and your tests - fail due to missing locale data (typically you'll get wrong number and currency formating) - make sure you have `NODE_ICU_DATA` variable set: `NODE_ICU_DATA=node_modules/full-icu`. + > **Note** + > If you are using an IDE to run test make sure to use the right Jest config. + > For unit tests use `-c scripts/jest/config.unit.js`. Integration tests use + > build packages (created using `yarn release:build`) and config `-c scripts/jest/config.integration.js`. + > See [package.json](./package.json) for more info. + > If you run tests manually instead of using `yarn watch` or `yarn test` commands and your tests + > fail due to missing locale data (typically you'll get wrong number and currency formating) + > make sure you have `NODE_ICU_DATA` variable set: `NODE_ICU_DATA=node_modules/full-icu`. ### Using development version in your project -After you successfully fix a bug or add a new feature, you most probably want -to test it in your project as soon as possible. +After you successfully fix a bug or add a new feature, you most probably want to test it in your project as soon as possible. -`jsLingui` uses [verdaccio](https://verdaccio.org/), a lightweight local NPM registry, to install -local build of packages in examples. You can do the same in your project: +`jsLingui` uses [verdaccio](https://verdaccio.org/), a lightweight local NPM registry, to install local build of packages in examples. You can do the same in your project: 1. Run `verdaccio` locally in docker (follow [verdaccio guide](https://verdaccio.org/docs/en/what-is-verdaccio.html) if you don't want to run it in Docker): @@ -106,18 +122,16 @@ local build of packages in examples. You can do the same in your project: ### Finalize changes -Please make sure that all tests pass and linter doesn't report any error before -submitting a PR (Don't worry though! If you can't figure out the problem, create a PR -anyway and we'll help you). +Please make sure that all tests pass and linter doesn't report any error before submitting a PR (Don't worry though! If you can't figure out the problem, create a PR anyway, and we'll help you). - `yarn lint:all` - Linting & Type testing - `yarn test` - Quick test suite (sufficient) - `yarn release:test` - Full test suite (recommended) -`yarn release:test` builds all packages, simulates creating packages for NPM, runs unit -tests and finally runs integration tests using production build. +`yarn release:test` builds all packages, simulates creating packages for NPM, runs unit tests and finally runs integration tests using production build. -**Note**: Don't commit `scripts/build/results.json` created by `yarn release:test`. +> **Note** +> Don't commit `scripts/build/results.json` created by `yarn release:test`. Now you can create PR and let CI service do their work! diff --git a/LICENSE b/LICENSE index 868be5858..c6f6622e2 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2017 Tomáš Ehrlich +Copyright (c) 2017-2022 Tomáš Ehrlich, (c) 2022-2023 Crowdin. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 666aa5f04..3581d2e54 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ [![Sponsors on Open Collective][Badge-ocsponsors]][ocsponsors-local] [![Join the community on Discord][Badge-Discord]][Discord] -[**Documentation**][Documentation] · [**Documentation 2.x**](https://js-lingui-git-stable-2x.lingui-js.vercel.app/) · [**Quickstart**](#quickstart) · [**Example**](#example) · [**Support**](#support) · [**Contribute**](#contribute) · [**Licence**](#licence) +[**Documentation**][Documentation] · [**Quickstart**](#quickstart) · [**Example**](#example) · [**Support**](#support) · [**Contribute**](#contribute) · [**License**](#license) > Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language. @@ -111,10 +111,9 @@ documentation to implement features and fixing bugs. - Do you use **Lingui** in production site? Let us know! - Have you seen any interesting talk or article about **i18n**? - [Share it](https://github.com/lingui/js-lingui/edit/main/docs/misc/talks-about-i18n.rst)! + [Share it](https://github.com/lingui/js-lingui/edit/main/website/docs/misc/resources.md)! - Have you found a bug or do you want to suggest a new feature? [Create an issue][Issues]! -- Do you want to improve the docs and write some code? - Read the [contributors guide][Contributing] and send a PR! +- Do you want to improve the docs and write some code? Read the [contributors guide][Contributing] and send a PR! ### Contributors @@ -147,7 +146,6 @@ Support this project by becoming a sponsor. Your logo will show up here with a l The project is licensed under the [MIT][License] license. -[ReactIntl]: https://github.com/yahoo/react-intl [Documentation]: https://lingui.js.org/ [TutorialReact]: https://lingui.js.org/tutorials/react.html [TutorialReactNative]: https://lingui.js.org/tutorials/react-native.html @@ -159,8 +157,6 @@ The project is licensed under the [MIT][License] license. [Badge-MainSuite-GithubCI]: https://github.com/lingui/js-lingui/workflows/main-suite/badge.svg [Badge-ReleaseWorkflowTesting-GithubCI]: https://github.com/lingui/js-lingui/workflows/release-workflow-test/badge.svg -[Badge-CI]: https://img.shields.io/circleci/project/github/lingui/js-lingui/main.svg -[Badge-AppVeyor]: https://ci.appveyor.com/api/projects/status/0wjdm3qofrjo2c4n/branch/main?svg=true [Badge-Coverage]: https://img.shields.io/codecov/c/github/lingui/js-lingui/main.svg [Badge-PRWelcome]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square [Badge-ocbackers]: https://opencollective.com/js-lingui/backers/badge.svg @@ -171,14 +167,11 @@ The project is licensed under the [MIT][License] license. [Img-Backers]: https://opencollective.com/js-lingui/backers.svg?width=890 [Backers]: https://opencollective.com/js-lingui#backers -[CI]: https://circleci.com/gh/lingui/js-lingui/tree/main -[AppVeyor]: https://ci.appveyor.com/project/tricoder42/js-lingui/branch/main [Coverage]: https://codecov.io/gh/lingui/js-lingui [License]: https://github.com/lingui/js-lingui/blob/main/LICENSE [Contributing]: https://github.com/lingui/js-lingui/blob/main/CONTRIBUTING.md [Issues]: https://github.com/lingui/js-lingui/issues/new/choose [PRWelcome]: http://makeapullrequest.com -[Indiegogo]: https://igg.me/at/js-lingui/x/4367619 [ocbackers-local]: #backers [ocsponsors-local]: #sponsors [BundleReact]: https://bundlephobia.com/result?p=@lingui/react diff --git a/docs/CNAME b/docs/CNAME deleted file mode 100644 index 873bf2a35..000000000 --- a/docs/CNAME +++ /dev/null @@ -1 +0,0 @@ -lingui.js.org diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 1024afc61..000000000 --- a/docs/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = python -m sphinx -SPHINXPROJ = LinguiJS -SOURCEDIR = . -BUILDDIR = _build - -# Put it first so that "make" without argument is like "make help". -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help Makefile - -livehtml: - sphinx-autobuild -b html $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html" - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/Pipfile b/docs/Pipfile deleted file mode 100644 index e64acda48..000000000 --- a/docs/Pipfile +++ /dev/null @@ -1,16 +0,0 @@ -[[source]] -name = "pypi" -url = "https://pypi.python.org/simple" -verify_ssl = true - -[dev-packages] - -[packages] -sphinx = "*" -sphinx-rtd-theme = "*" -jsx-lexer = "*" -sphinx-autobuild = "*" -sphinx-sitemap = "*" - -[requires] -python_version = "3.9" diff --git a/docs/Pipfile.lock b/docs/Pipfile.lock deleted file mode 100644 index c824fc951..000000000 --- a/docs/Pipfile.lock +++ /dev/null @@ -1,320 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "c60bb627831a8373ea6941482550011bf4d98ea4878f47af7ffae1615e318cab" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.9" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.python.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "alabaster": { - "hashes": [ - "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", - "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" - ], - "version": "==0.7.12" - }, - "babel": { - "hashes": [ - "sha256:1ad3eca1c885218f6dce2ab67291178944f810a10a9b5f3cb8382a5a232b64fe", - "sha256:5ef4b3226b0180dedded4229651c8b0e1a3a6a2837d45a073272f313e4cf97f6" - ], - "markers": "python_version >= '3.6'", - "version": "==2.11.0" - }, - "certifi": { - "hashes": [ - "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3", - "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18" - ], - "markers": "python_version >= '3.6'", - "version": "==2022.12.7" - }, - "charset-normalizer": { - "hashes": [ - "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845", - "sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f" - ], - "markers": "python_version >= '3.6'", - "version": "==2.1.1" - }, - "colorama": { - "hashes": [ - "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", - "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6'", - "version": "==0.4.6" - }, - "docutils": { - "hashes": [ - "sha256:686577d2e4c32380bb50cbb22f575ed742d58168cee37e99117a854bcd88f125", - "sha256:cf316c8370a737a022b72b56874f6602acf974a37a9fba42ec2876387549fc61" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.17.1" - }, - "idna": { - "hashes": [ - "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4", - "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2" - ], - "markers": "python_version >= '3.5'", - "version": "==3.4" - }, - "imagesize": { - "hashes": [ - "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", - "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.4.1" - }, - "importlib-metadata": { - "hashes": [ - "sha256:7efb448ec9a5e313a57655d35aa54cd3e01b7e1fbcf72dce1bf06119420f5bad", - "sha256:e354bedeb60efa6affdcc8ae121b73544a7aa74156d047311948f6d711cd378d" - ], - "markers": "python_version < '3.10'", - "version": "==6.0.0" - }, - "jinja2": { - "hashes": [ - "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852", - "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61" - ], - "markers": "python_version >= '3.7'", - "version": "==3.1.2" - }, - "jsx-lexer": { - "hashes": [ - "sha256:bff51c2a2faa2c682cbc9a0f360b8c65e4153eb1df06988e8dad34373d3f9995", - "sha256:ca22483ced80a92e45fa1855da7cf99309852c0637842a79a759e10ea57b904d" - ], - "index": "pypi", - "version": "==2.0.0" - }, - "livereload": { - "hashes": [ - "sha256:776f2f865e59fde56490a56bcc6773b6917366bce0c267c60ee8aaf1a0959869", - "sha256:ad4ac6f53b2d62bb6ce1a5e6e96f1f00976a32348afedcb4b6d68df2a1d346e4" - ], - "version": "==2.6.3" - }, - "markupsafe": { - "hashes": [ - "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003", - "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88", - "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5", - "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7", - "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a", - "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603", - "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1", - "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135", - "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247", - "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6", - "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601", - "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77", - "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02", - "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e", - "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63", - "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f", - "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980", - "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b", - "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812", - "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff", - "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96", - "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1", - "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925", - "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a", - "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6", - "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e", - "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f", - "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4", - "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f", - "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3", - "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c", - "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a", - "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417", - "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a", - "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a", - "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37", - "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452", - "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933", - "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a", - "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7" - ], - "markers": "python_version >= '3.7'", - "version": "==2.1.1" - }, - "packaging": { - "hashes": [ - "sha256:2198ec20bd4c017b8f9717e00f0c8714076fc2fd93816750ab48e2c41de2cfd3", - "sha256:957e2148ba0e1a3b282772e791ef1d8083648bc131c8ab0c1feba110ce1146c3" - ], - "markers": "python_version >= '3.7'", - "version": "==22.0" - }, - "pygments": { - "hashes": [ - "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297", - "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717" - ], - "markers": "python_version >= '3.6'", - "version": "==2.14.0" - }, - "pytz": { - "hashes": [ - "sha256:7ccfae7b4b2c067464a6733c6261673fdb8fd1be905460396b97a073e9fa683a", - "sha256:93007def75ae22f7cd991c84e02d434876818661f8df9ad5df9e950ff4e52cfd" - ], - "version": "==2022.7" - }, - "requests": { - "hashes": [ - "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", - "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" - ], - "markers": "python_version >= '3.7' and python_version < '4'", - "version": "==2.28.1" - }, - "six": { - "hashes": [ - "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", - "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.16.0" - }, - "snowballstemmer": { - "hashes": [ - "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", - "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a" - ], - "version": "==2.2.0" - }, - "sphinx": { - "hashes": [ - "sha256:060ca5c9f7ba57a08a1219e547b269fadf125ae25b06b9fa7f66768efb652d6d", - "sha256:51026de0a9ff9fc13c05d74913ad66047e104f56a129ff73e174eb5c3ee794b5" - ], - "index": "pypi", - "version": "==5.3.0" - }, - "sphinx-autobuild": { - "hashes": [ - "sha256:8fe8cbfdb75db04475232f05187c776f46f6e9e04cacf1e49ce81bdac649ccac", - "sha256:de1ca3b66e271d2b5b5140c35034c89e47f263f2cd5db302c9217065f7443f05" - ], - "index": "pypi", - "version": "==2021.3.14" - }, - "sphinx-rtd-theme": { - "hashes": [ - "sha256:31faa07d3e97c8955637fc3f1423a5ab2c44b74b8cc558a51498c202ce5cbda7", - "sha256:6146c845f1e1947b3c3dd4432c28998a1693ccc742b4f9ad7c63129f0757c103" - ], - "index": "pypi", - "version": "==1.1.1" - }, - "sphinx-sitemap": { - "hashes": [ - "sha256:3e19cff281974c00dfdc72d2d6ac71b737805dbd5666019997a4ac062a6406c0", - "sha256:94a1dab73789558e28e5ccfbc2a758194765707f9eeb06b59725a3bb244f323b" - ], - "index": "pypi", - "version": "==2.4.0" - }, - "sphinxcontrib-applehelp": { - "hashes": [ - "sha256:806111e5e962be97c29ec4c1e7fe277bfd19e9652fb1a4392105b43e01af885a", - "sha256:a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.2" - }, - "sphinxcontrib-devhelp": { - "hashes": [ - "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e", - "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.2" - }, - "sphinxcontrib-htmlhelp": { - "hashes": [ - "sha256:d412243dfb797ae3ec2b59eca0e52dac12e75a241bf0e4eb861e450d06c6ed07", - "sha256:f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2" - ], - "markers": "python_version >= '3.6'", - "version": "==2.0.0" - }, - "sphinxcontrib-jsmath": { - "hashes": [ - "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", - "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.1" - }, - "sphinxcontrib-qthelp": { - "hashes": [ - "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72", - "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6" - ], - "markers": "python_version >= '3.5'", - "version": "==1.0.3" - }, - "sphinxcontrib-serializinghtml": { - "hashes": [ - "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd", - "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952" - ], - "markers": "python_version >= '3.5'", - "version": "==1.1.5" - }, - "tornado": { - "hashes": [ - "sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca", - "sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72", - "sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23", - "sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8", - "sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b", - "sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9", - "sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13", - "sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75", - "sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac", - "sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e", - "sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b" - ], - "markers": "python_version > '2.7'", - "version": "==6.2" - }, - "urllib3": { - "hashes": [ - "sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc", - "sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.26.13" - }, - "zipp": { - "hashes": [ - "sha256:83a28fcb75844b5c0cdaf5aa4003c2d728c77e05f5aeabe8e95e56727005fbaa", - "sha256:a7a22e05929290a67401440b39690ae6563279bced5f314609d9d03798f56766" - ], - "markers": "python_version >= '3.7'", - "version": "==3.11.0" - } - }, - "develop": {} -} diff --git a/docs/_ext/edit_on_github.py b/docs/_ext/edit_on_github.py deleted file mode 100644 index f9949daa5..000000000 --- a/docs/_ext/edit_on_github.py +++ /dev/null @@ -1,28 +0,0 @@ -""" -Sphinx extension to add ReadTheDocs-style "Edit on GitHub" links to the -sidebar. -""" - -import warnings - - -def html_page_context(app, pagename, templatename, context, doctree): - if templatename != 'page.html': - return - - if not app.config.edit_on_github_project: - warnings.warn("edit_on_github_project not specified") - return - - # For sphinx_rtd_theme. - context['display_github'] = True - context['github_user'] = app.config.edit_on_github_project.split('/')[0] - context['github_version'] = app.config.edit_on_github_branch + '/' - context['github_repo'] = app.config.edit_on_github_project.split('/')[1] - context['conf_py_path'] = 'docs/' - - -def setup(app): - app.add_config_value('edit_on_github_project', 'lingui/js-lingui', True) - app.add_config_value('edit_on_github_branch', 'main', True) - app.connect('html-page-context', html_page_context) diff --git a/docs/_ext/linguidocs.py b/docs/_ext/linguidocs.py deleted file mode 100644 index c3fdb7e65..000000000 --- a/docs/_ext/linguidocs.py +++ /dev/null @@ -1,109 +0,0 @@ -""" -Lingui docs extensions - -Inspired by Django Docs -https://github.com/django/django/blob/main/docs/_ext/djangodocs.py -""" - -from docutils import nodes -from sphinx import addnodes -from sphinx.domains.std import Cmdoption -from sphinx.locale import _ -from sphinx.util.docfields import TypedField - - -class jsxmacro(nodes.Inline, nodes.TextElement): - pass - - -def visit_react_macro_html(self, node): - self.body.append('<') - - -def depart_react_macro_html(self, node): - self.body.append('>') - - -class react_component(nodes.Inline, nodes.TextElement): - pass - - -def visit_react_component_html(self, node): - self.body.append('<') - - -def depart_react_component_html(self, node): - self.body.append('>') - - -class jsmacro(nodes.Inline, nodes.TextElement): - pass - - -def visit_jsmacro_html(self, node): - pass - - -def depart_jsmacro_html(self, node): - pass - - -def parse_lingui_cli_node(env, sig, signode): - command = sig.split(' ')[0] - env.ref_context['std:program'] = command - title = "lingui %s" % sig - signode += addnodes.desc_name(title, title) - return command - - -def setup(app): - app.add_object_type( - directivename='jsxmacro', - rolename='jsxmacro', - indextemplate="pair: %s; jsxmacro", - ref_nodeclass=jsxmacro, - objname='React macro', - doc_field_types=[ - TypedField('props', label=_('Props'), - names=('prop',), - typerolename='jsxmacro', - typenames=('proptype', 'type')), - ] - ) - app.add_node(jsxmacro, - html=(visit_react_macro_html, depart_react_macro_html)) - - app.add_object_type( - directivename='component', - rolename='component', - indextemplate="pair: %s; component", - ref_nodeclass=react_component, - objname='Component', - doc_field_types=[ - TypedField('props', label=_('Props'), - names=('prop',), - typerolename='component', - typenames=('proptype', 'type')), - ] - ) - app.add_node(react_component, - html=(visit_react_component_html, depart_react_component_html)) - app.add_object_type( - directivename='jsmacro', - rolename='jsmacro', - indextemplate="pair: %s; jsmacro", - ref_nodeclass=jsmacro, - objname='JS Macro' - ) - app.add_node(jsmacro, - html=(visit_jsmacro_html, depart_jsmacro_html)) - app.add_crossref_type('config', 'conf') - app.add_crossref_type('icu', 'icu') - - app.add_object_type( - directivename="lingui-cli", - rolename="cli", - indextemplate="pair: %s; lingui-cli command", - parse_node=parse_lingui_cli_node, - ) - app.add_directive('lingui-cli-option', Cmdoption) diff --git a/docs/_ext/youtube.py b/docs/_ext/youtube.py deleted file mode 100644 index efe6901c2..000000000 --- a/docs/_ext/youtube.py +++ /dev/null @@ -1,104 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -from __future__ import division - -import re -from docutils import nodes -from docutils.parsers.rst import directives, Directive - -CONTROL_HEIGHT = 30 - -def get_size(d, key): - if key not in d: - return None - m = re.match("(\d+)(|%|px)$", d[key]) - if not m: - raise ValueError("invalid size %r" % d[key]) - return int(m.group(1)), m.group(2) or "px" - -def css(d): - return "; ".join(sorted("%s: %s" % kv for kv in d.items())) - -class youtube(nodes.General, nodes.Element): pass - -def visit_youtube_node(self, node): - aspect = node["aspect"] - width = node["width"] - height = node["height"] - - if aspect is None: - aspect = 16, 9 - - if (height is None) and (width is not None) and (width[1] == "%"): - style = { - "padding-top": "%dpx" % CONTROL_HEIGHT, - "padding-bottom": "%f%%" % (width[0] * aspect[1] / aspect[0]), - "width": "%d%s" % width, - "position": "relative", - } - self.body.append(self.starttag(node, "div", style=css(style))) - style = { - "position": "absolute", - "top": "0", - "left": "0", - "width": "100%", - "height": "100%", - "border": "0", - } - attrs = { - "src": "https://www.youtube.com/embed/%s" % node["id"], - "style": css(style), - } - self.body.append(self.starttag(node, "iframe", **attrs)) - self.body.append("") - else: - if width is None: - if height is None: - width = 560, "px" - else: - width = height[0] * aspect[0] / aspect[1], "px" - if height is None: - height = width[0] * aspect[1] / aspect[0], "px" - style = { - "width": "%d%s" % width, - "height": "%d%s" % (height[0] + CONTROL_HEIGHT, height[1]), - "border": "0", - } - attrs = { - "src": "https://www.youtube.com/embed/%s" % node["id"], - "style": css(style), - } - self.body.append(self.starttag(node, "iframe", **attrs)) - self.body.append("") - -def depart_youtube_node(self, node): - pass - -class YouTube(Directive): - has_content = True - required_arguments = 1 - optional_arguments = 0 - final_argument_whitespace = False - option_spec = { - "width": directives.unchanged, - "height": directives.unchanged, - "aspect": directives.unchanged, - } - - def run(self): - if "aspect" in self.options: - aspect = self.options.get("aspect") - m = re.match("(\d+):(\d+)", aspect) - if m is None: - raise ValueError("invalid aspect ratio %r" % aspect) - aspect = tuple(int(x) for x in m.groups()) - else: - aspect = None - width = get_size(self.options, "width") - height = get_size(self.options, "height") - return [youtube(id=self.arguments[0], aspect=aspect, width=width, height=height)] - -def setup(app): - app.add_node(youtube, html=(visit_youtube_node, depart_youtube_node)) - app.add_directive("youtube", YouTube) diff --git a/docs/_static/pitch.js b/docs/_static/pitch.js deleted file mode 100644 index a0c116088..000000000 --- a/docs/_static/pitch.js +++ /dev/null @@ -1,31 +0,0 @@ -import React from "react" - -export default function Lingui({ numUsers, name = "You" }) { - return ( -
-

Internationalization in React

- - Logo of Lingui Project - -

- Hello {name}, LinguiJS is a readable, automated, and optimized (5 kb) - internationalization for JavaScript. -

- -

- Read the documentation - for more info. -

- - {numUsers === 1 ? ( - - Only one user is using this library! - - ) : ( - - {numUsers} users are using this library! - - )} -
- ) -} diff --git a/docs/_static/pitch_keys.js b/docs/_static/pitch_keys.js deleted file mode 100644 index 11e786608..000000000 --- a/docs/_static/pitch_keys.js +++ /dev/null @@ -1,53 +0,0 @@ -import React from "react" -import { t, Trans, Plural } from "@lingui/macro" - -export default function Lingui({ numUsers, name = "You" }) { - return ( -
-

- {/* Localized messages are simply wrapped in */} - Internationalization in React -

- - {/* Element attributes are translated using t macro */} - {t`Logo - -

- {/* Variables are passed to messages in the same way as in JSX */} - - Hello {name}, LinguiJS is a readable, automated, and optimized (5 kb) - internationalization for JavaScript. - -

- - {/* React Elements inside messages works in the same way as in JSX */} -

- - Read the documentation - for more info. - -

- - {/* - Plurals are managed using ICU plural rules. - Content of one/other slots is localized using . - Nesting of i18n components is allowed. - Syntactically valid message in ICU MessageFormat is guaranteed. - */} - - Only one user is using this library! - - } - other={ - - {numUsers} users are using this library! - - } - /> -
- ) -} diff --git a/docs/_static/pitch_keys.png b/docs/_static/pitch_keys.png deleted file mode 100644 index c3cfbcc62269b09ddf311dd9b986dfb136ce93cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 365370 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�)6Y@d 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⁣mifN(MPUPVX3nY+=C*J)pvbqqkoYW|lCHkUFl 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%0Aoy2_=Ycgyjc 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 e$MnJO2j}GW(+y&ix;4lWl7N diff --git a/docs/_static/pitch_messages.js b/docs/_static/pitch_messages.js deleted file mode 100644 index 528ca1a48..000000000 --- a/docs/_static/pitch_messages.js +++ /dev/null @@ -1,52 +0,0 @@ -import React from "react" -import { Trans, Plural } from "@lingui/macro" - -export default function Lingui({ numUsers, name = "You" }) { - return ( - - ) -} diff --git a/docs/_static/pitch_messages.png b/docs/_static/pitch_messages.png deleted file mode 100644 index 5a2f1a08eb018019d1afbe02264d4a6e3ea8988f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 349644 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

cBmK+am2JQp&=lyqg0c+CSt$mv5_cQL}7_V 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�xNzlN{mriI!9b!}(Nw8pCN<+(E z+eXj3fk4P9$s=E-&of_j(Xs|Ux65JcZR${fNL+1Gp9qP!0S^EI!kE9yV0yAs*HA-q zBw4QXVB)z>$4zX=6c_Q2=kHk9!D;nk1tWg%vW0X7mbig!YVeli$rJ100)Z!s{nJ^8 z{Mrc5C)WK2t?I|CAU4#U0XpLDf`Y8?nR)vCMp+C#e!g~7X0pVvJQ-P=G5X~O>C)WZ z#A?t-(PUDK1He7GDL6vZ>TuXM_~(17alQt&tE!{xQ?el$zYq__Kka&R(>dzPM@|RU zd(yudz&Xy}UQL5m2L_u*;L9lE+Y^ox!DqUCh5aKxZu=dHQmNAt9}FO}7Y~Cv^}l%sNoJSd1>7{~DpB%6Jmqj^FvtQ1cj%E<4e(j;r0Tn81b-nrEW*bTaljLXe z!#R8+bhSbSI9WlQ#I>(KD38}BYz!M-xwvYcUt2CqAv#b5R*f_3?{#6WZ{&_67%Kp{ zemC!vVkPO1c*#8TOGDiv(j(}7E$$^^|KMsW`m_&0$0E3e)M>;ktiJc%6$Jj^-j0`S zn$584m0=x>d)RWUUs?FH`Rt739?JsfRORg*D=vO{ai4Ytd;UweG4%moYdS`3F9;z# z&KnNULb-Azyc2kOX_P1?JPf2Jh}&x zn)tb$d`+PvnJn@9Qa^g=mezr+LmhD~FqeT>Zd!CuZs}Fxxu8&lQAecDMf4tsq^3Zs zAxc`6=kxV(RgYOwbE{(+Lu%71#Ne|%glcYD+XL(w51B}Vv^R~`v zB#`BL90U8Lx_!fRZB@*3$S}%hmk?X+3ixcK*MY(T1nr17imE@*3dx?Q%pd^5Hle_m%UAf&BwW7gb;Yo(PFC1b~J563cS`-f8b%Gv*=o%4}Qw zNQ?Q9^eW_da{VK?_YOeaFae*sp1v zA3BSnN!3Qx8lRkl$*_)`Aj@C&Rqgwe_mN$Vv*~XgTdy85O!ZCzuc-ubs%HERM6u{c z?nal`k`_NDMH4#v8iapvyKV#QFsd@tA8cnyWTc>d>f(XF{|TFXHt>T@SArvtOrWBd+S#$b8Qs%_7+^#prlbZX zO{zn6hXDAK?rg1zYaGD9sc^25KHkYN(SWB1SMy9Z#0n=lb@*W)UUSbqgY$j+9`Uu9 z=l=IKcRM@;aA91vxSfvMEiNjbce`^hBk8%P!_n)^CUVePtB7rIz4oBx9#y*Dl{u(q z^^kVpYvBj^;v@ImPp)46{nm!Z|EB8H5AMOUmmlwU1g|;f*1|g6mYlllc&_iKM~|%Y z5xkED{FY0e{2mZC7Mx%8o6HEQiRkLiuC9iTP*x0q9Ivj*qn~nBu6yJo2U1P7oewQw zyq8~bt>AC>$3UCVZen(~k?gNF)kl}NYAI$u2j3-ut;u*7)KVJem*p6Ygj(vB0NsL) zpRm;<)5=emyEh6vo~$poF#GYa?(Vux<@ddh`+Uo#Hqm*ftzIy!9BdNghXw4IZ`aqU zmNQ^mW+w2gwKDj~9GfV_eaasIe|5{dlA9@3XH}$pha5R3oJ-jv)24`hH|@x5(>~a3 zFWhk94=I%{*7>8(#0|FR zU&?JI)7Ai7*-@RWyO#NAjIZ}PE2QU*Beew3@BFFPr!ZHN(M8Sm=jqTdV;LJO;)~eaKuBJiQNeX?`;JosS4VT(IExH&3MHJ>qdIU0Yi4AohM3Kc1p7XBT z(dLle8kab9jhHO)^U0`L2kC>Zp0P#WFk>;4s8guVPK}~ds`9G*?iu1ZrHFFbQ!Q^1r>pR<2MTSoiJP8*jy*xjo>THio{`_#~Qb1?da#TYYVai|yf; z-yQ>va_R7+;yYZl_28>;@U88Uasgi_btt0 zd3n|Df2`&!C|VvBetHtPI>pmre!Z$`dmY8RY;n&xt|dMGhof|h7IU$Waq-taA*_xxTEn4o|u_A z0ct#p4PS=%)pC+$?zj?4sz=Ln(dvBqOo!PpN*;)7=lYVjsbqxP;kPe)Spr8VwvR4t zMnH~8B+<_&0{kR9yT@xfstXiwj4$8dr3dBF?BK=5Wg^hW=S+ia&hKk17It;`f8WV= z0avVdfu0Z!{c&5QEQ?Cb$W-Uu{Y-2%=Tp3t~U#G?+AuSA?;5yC>+a+lE*;fn?*lw zEPyV`*~7O?nkly`Y?n5Myx8xoJ!r(cIDv-AK<`YNI@E0v+eZR2Uo$wcZoWqsQi)Ta zF;1(DzinaNQ5C*j>GFnc#%v?7zRsXkdcRnr;tr6^cD7A4;9ZAG(?OA)o8%U^LRtqH zniBK8Fi}YojlQ=A_^0X?4DZrHkz}c4cha2igOg23Hy5v8sP7zicpCQuQ*{$O!Z_(r z01p}_X06wkL`K9Jjy35MLvhhNa)flp`K6;OT{?&YPwxZi$kqFSfQb8ap^iThagZ-wfP=>Pcye&c(I2|jj|4E{qp-cM~upLYI1KGZUBMT-}&^s!A zMPCtbxl!(X+TZYUB*%(zM>g*WM$6M6Ld9@L3bN26u{!T1TBRy>Z`A@Q=>i*q5k zRU@h(fVN)iDVFtg>AM(z*GE#)TAOpbp9rh~y%)z@`vJaXKFuM?lM}(@Q9mSzJ86Ed zsn`;ZJNP5v5~D6U$T`}ftvJGV{kbjkCRDWVg0_#7#|>YA52$3ce6g zgicUGCdJ5Y7Lwm$=|k%xgxuJI;YX<6mV1G6GHDlQycW6u)J4+0N^?g6g4n!hkLJHl z7s-6#r_8a~pODfPFV~#?^W82LLPXlJ zD%e9NKl>m;s4-;Ez2Gf9rQ*eu@AM9s)*3VB_Xlq%7K*F+`NsX;PMS6#7g&yvtNt;} z3~Q6GQBAA$sf;Tk&(C@Bm`r*U=qUiQdxedmEaVo&&O(nH+=S(x)ha;$*V+F3Hp&?% z{fZRQ_F+UKmMA})-%LV%otdJ`@wjwGlxSwj<`LTJGFh&hnXP{R*32@%7H)|F`~VY2 z=Ym_a05>>IKWC2;w2XQj7EBFK_&u;$z#urb(^l{#Mp~dunEO@Dq%DDkuJ!*);#j7P+gXUp=xojjE}UKLo|X0BvKNXCb-(>Oz5(U+JPf z%|E@_NYz%E#0<3H@qS?1!Zxb>P=xN3F^CMy`br2l#R?qhQfo0n`6IG`It}8t=hwtN z(Ad9tPt??c3_P1n5-?joyaGK-{eh!`05ZU40H)`|PZ?0A%xiYIis!Wy!(vvl90MmMp z;qi4b;Es96qvYla^B&RvY7c~5G`3CJT8xhKi!*_EY|bn9MCS_wmbfBf(FO8MpJl*z z?LAl}iWIvYViD2H>r&p#zeKei?k1jCkIx_vl(=nlh?AArz()K&%x6^|sC|jHyCHa6 zs!Y;owFL4~Z^5dc1N?plIqP;Wcq|jeZ*@JHRP>#01{wL2X3~KVO z5BI~Yv%`IT?iJ6!R4qe+gLgz=IHyc-0;uXGcTvaKF5Bw|_jV%9+0_PEEZc_|nUACp z*HFDEdcT0Ys))t7K*hVyFatSrZNQC1yu*ie`xm;cBkB0s0_kvcPiCeigW1P_4Y>`;03jmwseM~%cUrK(I`dC(u*1Bu2q6=$z%UJ&I_46&-ep04d zCNPWG;bTaLYI&cb1&eSN$8mdQ{C*qC=fd0&Cco7k7X=s#;AJ?tU1pU0_+<0=SALnZ zS(^LO*2Us4%UvOsU6Du~4TUBU>ge@5-oaA7yla!&G^CS{h&@HqQrqJg4?E|IMX~T~g z76>6HF}VU#u)e&p)7XsuL&jXxfsY{`G*fBx_X)&*2E8t;!RxZ=V)qR*vV%tF`0M^7 zA7s_gGFt)$j$ypRrXBNK;OMFn#2t==|fpq#Ip;_g^mNzEFAP zVjL|kNOyNcyLeh&tC-~bTA3I5%(!b$L7msYGPuZ~v?H^L2zw9(&}mg6$VvwcoVZar9@FzKjT8(aLfqfLu1?7Mf-bs0`bBXMt;s zN<)5g$^3|gK~5KgWgS?~P_ru!Z5wZ|e>;%qK-mcNu0)E-;LB3i-gpG+BTq^yl}2-Y)@MZ)Ztvu-<>_hPRwqgI+rz%x)F`7t?tb`H_G6hShw8oJ zZ6(bxCA~W6g^%X=oeA2b{4aZufXQfcFmPibZ7UFD#xs7vN8xQg*j^0yg8;`>(w}%J z(|ym_ZWQOPbITZa#iOKsfrJ7Qa4E)3d-L>aaZu?C`BHmsx{W7bC2IR3nYuuoDTc_t zYbzhe#d7fdZVj@>?Y^Ehx$g1Y$)- zD@t!QKG6V}>YjT$bE^fYFF`ytx7UqCoDy}R6o+O&1wXvi43r^kRqfR(VENYw7^r7O z;}G@lepYurlmjZ3jTkMg?S3c$tb+Q=u@|708m7G6aty^T_9)NjLR(Q%S-*P1)zzrb zJ;W|K&|ruweVZCZ_m#E7f_k&hU_l=Vdsy-fxDZm2sWbhN#3x$_=#dg!?Q#|COM)Wni1O=RSy zs%)(yV)U>4kLP~C>B@ak&;Sa1rZUtf*`JT`%2H*hzFX}Rdj9^8CCh<`&#lu@Y%t}N z+6&qXYA@p}X+3oZ^Zs)#7kREv=mH_8)-@`$L@K=NBC<|x*KvDZ02y)NoLOONO}GJ; zA`I0FrY9yf5-g@5#G<)esSIFy|J*&*zj1buj0tCHP4gfp;Pl+bErYJwwCMaX+{hq% zQ)vmV=vwfzdtzqSSd#i#7pKWr3**U-#$}v_m)U{L@55WX23rqUyoLeI!x*w}20=sg zI{2F6b})<04tpz1no)!EKIvm5_?HcpixQ20-`*Gg`Ho>o(x3g>)bIFMKoLPJJG(0f z=_A&e{U6%?i-Wh=Rt=D+6Dy+um09j)s+*d<24JhbMb#9tz#UwHcLg!hw}%xBXgb;_e7xd-=@=-R5^EWiC?o{bMsLm1DA zy5CpnxtOO-(Xu4&8zpDHv#DQL@J10TKOzE#C5*OABga`$t;0C&nLlIiXI^ z_dYpkxPLMdjB1-UxC_2G*ey+{)Szm6)hD`=?UaqC{8*hCp8b;EeS`w1v4)R)s1drq z|8pzQ2p(WF(vn%0`8g}Ith%UZ%f4y^F?Ce{Y57<`$>oLpfY9{R@W$SyUci2Oi{Cf3leM}3V_q+f5_Yd~^OhMYH% zePMxGK~F>UR(xF~7_f)DMGqGuo2YtBEAJ}uS=15v*L6)D>S%S$1HNtegFD`fLca4i z0th#C+rY+*b${}Qb#ak`Z69n4 zwcR}0>hq>n8TdHb-x(hr9VCY{L=NWTwJ=qTO6&eGNJg!|wolh9poS1J=8+D3@*MrN zv2f0L4?lt1FeDRWanv~WR|U$?$B=>-q(C&#S%wQF7FNLySo$F>G&J+Fkdr|Hz` zv&P?lZO^~1FI=&&3hL*!Q3$F)PZ)`1%dyf~lu5@kCSn+~tFu#+Y0oNJ4Eenfb@{QV zL-R&n>wpYV-sJ8!oU7wBo2IpGp!ny@34h@tCOd}p?{sIxU}{*aEfiz)&K>i$z+qyP zXSTP$YGH`p@FmOCzV7uJ?W>^e^U@FdGayszmxu2dg@f$BeWyqWuNU0(I5}GYPSz}% zzU#c+A~p1gD}(O_#kkx&BdEY|8#%y!_-@DB*bTIh%CI%+xckHo5=Rkfv!rYphp#fS)}r zEX-ryXeT6dI&|J)5K=`dLXeYQ+8lqGO;{7}P`6Xr>%*aML&S52PSroUbLO>ZQ(}kr zeQ24Bx11`g4;bOra^PdTYgcq@F&eZJQ_C!md}6Rw{YCU>QZai5j|(Cs4>)d`)C3mZ zrGF5qDgUr8=aGUww!ah?ZbnCdjuhm#^GK6J%ySZZ)AWy@S@cPqVM3O?3eX<&z$6Z; zi-5#mQatU@YifUy)Z~;@bHZh(_uA*v*U3jEYsnkE#hB{$i^a_4Q2aPL>46}V_M2Uf zvPf1pA*GXBcE45lmm~oK0*yjmz-;~0Dd>hKGZ=X|F>?jeKI?dRJ54sb>bL;EWHi*$CT5?nSsskIL&kw|FWb5$#Rt5> zIUz5nAZP+PBuVT6My90a7>O3%3_Wc6EVNsl6%JjC?3UO261}998sZ$0>46s7Bkhar zt*y2>?>z_Ki%8d*tJ+A-XqrBAYRJ;>P~$Q1 z1&k}M4$gG7ys*fyv$U(&BgB(S}K|uYNQ%vX35RoTTiwvQ#V+ z+Q=(0u|b%ddwB4EA+dZy)BJOIckB_JS|vt;+05FkJ#i{{?^_Su>`Mvx~|i{7LWI)ZT2xG_;r7=rvFw8SdY0o z1Moy_mDTT^*DY7XnO4=&t;PM4a1ymQ$!NSLEF6@6>}bFja5 zB5ZM@xa%aEchtRL=YeM&c(>!HXGv3|c{sXOgJvXRS-yRLED7!s#YPRc}>E1`2~z0)laZ&U^bq6L@5O#*v(uv2r!9 z2YL|eA1P;_Nq?JXBq5w2FdguNe2?}d_MA+j@VJk|_bP16)jK9Hboic2}(F^Jzz91p(X2afIt$y9Xcy1ag(HwabHd-Nmg z_i@P@0jW%H%(@>Kt*(vR1Un(6U1JssPZcAR8a0j)S%Zl*eLFdCwTIdK=AY-~V`b;y z8d1%DHAsj!**A_Hv*j{}ax4eYe;tYN{p7BK@kg>%{E@_yp%kB`-fg}DG?m=;W)t+; z%MbGrQw%;DZ92fo>sQNneSiGnjSmfy^<15tRnawcp0N^GojD-~e)&sYWgL#(^~)S@ z=b8{Wy(@V$t?z1OF3Y(-y_@lht>T4NEZP%=v}R~yC@ZQq2KZlkKP|!wsFN-z56TJK z=Cfh@D2}k<9@W!9HGMyl%tN9|47lSJ<74BSqbD$CF3PpHnYO2%F5dxr&ra+-8e2Ad zJfz)z`=N2Jr4q?9pQPYBVoa}Jg3ndGX0Q6(y!SLqYNeeZvGYwqL$tQUZkEBep>If* zA4#-|+lqD&%e675#nqq>XYf@OB{=8RaJR!KypD>_RpTVUOQ;w}fa>tu&DDJ3LxF_p zSaG$^@7GR5jpjH+n4od^ke2V)!wtY3OYB~k}+vr~dOY=>mFre*rX zZ<6J8@`2~bh#Ohq%QDWv~av;WX$gg z{m+iV8QRVu7Uh1y<^or;<023E<1kFWDMJqu1&(aKc=*Qu`?FI7pe2xGJ8zJU(?W<( zrHDA21m7km0|N%taI%*{fx`@+R%9hZF{}^P-HJ=F)Ru#Z2mOGZGqHQfd+APsozk&e zK4tKQM))^3wn&h@smt3rZ-{OI1&?&AT+(zgJd_qOmQ+o$*|TE-HTorto}FZyLs5y{ zesH^Vry2G~hLHD=!egjB;L?8V^z(!lkqfG{ZRuAshwW!KAF`{n0$J0dhLw0OpjiFH z93m2|WahXZ&PlGn7$4bw@$wZ3d8-)foe{r(&(J^uI;X#Wxzo+0sg(ewS{W_7vr_ZJ zI*$wDH>l(3_Y>AhOGF0q&@aJZ_pvI-Y7GnD=%uB`pKdp&rj%=z<^>7&D(xjWMl@Bl!J)6m?K6d`Qz2=s)H*Prts5|^@;Eb}>BsEBo14n%VL+DB-9nI&vFOJ z%d88TyBN%68Aj=1%hAdYO%fTu-LKAWmEtSg({3vdduv<0W_g~1BiIYw%No8kyU2S{ z=-ldWMsV=P3Cyj2HqbJJ&n0!_RXP%m3Mk*Zke5?Og^uklGSbmxQGMF5?4}M zsP_U#X|hyZRRA(1MudvoNUy(~=fuXLH)FM)6hIgy=bj?$i@9Ao<>Ur|9I|Tz4GA9; z-y&~3W^1)OoMI2d%901ZWnc^Wuo&^D-<$e{0^+hZE?1IAaG!oJHYJV3#i90g*7@Gd zBmXgTo#HVoi*I%oINqta@dH5{ih{hS6$oGZXZDK4ybTwa(?K^0HgtEgr$Y~&x6%gL zol-a`ncTA>TEbs~?G$b_$wd18$l}+K5a%ji`S{2mm&ilZX(?BE z*R|Q;hMXg7d@agfR)44QRM#LNZy-U^$u|h>usAgA!;6%r-9^nj#Mi z^TBhW;|ugE%U!vkbsrJ9Jm84xis`G7k+wB(A(V}z^Tw`L6BDo+a4@afTeuocr` zkdwoZb_)D*4xSr#K;lCPwyP&K9N-Rd@FwsG4tUB1Y9o{@t;Y)^MOtW-`p$j}yu#Vw z4ol*o9P2ovj0+ATe7OMtU2BoX!!`G&3u>_6hy~!$Vb(SuZ(M>gM^537);v^Xzi;uJ zov$Atg_u$E%f2T(G9T+tuwveF+t!mxUL)&ldyBM40idzAchwAS58VhxMM-)ho46JX z{S&v(Dt;2Xbo%1rp*ea%5 z1YheITcP+pgD&4r_A%3Cg5?lvgz*rYA{&TX5^;asiKNf;WdvjSvha9EeW>OZ^}-O( zvYzSIbDm^*>uCTPbZf@r$P>K3Q*T(?YlV>X=o%^^UXP^-E#G^aP*S;VmO(wpO3w6r2JMW z_E6Yk?k=7w;Q2hg@!YSS=7v@qdoDSCMn=Yj#D9z#L11qBEaw2QUcyShSM^(~^}WFX zf5n}+H`oUwkS?A6fhg(p6b9s;v0LTkOORDo&C?72fVFqj&6zrQfel2ZxRt)@`W%Oi zR;_fgbDdTP&IXcPXkOacO=K&tt!= zGg7#-e2&haJKjuw+5aPUUb~qo(`VW@MNJd$g>Wt2ev(-H^>tCqkl6V4%|ijTk7>5A zLmGD;cnaaWPN%O)kj{rky)?jybf>{s5ZUNIHU2|XQ>jzyg&B-nau5bWjp&{pf2k*Z z-oU-UQ`N=CCmd}BN04-^2mj7yI@o+t8e-9l&f#!yVy_UO{Alg1b1Q|Kqlo*kzDDVc zC5SNHs*l{!TqY5Nf{2w9?p-~hG8)zudAUHyEG)P#|5_*?YH{c2GwdK`^%KOMfVZq` zt&c6}&yj*6L+IMUC8pTB0ui0InvV!$Ig)3#yN_@95hujI41Xk++R(5Li#40*V;eOP zky$N|GdM?ie!e|;$4PBvk@d$s0ncriRsZy9fet&_Jg13wyex-Fjbc=_gI*;DpMUw| z!#ysemoSgHlsKi$b6;I;I91pPDj+g|b7MmJFoadM1@l0cd~gCXSa9esm7Wq(7>Y&i zVBjiMJSl=V!(9cFSE=$P#TQPmc9i)ckaVMWp`k|uOx5N@87=m*&2iD2ga9B|2qyF|^~GCm<(`sugW|KNOyyajiQWKbmb(R1;aKZtta+X5n&2FaW-l z>BB$fSaN*ViF;{Qcyb6Nvv<2`+;R>f(61^tuVk!;9y`f+H!Le7pU)nAWM3st?5%3- zuj7hME0M4j^3{FCAtmc8H>K`l5>A8vi&lxAT1z6bE79)b{?hA+BGKS>3xdj1FBv^y z;tB^Pj@0T=`e6JCz)FZ83Vgk4tn9=GGAap32m)8hA!SBe59~ctVmwH?c?w;xEpku7 zYX~UGSq~Hyej+Y#2m15=MrYINW;9miG9{SGLl421ef6~FJ59V@k(O#BM;J)D+N>-d zr(cNf8>;=3GS`4zKQ5=ten!DBB{eOOjp$`k#GKETcR$kS$xtYSHO;2>ixp3Jr(@QM z7fY+WWQP=cIsR?-uXZLMzp6<{8l!tVFgnr-YTZD%ZPZ{}nhwLr=55M%s8bZ`!V$@@ z|IGmu1%uXSU%RNx3`Q8_Gte|NT6&7pT5ut_@9Gw4(r>F3M4nbIUR`EOc=e@+HUu|= z(Aa33FC1=z=ouNs!~a9-0NHsW|CDmykvQZtMYHiJs-N5u9Eha7N3L_Le{Gu0!UJbe zPEAU}&vMRTw|V7hGuHY_4utls+t_{OL?NF^o2f@TCUSffnmssV zQja;iwWNJqRRzU2Nv+%08#`bzd%pfnJ*OzXM|HM&Gq-C))o#OV@5PlYXU%3BZ^a?{ z*qnC$H!i&*Kjtru`_Ef(UNU*bGdcUf>Dd*2=MS}_Qf}MZdGYsyZ-|l_rJ2N8Jdjq8 z!Wl6y7k$aw3-HTdEvYfDy<_J3)wY{fQSRoh>d8aiVRRL{aV1%1#S#y5=v@(=7Fo2I zh*%IR3U2u*-G5+hVEMp+eB>)iz%+cMNAA<}6^T6*XUijt&u%8a)_Y?6OLCgS=VDYu zGo8itVSfRn2KqmwhQ^Og&ojUU(@<1OHD{WHgiks$7h12Yx(P*QEL!A3ui9fcW?3#9 z*hTGN-blqOhKn5o9Lgdd#+DrhZcB0k2f=moq6cC|BE4YCs;ko||6mfdI<%B|FCror zHTt?+QfCs|>F%#1}zzZ`SZ-vsEipaN%n_$DrkMrl-KVWmQ_u6~SbXUK>OYTBKG4fxiDKS4l<%TVglH^a@V8}?UjnqIsxisDDSjfhW z6D;fRK01Zpay=A3bm=##YjJdbJg_E3fme8Iw&#GVqVxtCS?I-s2JrBOkcDR3f{7wd zLVmh$u_WDJV$8cNv<69QJn#*cG+B1zo{cc>tF_of`$0x`e4rxgoI=U-Oog=0ZY|5` zl7yT_@Xl@g>VkKS_jRm@ABW?-6fH}~-KJ zjuLG#p45EZ4*gIZKPynA*7$X^?4#=DPDlO(-Qht882~QmNjE$1_HU~_a0W0eQp=|8 zgOPrp4HuFUvY<@uxjvA{OM7?i)0ubb?w6s(W47#B8-Oo$^U(B6&}EppJO|Xyr{dC} za|gGnI07N5XYK%sA35+&P*AXu`M>K>x97%uCJ4g>V9CFaRN|07_2AFz z!0*uizWSdRg3LAi|8`K(|9jAXbgusf>i>@E{|%}CNqPTYXH=>HRNw6xe#F?bs_zFZonZMGuZAa%3nwxu(v zT6vhhowDr`Mv1Srk|jI@2nB3|#*$s*Zt-LzSKIcrec{PVlY$x1DBN0!spsJJTBg<3 zi`V=QX$U+>+Wx4(f_~~#O_K9l|4}XxDx8Fl7i8cA)Y?XSO$BU-<~X}G zGI-^tyDj9VZ`K7CJXgB+TW>n|`gb@)1OGGf%9>g{^y=l##)71`gKaJ5EHKhxZN9j0`7 z1_MwZKmsWAcrc}jGq#%R8|oA=Ob^Tv`Jcxvb>}jsdvB$Of*&=; zpH@oLuGvw)3_(3XNHH^cj&1-;YY?@2U6Evu+AK2?+?=Gvo|T*m>Xn@$n^c_j2laL{ zm{LqHJo~`h?^EMJKxZtzyV)n4rJPjGwy7<`u1#!CFq(@XTFL;u^@ykGn!nm?S@ zonbxV)wVwB8A6JiHhSL(d^UEhcX>6+2AgOLZ#5L{O zqhMuSso;3@nmKsFx>LkrwpA>NXe4ZLX!X&Ft4m%gT8kr_cYEh&z}xCDiJE^Asq5m& zoE}SHd^i<-8@P7JL`4Vjd_;hso^2;EQna+$d%gNN8@t|fwB4EgdldE&>n!ykQ5wz5 zkP(dU0Qdn39yz~KkeNP+Wm3y@A9d~D3+8Xw_!oBGrl#5`aFgeX?CcULG@5H44oH^_ z^hx4@o>6mmB>_;He{M`sDJ!}?sEAKnMdbEkH`L4I z53HE`n}4p_NFc}GCRn~++8;IP-Oa&H*{o;U9ZoIg$^+3=YjX_e0TJ5SU>`&85GZ16#71pz0_M|j5NejGv>2w0Rso@k- zQ*5+q_v)vK=126a-o|U$@^Y2n-=RxuY(yrz>Z%|3&tEgD@{n)i2?NdO0d;P6$8Fms zlwxRZ719x*8pg$mn2GQ)&N#{NvilB2KB&PdA4$0*D(FWH^J5%JQ!tB6F=7I&56^g} z*OOAp+)*9XV6t(Ne*^T|x&d(F;~AMr9ui(4{szq!Jhqgo)0!E~W$WDA#OT-=i!StM zn0yiyIl?;r$QOA4Ct(ZMA-xhg_7~4th)}JHxH>wFWu*DM+Qb zY{H2@2aD7wKHa!p%~`f$_C7uq*`d*nt42CB)Zh*(Ny+VmR)_lL1UX#ND7Ykz*vi^+ zO=ApPjh}W{%7v;6uWjmmytl*!84**154pIBy5F#4o6Rws_fQ`Oq=Gk}&kM^5|4lM@ zJbxVrjbFh;2kq#=yA#Lv@c9qjJ+=x$UQz+pu>Z-KA1tB%yT{&T)X4gEcUP_=YDD{T zEv*SJc!7Na)hm3bTF)?6`Gt{V?aSW0ekt9`^CfR_40qo+eapOuS7cQyekRT=X0@l3 zvL07|Bq8g!ZHMaQSvzJP4`|RY_P%^iIPM%dGx;@wm?=n&;2=i+Io`xikJ$de@oIxA zMb+G@PzTveavUm+Mp#@XbNEt_aT1Ex`O~cJGd4_rS03&8k%xhrCKOvQD@Ur*57Nn@ zGW1ySasKL?;S#}~&Nigv*U`(bliRTSHr*`s74hY{KhHvgu$)x8##eM}3TK*`#!(-h zC(L15DbJW{j@MYcdZ;Tifgi+g>%R_^k0BM`A)Q-ALIQ+#dJR?BvugSsWI2VoX$I$S z@O)6VJm#3*p^*leLLKZB(0he;Xbh8h=!`AxDldw+?-Gii;n#YP$~}C7c$AbLFFZ)f z-tcy><}?VDV(syJ75#Q&{2sFZ&SN1DKHUi~8%kcp9Vf={DN-teJB z3n!2u6Llj^*5k8818k(kXP}`9{18O*-PAcn;$?5Gqz0}l#%gJn?`iypeJgs^LbTS^ zD#pPMR6k1t3((2NSy7|EPfZhtDt`EqX`((=a?|f4*D*pm#7L#7Vgq-7N(|p?qtKeA zs|i{p4>M0pC@qF|6H~urCC`GoY~PHy{&?qCV##H_$JDZ)bjjs&^_sAS!J}WhH@v42 z8nX2+)TIp=g+e_g;p+)skA4n8Ec(^IMw;_IbhHt~Fur$u+~TjrM`)k663GZwdJ;Ck zx*^a7Cc1NmbSt;e?Sy=f+}tWDkRlh?CMKH{^ivWPyPQr~ke>8xFxl^vu&I1XI_zIP zCXf*80Qrg#bd(dDi)Z#7oCX><7Qjfza4>s3EIZ!!7%^WUEX}vq=%@m0`Qeeefb)l= z4iTd06!EL<2~I3aC>xhdXf(8dvUN>b?*F521*6JA6sB~x|FI9;7kFk)_;(X`uXVJA zwB0Fv-w9&)Vlct+%%sRD?<;=7@7;e=YT8Vl|17cvCH4A!h7m5!+;Yr(FBMV={^=f& zqkTcda)Vt`EQOs9Oyw_n`RGSBsk5=-?ZPN3ibyhNSn1&_5+PJl>G}beOf#!Gv7ov# zm~U=Ot)EqIJY@Kek&TkZFvptMvhoYaT4M3qC4}!R1Xxoa>&+0=pqeI~mA?-j%Sv-Q zS}w@;C&=_iFR`JaEb&ID!f`7joagNZqoohp$zpg z*5~g{-eBX6W247WcO$;8H6G^)bDxN7DV&?*TDQB1vTkgh@Z9^P%#&)nUm$YZwrOe@ z6VnE2ov^w@hcA46+k{!qlo=@GI1mn>e=J=Aw2dQwsH|Wm45-rX666*dLH7{rZeI!EC6m16fEu>6PvJ0(k*d@2sn2m zO>}Dd!-_`$+cq;aS`IdAfvWpZ(x7cSMbFScPS!?XjW`Kg9@{7^5w~L*K5Tjl0#zXV z@d&T$J#v0&5P)GF0jAA`O7(ceJ;o)M6QIi$P>whnHn1$FN34xVNi$$0PSZO(!*bG% zCmwkc_91PCmtKN050$2}LUxpiBz^)X2C)GWd0X!|jTgfr)!%csKgYUdWkQokn6L6> zYXoD87b^C&aB1$TzJ!L3{cL%98jA&PX?m(If^&1_9_qP9c%O4_6PsIX{#wO$1@_MV zo`&W-o`vN*10mHwn9M5$OLt{}-P``d)^=fkK>p^pY86$l-_b{JS1yy?Q?xB`0ml(g z4`rsWT_l%F?8k9?NMOMm0)(N${+kl84t10sK60}TWo46APWxt7UVzBWBG zD6kvy{jm^D{a@y2dZgo;NTAGx3Y>VZ3Hyts6*SryPs=lj#CjVNIli3 z1LhnB9*-%DCPqNn4z`aczHwiV*e?VRD_d~%6j61I3==saLIF-4S2;LK#%8dae8_fP zhT--(4umcKYfuJl4jSu?B|}NihO@^>a=fkK-F~74PK)rp&sROBK&RY3jNqR8vx`Vg}RFq zW%SJ8!UiE>VH>{A$R?7K=UxZaVo?hMME$7oSZwdrZZDZKBRkk*C(6 z!9`d##C%%XAV@cLiuwDGSZG~`W06^bES*Yi)?#nN#31sl#NNXlG`kiA@+hq^=rpCQKc266ZCoa)}(fy z&qJ*D2q3^p#`&Gcu5Ti>HPhaum5bQ8Vw!iKganY(Y*_EOoiRGVGtnVCU4|-_&HD!a zwq$55uVz}c-nHdsL4l!DY-I$b@9D=hbkOfrh(N5WJ;rsoTKk4aYPx>I@ z>6Nz1mk08v$B@mLiZ_i-yHynOr%X8s{qe|1y`dSpZ}U?SK~Gf&AoP-P-977p!>YR9 z6Q0{RMnNe`fEkL6ab(j$}qbUocVa41=a$)t+Rf{kJPT8dTDW2;C8odmyh@u^{RwvnF zEC$@+Oqu;jsrM*#-R1uNaEZ2sONZWDaf9|T)!TvuQAtE+j%dyedf(CV6uGueG=M}j zZJDqG6h=ZP9J`m{YXR?+A27DOXJJsg9E|+RxQZuXy4oi;X6x8eFZxuU;W-XA*+$XL zTKq0P+j$4pV+l-S9v36;>QaHnz!@%AF2LNxs?VADUjxtJj>_D&@Lrb$bVi z=rE$%BM6rtBon7vZ?i-)>Du6uR!At_2)gW}>|nZJq!u+cLFuW|q=SnQW}!dsg_@FX z;Bocy(FYAH7vHqqD(`KUbvt&p<yxICZyp?R#etu1<-P>xj$EWe;uG7ls!*j>r$J7%M2lxnsyxzDwdt~pZY zINTCLywy&_-DWb&f7%RUWUF<(+#Nr3@%2Od!B(2SNk*QrN#I(eO%B=DpF;r>VQg{C?OoJ7dDH zP)k>Y4R~8FhhB*haGiAmkFjGyDf}5xp4$v+N?+ven^x>y|HFgiJ1MP5CHM2v=#rJ! zIz>SR2=%{{oM$Tozplx>lK!cukBrp44OYKF%mqGckv@-75d3COAWqrTz4;*@B-kSn!n6XZA&*S0gCqAC#0^s_b>BhRj!_vhz&lm zoo04@P{aU|^DJL`C6%55+a zd0q0Yz(fr-xm9I{oc@-)!R9vCwCKX)1n_&H*nrU7~OB($ILZv*&&OtY` zu{2>$UsK`>_`@vC39n1@+%h&pNCt%k0wdJ&q+$`yVs+8<~e+Ik)vo?%~oKp z)a%*-r&%@!;!3KD$o+Vb*2`Y*8LPr{;fe=erRH+qb1?bz@@GNK{x&}7^rE1CuzN#U z1y0?mhV5h{PSKD*v;6J2rtnIy&{P>6Z-=(S8Y=KhhnMd{E^MeZ?|PJ->Mps&KQaLu z(DNwimCFtG!^+eKW5c-W2i=qV9yiOuytvv-=a!(swy%LNbn3jLtua26PS65@Dd^^Y zD(;WMc=qydAu5#0So2|~e~<~yHoh80k|K(mt;!2Fe3&lXh1Ii-fm{nPtj0lR-ixbA z`1e>dv6btr?{P7pM|}a_ytnBhx<1zW0zKJb|(}#b~}7eJyG58&Lb; z{5nLXdoa}WW7S?1vWXHmw^sTAF?=o_vCht6S^BANE($hiTjpTs#jiV1YrDA1$`nW- zlA8{8=sgQM6-d1#6J0CaA~CK6g_srjcX&QY7y&Prlv1l z6G*cTBa2cUdSM!gVvu*)a7i>Tl*s))kWFt{!R;Av+!*F20>AQRteO2aj)BeFp*S+Z zov|!w(Z2S*X7QM9H3!xCuOstj3pZh2!xav^VZe^6ug-BYCY8=ww#;utL#vA_-mVN+ zvA3_6AUe=Kmx>L{Aez67+Y(bLfpA7Lk_`s2KT^BWHmXU_kj8&}#)2XjvkOgJ7LMg33Z%|!j*4N|!O zZ0zycnt$R%P!JXSFPvG3D5!Y}`oIhgSLj)N9Iy>M|3(w|<%jlnIzq)c=U;c=|06j( z{QUg4H*!)t3|W2UXU?U=tw=_~mPT~*dh zybIQUQ7^L42haK76B`)(j5v$m-+VC>*P1E={F{URFfo6-)l@=6_tp8|?ok@;?($c< znLD8GLtfWEb!5p>i<;F}eO=MNk`r4MrxutymEq4aX{FYFcR@^?7uR3y)>67ia$zs;yXkZY zukrhFE}k$9LI0Yj!M8Ep$2+vRa7WeXm`UJL>TU3IrpPQRAnV_3^7;YcCeLY8R=M+l zRyOu1lWJdw#xqtX-swUrV(zqsmpshx?W8g`e(D`jsLH|@adDlS)?ZPQf#-%vF(SRR zFr^%0YTc>-=BI6moso&1C^p3Vt5FXvmQ57Ix+c#$GFN~`UGCZ0XeFDejXQ!5#7lPMm zcM3NT$FHJeFxf+a{LH?wN?}&w&F500hK8QlwoYTHpS6qGL<-l?CkrqXOBM0PyyE5p zE0fe<^ytSba4&el70tzp^EUqSm_;DGaTV&Nlm^p>B8{f;#zvCnr<={YO}9kx0gt&U zQa7?3v0P)sn2DiTQr^ZW+02?y@8-_IcbOMIr z=UfRW$D%n?$$?0+ra>1e7Nn)@n`H*3mkooNTN5u#Z2(urN&2wXbkQJZWo)xgz}|nz zQI(0VnP)cNVtLeOPst;akX7q*JyGN1KU)_`83}`OZ3U&;#GSR?l(Ip^Z9R7(*<;voj^CJcHT6`L^Rx zVOK*~45s`YZ-=*4QVPF#rd6Zp)e|q5g1~uvtkFY@mOK+TszRPMRvCyPY`z`^?Xhf# zQ!6q3Rw>IWZQMGYLV?Sq|32L0Y|P7$#v%qWHMI5H7w&@+enDrj9`T)3=l&TK8Ya#d7D7UGrE79`8F0Rp~;v_WgUX7jaZC3G` z&RweZ&f*44kApSFnQnFzqELqRyY}51H+h=e3ChsZ$I1hpmwl}`9sYO$lyj}3z2~Fu z%UeeL&qG`GZt-7}bdXHtRhh}=OB|^v@sc!;?S5vK?rmWy{~Cck(SX14%j4xJf|QS* zE7?fN5IyJ4R2cf$t*E%z>1lIIQ}AZx-&!b082(Iu%eRPbL1_d5Ty|^`14~98kwcFY zC2`@!pZgH_FMe4=KL-_^KYT&gK3Q^izVOghP12mZbhtJ($4vZPjOw?{OPa2?V#kkm zA}nO@9R|<3^7lqB9fsE_lm{^I?EHj2sTZ*#oYsXEU)4~v0 zxd%M47Q~fAO_ork92r9zcAdVK+hqu5ZoHQ9ws%@Jd=Bsx_fjpKaj!bJ(@||(+2=-l zi}FeL6i*+kBq|^GQE@~g3^Uk}XWBHI)3)9(pz39c;s$B=gSaHTiDaUK>iE|nteG(7 z4KxFrMfFdJ!7Tg7i-!9jzNk^{qsw2qr3(+^4+IEr>{E`Y;MYy4NAw5cRIh>j3Y3LApkOmgAxSRSQZwjTvZA3 zZ$4uMFmVDWFhbW_h-j|4fUq?ib;zD*fnk%8wN&Q}YG?^^s9q~J9;lX{U|tuo*b-%A zJ`=l)Bpe{fw_kAoK{b2KN15A!WsJ|vd4Jf`e9s6hc`3VYddAzRI}()H2vy06r5GkE zQnMYY_~V(cVzyPQ)MVD~cmp*rxlQ|jhs?qyl&=wwYj)f&V=G~E9sEpJh?rm+=O$5P zZXTZWs1+JR<}1X0So>*xke!F0$%%p6rv_@FR-RFNNW$Pg9(H2wPVH*o^K`Z{!n6z# zRdWocz>4~LAm^y|l3SSzinpX7K2hidIkjLdf**_!xMCD6H0&!mqTESw z0aUT1gmV+_r%^GQ^~|ZMGi~Hc-mj*l(-XhE;o$!Li@mYr#e6* zARYoA)ourhxV)=6oKjMMU=Ws%gUsh35LM|Dl`HC&h;QT}rh?r`1rt2nRI{BF9pH39 zo?$nq^9IU9j&1((G{D#23Ajc<2g6S+OjzqC5su^iZ*MDr{{#I zdah~OHznk43kk~FvrMLXvIlRelzwKHFXpjG7pt@j8YjJo1*3@!-vd;XXJsZ5Cnn+d z>^fkyv+NFn3x=wpdp>Gj%WHv#iC1nUSds|6{%-&ET2L7s!PfKW`q4~5ZR{GA@W12; z3YZ{Hi@3=GQMs^e$F6*XYO?ST#aGziH-`$ZO{7%B2|}9Qk&zPY?P-mQ5~&->Y%h&s z!n(Gvd2lcpTFB#TYepKJjQTWwScn;BVp|{g+M2UiEeVKj!QkJto}BJNY65{hGVyn1 z9A$9Hpy^AL@L6_YUyz?pfj0i|P^X{J;MT##FumV$RL^w3;&_(KD z4a{+Dk+Ggi09-gsUHw^}7v|N+e9CrE2gkLTPN0HhZP>rcrd_eW;2qpNyW@c-F6{4u z`!~b*fRUWIyIqd+-xFXjxP*VD(R07Up;x6Mm!UM?<0MjXt6mfHi3De-<33@Y*8gTQ z$GKkp{3!1&9+`s55XsE*jSF0mD&GzqGe#(`HL<74s~2!&8~E&ws}CIc*)wY>^@+v_tvRtU{5L6SjTZ-nS-qF1x@1EbQ*gfu^3x`B4dz%Gb{X?Y)7d3ycyPtB-S$9 z2RG-&Ye?98_;uhh8uLQQCP?(CPEqqNknYB5z3sgIpa^lr0XTV(p0hU1c9Sx3f5WF( z`5fMoKUDt5r|D+u%ckx}$UaE_A+x;MBSFTWrWcS0&&g}P&fR_~4g1${BlA>w{A*2B zyCPZVT5~hcyv|F9=Ra|i7a*#fyM3)gyj3unYc8wm z+je|r4D#|9zuAr=JMxo#>bg1S(XigPh4lpMzO05+*xwZ<0u)gJN4o@ zmI23~Mp=T_1F||zcf3-jU)GjN)Vt#!|jBt5DCq(|IY1k`9m9Z4pHBn7JB zz-E=p?sIR8h!6|vhfZx^jZ36r+nfNXTRth>JdG!JztBZV(BuMMXPG%*hpvO1pO9)* zrf>MhHtDb@4;izOTG-qV)WzCTcsm0OMimziVX<@ni`s~3cD#B1Ej8KweU*GkJbF1U zJ+%5hlw)Ma%MWR#sqNP8X0a}C5;`D5OCcAqgZmLM^ZJ$5D1ge}#=yq*RDsrar4C=Z z4>d(_6Y0+UjQn(DU9FOWG#0C zB;-e0{;TI8)K!s%-or$Z?z6GlpgimE*-2V>n30_^DrJJG(SV&2I|pn#12P2pzUAxk zY-1&pEU7iOyIL0lLmTJor09xnD|W6=9P}RBzh6!!CW_`-r+j?#x~lg5tNSy*ojB<; zx$K8)3Q2?qq~`ks!&i`H7~^X7mdd7kSiuej)Ja8SDpL6&c!P>8zn69eM1 z`*Q3B6ZPCwq8$M=P#mv<60x(JX?E72A4$lDR5(HshyaR(W<9U?!rf``40>Cv3ELx8 zwjN-y>?9S-&g$%1(Mat$CAH@$m}Xt6bUIJQq~b(mb^oHnT9>^6sTlzFoT_`rT3uU7 znnky7I@F|l?JQaONQh~romQvKa#VbU`wO_=O(P4|Ggm8frZ4o`x6v8;yq4<;jsY6c zc4V`nYPD4#=UO%++*+vDi2+CjRO_L|%iE>f{lmL?nms%;y16oN=29vP6?8wvK?^8w z!_T>m<;P)hWLBd-SaO?xCIV}97eHS3zewsW7E)WwVjrsPWYkXnNj7%O0k9B%bABAbbgWnZ*t)(k`&6#2XKCdKga3T% zjI26!=sfLRCz6<}e0bq-w!u@t4fiXb-)7dT$)F8()IqDRLcg;mSlOo`PahUBSFGr( z`z))peB#W_D`6e_fk7W){{TC>WVvZ`{Z9PE>L>){D7iW|P+_Cb$Z#5|TNwc^{UG-h zWS1v3eF1EGsj2R&H<+@Jc2}`y!{JBI+l-{*tt|_)IaATnoq5RApW%6xJR&Kq=hMt< z0=_HXZGGHxF7>S5sceE+sA?#Hbztμ1(O22q;}Fqvr)hWg9zGV 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

-

- {/* Localized messages are simply wrapped in */} - Internationalization in React -

- - {/* Element attributes are translated using t macro */} - {t`Logo - -

- {/* Variables are passed to messages in the same way as in JSX */} - - Hello {name}, LinguiJS is a readable, automated, and optimized (5 kb) - internationalization for JavaScript. - -

- -

- {/* Also React Elements inside messages works in the same way as in JSX */} - - Read the documentation - for more info. - -

- - {/* - Plurals are managed using ICU plural rules. - Content of one/other slots is localized using . - Nesting of i18n components is allowed. - Syntactically valid message in ICU MessageFormat is guaranteed. - */} - - Only one user is using this library! - - } - other={ - - {numUsers} users are using this library! - - } - /> -

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 - -{% endblock %} diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index 24469cd4f..000000000 --- a/docs/conf.py +++ /dev/null @@ -1,169 +0,0 @@ -# -*- coding: utf-8 -*- -# -# LinguiJS documentation build configuration file, created by -# sphinx-quickstart on Fri Sep 15 16:18:52 2017. -# -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -# -import sys -import sphinx_rtd_theme -from os.path import abspath, join, dirname -sys.path.append(abspath(join(dirname(__file__), "_ext"))) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -# needs_sphinx = '1.0' - -primary_domain = 'js' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'linguidocs', - 'edit_on_github', - 'youtube', - 'sphinx_sitemap' -] - -# For sphinx_sitemap -site_url = 'https://lingui.js.org/' - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix(es) of source filenames. -# You can specify multiple suffix as a list of string: -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = 'LinguiJS' -copyright = '2018, Tomáš Ehrlich' -author = 'Tomáš Ehrlich' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '' -# The full version, including alpha/beta/rc tags. -release = '' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# -# This is also used if you do content translation via gettext catalogs. -# Usually you set "language" from the command line for these cases. -language = None - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -# This patterns also effect to html_static_path and html_extra_path -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# If true, `todo` and `todoList` produce output, else they produce nothing. -todo_include_todos = False - - -# -- Options for HTML output ---------------------------------------------- - -html_theme = "sphinx_rtd_theme" -html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# -# html_theme_options = {} - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Custom sidebar templates, must be a dictionary that maps document names -# to template names. -# -# This is required for the alabaster theme -# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars -html_sidebars = { - '**': [ - 'about.html', - 'navigation.html', - 'relations.html', # needs 'show_related': True theme option to display - 'searchbox.html', - 'donate.html', - ] -} - -rst_epilog = """ -.. _LinguiJS: https://github.com/lingui/js-lingui -.. _CLDR Plurals: http://cldr.unicode.org/index/cldr-spec/plural-rules -.. _CLDR Plural Rules: http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html -""" - -# -- Options for HTMLHelp output ------------------------------------------ - -# Output file base name for HTML help builder. -htmlhelp_basename = 'LinguiJSDoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - # - # 'papersize': 'letterpaper', - - # The font size ('10pt', '11pt' or '12pt'). - # - # 'pointsize': '10pt', - - # Additional stuff for the LaTeX preamble. - # - # 'preamble': '', - - # Latex figure (float) alignment - # - # 'figure_align': 'htbp', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - (master_doc, 'LinguiJS.tex', u'LinguiJS Documentation', - u'Tomáš Ehrlich', 'manual'), -] - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - (master_doc, 'LinguiJS', u'LinguiJS Documentation', - [author], 1) -] - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - (master_doc, 'LinguiJS', u'LinguiJS Documentation', - author, 'LinguiJS', 'One line description of project.', - 'Miscellaneous'), -] diff --git a/docs/guides/dynamic-loading-catalogs.rst b/docs/guides/dynamic-loading-catalogs.rst deleted file mode 100644 index fb359ff56..000000000 --- a/docs/guides/dynamic-loading-catalogs.rst +++ /dev/null @@ -1,129 +0,0 @@ -.. _dynamic-loading-catalogs: - -Jump to `final helper `_. - -*********************************** -Dynamic loading of message catalogs -*********************************** - -``I18nProvider`` doesn't assume anything about your app and it's your -responsibility to load messages based on active language. Here's an example of a basic setup -with a dynamic load of catalogs. - -Setup -===== - -.. warning:: - - You don't have to install following Babel plugins if you're using Create React App - or similar framework which already has it. - -We are using the `Dynamic Import() Proposal `_ -to ECMAScript. We need to install ``@babel/plugin-syntax-dynamic-import`` and -``babel-plugin-dynamic-import-node`` to make it work. Also, the code examples given here make use of ``@babel/plugin-proposal-class-properties`` - -.. code-block:: shell - - yarn add --dev @babel/plugin-syntax-dynamic-import babel-plugin-dynamic-import-node @babel/plugin-proposal-class-properties - -.. warning:: - - `babel-plugin-dynamic-import-node` is required when running tests in Jest. - -.. code-block:: js - - // .babelrc - { - "plugins": [ - "@babel/plugin-syntax-dynamic-import", - "@babel/plugin-proposal-class-properties" - ], - "env": { - "test": { - "plugins": [ - "dynamic-import-node" - ] - } - } - } - -Final I18n loader helper -======================== - -Here's the full source of ``i18n.ts`` logic: - -.. code-block:: jsx - - import { i18n } from '@lingui/core'; - import { en, cs } from 'make-plural/plurals' - - export const locales = { - en: "English", - cs: "Česky", - }; - export const defaultLocale = "en"; - - i18n.loadLocaleData({ - en: { plurals: en }, - cs: { plurals: cs }, - }) - - /** - * We do a dynamic import of just the catalog that we need - * @param locale any locale string - */ - export async function dynamicActivate(locale: string) { - const { messages } = await import(`./locales/${locale}/messages`) - i18n.load(locale, messages) - i18n.activate(locale) - } - - -**How should I use the dynamicActivate in our application?** - -.. code-block:: jsx - - import React, { useEffect } from 'react'; - import App from './App'; - - import { I18nProvider } from '@lingui/react'; - import { i18n } from '@lingui/core'; - import { defaultLocale, dynamicActivate } from './i18n'; - - const I18nApp = () => { - useEffect(() => { - // With this method we dynamically load the catalogs - dynamicActivate(defaultLocale) - }, []) - - return ( - - - - ) - } - - -Conclusion -========== - -Looking at the content of build dir, we see one chunk per language: - -.. code-block:: shell - - i18n-0.c433b3bd.chunk.js - i18n-1.f0cf2e3d.chunk.js - main.ab4626ef.js - -When page is loaded initially, only main bundle and bundle for the first -language are loaded: - -.. image:: ./dynamic-loading-catalogs-1.png - :alt: Requests during the first render - -After changing language in UI, the second language bundle is loaded: - -.. image:: ./dynamic-loading-catalogs-2.png - :alt: Requests during the second render - -And that's it! 🎉 diff --git a/docs/guides/excluding-build-files.rst b/docs/guides/excluding-build-files.rst deleted file mode 100644 index f420bd48e..000000000 --- a/docs/guides/excluding-build-files.rst +++ /dev/null @@ -1,32 +0,0 @@ -Excluding message catalog build files -===================================== - -:cli:`extract` command creates temporary message catalogs per each source file. Also, -:cli:`compile` command generates compiled message catalogs from source ones. All these files -can be safely ignored from VCS and linters. - -Can be safely ignored because this files must be created every time you deploy to production, so we encourage to use CI methods to automatize this process. -If you commit it you will produce conflicts, which somebody will need to solve, in this minimized and transpired (basically unreadable to human) file. -In summary, please, **compile always your catalogs** - -Replace ``locales`` in paths below with your custom :conf:`localeDir` from configuration. - -- ``locales/_build/`` -- ``locales/**/*.js`` - -Git ---- - -Add following lines to your ``.gitignore``:: - - locales/_build/ - locales/**/*.js - -ESLint ------- - -Specify which directories to lint explicitely or add following lines to your -`.eslintignore `_:: - - locales/_build/ - locales/**/*.js diff --git a/docs/guides/monorepo.rst b/docs/guides/monorepo.rst deleted file mode 100644 index 0cd007366..000000000 --- a/docs/guides/monorepo.rst +++ /dev/null @@ -1,26 +0,0 @@ -************* -Monorepo -************* - -If you're using lingui within a monorepo, you need to pass some extra options to ``lingui`` babel. -``{ rootMode: "upward" }`` is required to ``lingui`` find the correct babel config - -.. code-block:: json - - { - "catalogs": [{ - "path": "/locale/{locale}/messages", - "include": [""], - "exclude": ["**/node_modules/**"] - }], - "extractBabelOptions": { - "rootMode": "upward", - }, - "format": "po", - "locales": ["en"], - } - -In summary, we'll have: - - 1x ``babel.config.js`` within root - - 1x ``lingui.config.js`` within root - - And **n** ``lingui.config.js`` per package which extends/overrides from root diff --git a/docs/guides/optimized-components.rst b/docs/guides/optimized-components.rst deleted file mode 100644 index 2f14fab05..000000000 --- a/docs/guides/optimized-components.rst +++ /dev/null @@ -1,123 +0,0 @@ -.. _guide-optimized-components: - -******************** -Optimized components -******************** - -Let's call any component implementing ``shouldComponentUpdate`` an *Optimized -component*. - -.. hint:: - - **TL;DR:** Optimized components are handled correctly in LinguiJS by default. - Read this document if you want to understand how things work under the hood. - -React components can be optimized to skip updates implementing -``shouldComponentUpdate``. Based on change of props and state, component -can decide to continue re-rendering or skip the update completely. -However, LinguiJS reads translations from context and there are two cases -which must be handled to make i18n related updates reliable. - -The two cases to handle are: - -1. Translations inside optimized component. -2. Optimized component is wrapped in :js:func:`withI18n` to translate text attributes. - -Let's take a look at both scenarios. - -Translations inside optimized component -======================================= - -Imagine following React tree:: - - - - I am not alone! - - - -When active language is changed or message catalog is updated, -``OptimizedComponent`` will probably skip the update, because it's props -don't change. It means that all children of ``OptimizedComponent`` won't be -updated, including :component:`Trans` component. - -By default, all :component:`Trans` components listen for language and catalog changes -and update themselves when it happens. Even if ``OptimizedComponent`` -skips update, :component:`Trans` component is updated correctly. - -Also, :js:func:`withI18n` HOC listens for language and catalog changes, but this -behavior can be disabled by passing ``update = false`` option: - -.. code-block:: jsx - - // Component won't listen for language/catalog changes - export default withI18n({ update = false })(Component) - -Optimized component wrapped in :js:func:`withI18n` -================================================== - -Component should be wrapped in :js:func:`withI18n` HOC when it's required to access -low-level i18n API. Common usecase is translation of attributes: - -.. code-block:: jsx - - import * as React from 'react' - import { t, Trans } from '@lingui/macro' - - class HeaderLink extends React.PureComponent { - render () { - return Header - } - } - - export default withI18n()(HeaderLink) - -Content of link will be updated correctly as discussed in previous section. -However, text attributes aren't components but only function calls so they can't -listen to changes of active language and catalog. - -The trick here is to update whole component, but since it's a PureComponent, -it does shallow comparison of props. :js:func:`withI18n` HOC makes things easier by -passing ``i18nHash`` to wrapped component. This hash is changed after every -change of active language or catalog. - -If you have your own implementation of ``shouldComponentUpdate``, simply compare -also ``i18nHash``: - -.. code-block:: jsx - - import * as React from 'react' - - class HeaderLink extends React.Component { - shouldComponentUpdate(nextProps, nextState) { - return nextProps.i18nHash !== this.props.i18nHash /* && your condition */ - } - - render () { - // render component as usual - } - } - -If you don't want your component to receive this hash for whatever reason, -you can disable it by passing ``withHash = false`` option to HOC: - -.. code-block:: jsx - - // Component won't pass i18nHash prop - export default withI18n({ withHash = false })(Component) - -Summary -======= - -LinguiJS handles updates in and for Optimized components in most cases. If you -want to disable this behavior, you can pass either ``update = false`` -or ``withHash = false`` to :js:func:`withI18n` HOC. - -``update`` fixes updates if component has optimized parents while ``withHash`` -fixes updates for intermediate optimized children. - -Further reading -=============== - -- `React docs: Optimizing Performance `_ -- `How to handle React context in a reliable way `_ diff --git a/docs/guides/plurals.rst b/docs/guides/plurals.rst deleted file mode 100644 index 7de870a0c..000000000 --- a/docs/guides/plurals.rst +++ /dev/null @@ -1,112 +0,0 @@ -************* -Pluralization -************* - -Plurals are essential when dealing with internationalization. LinguiJS_ -uses `CLDR Plural Rules`_. In general, there are 6 plural forms (taken -from `CLDR Plurals`_ page): - -- zero -- one (singular) -- two (dual) -- few (paucal) -- many (also used for fractions if they have a separate class) -- other (required—general plural form—also used if the language only has a single form) - -Only the last one, *other*, is required because it's the only common plural form -used in all languages. - -All other plural forms depends on language. For example English has only two: -*one* and *other* (1 book vs. 2 books). In Czech, we have three: *one*, *few*, -*many* (1 kniha, 2 knihy, 5 knih). Some languages have even more, like Russian -and Arabic. - -Using plural forms -================== - -Good thing is that **as developers, we have to know only plural forms for -the source language**. - -If we use English in the source code, then we'll use only *one* and *other*: - -.. code-block:: js - - i18n.plural({ - value: numBooks, - one: "# book", - other: "# books" - }) - -When ``numBooks == 1``, this will render as *1 book* and for ``numBook == 2`` -it will be *2 books*. - - Funny fact for non-english speakers: In English, 0 uses plural form too, - *0 books*. - -Under the hood, ``i18n.plural`` is replaced with low-level ``i18n._``. For production, the above example will become: - -.. code-block:: js - - i18n._('{numBooks, plural, one {# book} other {# books}}', { numBooks }) - -When we extract messages from source code using :doc:`lingui-cli `, we get: - -.. code-block:: default - - {numBooks, plural, one {# book} other {# books}} - -Now, we give it to our Czech translator and they'll translate it as: - -.. code-block:: default - - {numBooks, plural, one {# kniha} few {# knihy} other {# knih}} - -The important thing is that *we don't need to change our code to support -languages with different plural rules*. Here's a step-by-step description of -the process: - -1. In source code, we have: - - .. code-block:: js - - i18n.plural({ - value: numBooks, - one: "# book", - other: "# books" - }) - -2. Code is compiled to (using `lingui-js` or `lingui-react` babel preset): - - .. code-block:: js - - i18n._( - '{numBooks, plural, one {# book} other {# books}}', - { numBooks } - ) - -3. Message `{numBooks, plural, one {# book} other {# books}}` is translated to: - - .. code-block:: default - - {numBooks, plural, one {# kniha} few {# knihy} other {# knih}} - -4. Finally, message is formatted using Czech plural rules. - -Using other language than English -================================= - -That works perfectly fine! Just learn what `plural forms `_ your -languages has and then you can use them. Here's the example in Czech: - -.. code-block:: js - - i18n.plural({ - value: numBooks, - one: '# kniha', - few: '# knihy', - other: '# knih' - }) - -This make LinguiJS_ useful also for unilingual projects, i.e: if you don't -translate your app at all. Plurals, number and date formatting are common in -every language. diff --git a/docs/guides/pseudolocalization.rst b/docs/guides/pseudolocalization.rst deleted file mode 100644 index 260af04f6..000000000 --- a/docs/guides/pseudolocalization.rst +++ /dev/null @@ -1,57 +0,0 @@ -================== -Pseudolocalization -================== - -There is built in support for `pseudolocalization `. -Pseudolocalization is a method for testing the internationalization aspects -of your application by replacing your strings with altered versions -and maintaining string readability. It also makes hard coded strings -and improperly concatenated strings easy to spot so that they can be properly localized. - - Example: - Ţĥĩś ţēxţ ĩś ƥśēũďōĺōćàĺĩźēď - -Configuration -============= - -To setup pseudolocalization add :conf:`pseudoLocale` to your lingui :doc:`configuration file `:: - - { - "lingui": { - "locale": ["en", "pseudo-LOCALE"], - "pseudoLocale": "pseudo-LOCALE" - "fallbackLocales": { - "pseudo-LOCALE": "en" - } - } - } - -:conf:`pseudoLocale` option can be any string that is in :conf:`locale` - -Examples: :conf:`en-PL`, :conf:`pseudo-LOCALE`, :conf:`pseudolocalization` or :conf:`en-UK` - -Create pseudolocalization -========================= - -PseudoLocale string have to be in :conf:`locales` config as well. -Otherwise no folder and no pseudolocalization is going to be created. -After running ``yarn extract`` verify that the folder has been created. -The pseudolocalization is automatically created on ``yarn compile`` from messages -in order specified in `in this cli section <../tutorials/cli.html#preparing-catalogs-for-production>`_. -In case fallbackLocales has been used, the pseudolocalization is going to be created from translated fallbacklocale. - -Switch browser into specified pseudoLocale -====================================================== - -We can use browsers settings or extensions. Extensions allow to use any locale. -Browsers are usually limited into valid language tags (BCP 47). -In that case, the locale for pseudolocalization has to be standard locale, -which is not used in your application for example :conf:`zu_ZA` Zulu - SOUTH AFRICA - -Chrome: -a) With extension (valid locale) - https://chrome.google.com/webstore/detail/locale-switcher/kngfjpghaokedippaapkfihdlmmlafcc -b) Without extension (valid locale) - chrome://settings/?search=languages - -Firefox: -a) With extension (any string) - https://addons.mozilla.org/en-GB/firefox/addon/quick-accept-language-switc/?src=search -b) Without extension (valid locale) - about:preferences#general > Language diff --git a/docs/guides/testing.rst b/docs/guides/testing.rst deleted file mode 100644 index e5094c325..000000000 --- a/docs/guides/testing.rst +++ /dev/null @@ -1,60 +0,0 @@ -Testing -======= - -Components using :component:`Trans`, :js:func:`withI18n` or :js:func:`useLingui` require access to the context of :component:`I18nProvider`. How you can wrap your component with the I18nProvider depends on the test library you use. - -Here is a working example with `react-testing-library`_, using the `wrapper-property`_: - -.. _`react-testing-library` : https://testing-library.com/docs/react-testing-library/intro -.. _wrapper-property: https://testing-library.com/docs/react-testing-library/api#wrapper - - -.. code-block:: jsx - - // index.js - import React from 'react' - import { getByText, render, act } from '@testing-library/react' - import { i18n } from '@lingui/core' - import { I18nProvider } from '@lingui/react' - import { en, cs } from 'make-plural/plurals' - - import { messages } from './locales/en/messages' - import { messages as csMessages } from './locales/cs/messages' - import App from './App' - - i18n.load({ - en: messages, - cs: csMessages - }) - i18n.loadLocaleData({ - en: { plurals: en }, - cs: { plurals: cs } - }); - - const TestingProvider = ({ children }: any) => ( - - {children} - - ) - - test('Content should be translated correctly in English' , () => { - act(() => { - i18n.activate('en') - }) - const { getByTestId, container } = render(, { wrapper: TestingProvider }); - expect(getByTestId('h3-title')).toBeInTheDocument() - expect(getByText(container, "Language switcher example:")).toBeDefined() - }); - - test('Content should be translated correctly in Czech', () => { - act(() => { - i18n.activate('cs') - }) - const { getByTestId, container } = render(, { wrapper: TestingProvider }); - expect(getByTestId('h3-title')).toBeInTheDocument() - expect(getByText(container, "Příklad přepínače jazyků:")).toBeDefined() - }); - -You could define a custom renderer to re-use this TestingProvider, see `react testing library - Custom Render`_ - -.. _`react testing library - Custom Render`: https://testing-library.com/docs/react-testing-library/setup#custom-render diff --git a/docs/guides/typescript.rst b/docs/guides/typescript.rst deleted file mode 100644 index 03a92fb5c..000000000 --- a/docs/guides/typescript.rst +++ /dev/null @@ -1,106 +0,0 @@ -********** -Typescript -********** - -Lingui supports typescript types out of the box since version ``3.0.0``. Feel free to submit any query you find related to typescript on Github Issues - -Webpack setup -============= -The ability of lingui to support the intuitive syntax comes from the ``@lingui/babel-preset-react`` Babel transformation. The preset consist of 2 plugins, namely ``@lingui/babel-plugin-transform-js`` and ``@lingui/babel-plugin-transform-react``. The plugins perform transformation only on the JSX and tagged template literals. Thus, the JSX and tagged template literals *must not* be transpiled before the 2 plugins get to do their magic to process the intuitive syntax. - -In order to preserve JSX and tagged template literals for the lingui plugins, you must set the following in your ``tsconfig.json``. - -.. code:: js - - { - "compilerOptions": { - "jsx": "preserve", - "target": "es2016" - } - } - -For lingui 2.0+, install ``babel-loader``, ``babel-preset-react``, ``babel-preset-env``, ``@lingui/babel-preset-react``. Use the presets by changing your ``.babelrc`` to the following. The order of the preset is important. - -.. code:: js - - { - "presets": [ - "babel-preset-env", - "babel-preset-react", - "@lingui/babel-preset-react" - ] - } - -In your ``webpack.config.js``, use both ``babel-loader`` and ``ts-loader`` for Typescript files. - -.. code:: js - - { - module: { - rules: [ - { - test: /\.tsx?$/, - exclude: /node_modules/, - use: ['babel-loader', 'ts-loader'] - } - ] - } - } - -.. note:: - - If you are not using `.babelrc` file, keep in mind that by running `lingui extract`, the Webpack config is not used. - To supply babel options for the extraction process use :conf:`extractBabelOptions` configuration option. - - -:conf:`compileNamespace` must be set to ``ts`` (ES6 default export) in the Lingui config -otherwise compiled catalogs can't be imported using ES ``import``, but rather CommonJS ``require``: - -.. code:: js - - { - "compileNamespace": "ts" - } - - -Macros types in non-React environments -====================================== - -Since the opening of this issue we investigated that macros can be used on Typescript environments where React isn't required. - -Now we're shipping two declaration types: - - ``index.d.ts`` files with ``@lingui/core``, ``@lingui/react`` and ``react`` as peerDependencies. - - ``global.d.ts`` files with just ``@lingui/core`` as peerDependencies. - -Now you can modify your ``tsconfig.json`` in your root directory and reference the global file: - -.. code-block:: json - - { - "compilerOptions": { - "types": [ - "./node_modules/@lingui/macro/global", - ] - } - } - - -Type definitions -================ - -Since version ``3.0.0`` types are already inside ``@lingui`` modules, so you don't need to install any external dependency related to types. - -**For earlier versions**: - -`Jeow Li Huan `_ wrote type definition for ``@lingui/core`` -and ``@lingui/react``: - -The type definitions requires Typescript 2.8 or later. - -.. code-block:: shell - - npm install --save-dev @types/lingui__core # types for @lingui/core - npm install --save-dev @types/lingui__react # types for @lingui/react - npm install --save-dev @types/lingui__macro # types for @lingui/macro - -Please report any issues in `maintainers repo `_. diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 7934f0b25..000000000 --- a/docs/index.rst +++ /dev/null @@ -1,152 +0,0 @@ -****************************************************** -LinguiJS - Seamless internationalization in Javascript -****************************************************** - -.. important:: This documentation is for the latest version Lingui 3.x - - Old documentation is available at https://js-lingui-git-stable-2x.lingui-js.vercel.app/ - -🌍📖 A readable, automated, and optimized (5 kb) internationalization for JavaScript - - **Internationalization** is the design and development of a product, application - or document content that enables easy **localization** for target audiences that - vary in culture, region, or language. - - --- `W3C Web Internationalization FAQ `_ - -.. image:: https://img.shields.io/github/stars/lingui/js-lingui.svg?style=social&label=Stars - :alt: GitHub stars - :target: https://github.com/lingui/js-lingui/ - -.. image:: https://img.shields.io/github/watchers/lingui/js-lingui.svg?style=social&label=Follow - :alt: GitHub followers - :target: https://github.com/lingui/js-lingui/ - -Key features -============ - -Lingui is an easy yet powerful internationalization framework for global projects. - -Clean and readable - Keep your code clean and readable, while the library uses - battle-tested and powerful **ICU MessageFormat** under the hood. - -Universal - Use it everywhere. :ref:`@lingui/core ` provides the essential intl - functionality which works in any JavaScript project while :ref:`@lingui/react ` offers - components to leverage React rendering. - -Full rich-text support - Use React components inside localized messages - without any limitation. Writing rich-text messages is as easy as writing JSX. - -Powerful tooling - Manage the whole intl workflow using Lingui :ref:`CLI `. It - extracts messages from source code, validates messages coming from translators and - checks that all messages are translated before shipping to production. - -Unopinionated - Integrate Lingui into your existing workflow. It supports - message keys as well as auto generated messages. Translations are stored either in - JSON or standard PO file, which is supported in almost all translation tools. - -Lightweight and optimized - Core library is only `1.9 kB gzipped `_, - React components are additional `3.1 kBs gzipped `_. - That's less than Redux for a full-featured intl library. - -Active community - Join us on `Discord`_ to discuss the latest development. - At the moment, Lingui is the most active intl project on GitHub. - -Compatible with react-intl - Low-level React API is very similar to react-intl - and the message format is the same. It's easy to migrate existing project. - -Quick overview -============== - -.. literalinclude:: _static/pitch_keys.js - :language: jsx - -Documentation contents -====================== - -.. toctree:: - :maxdepth: 1 - :caption: Installation - - Create React App - React project - -.. toctree:: - :maxdepth: 1 - :caption: Tutorials - - React - React - common patterns - React Native - JavaScript - CLI - -.. toctree:: - :maxdepth: 1 - :caption: Guides - - Testing - Typescript - Excluding build files - Dynamic loading of translations - Optimized components - How plurals work - Lingui within monorepo - Pseudolocalization - -.. toctree:: - :maxdepth: 1 - :caption: Sync & Collaboration Tools - - Introduction - Translation.io - Crowdin - -.. toctree:: - :maxdepth: 1 - :caption: API References - - Core (JavaScript) - React - Macros - CLI - Configuration - Locale Detection - Webpack Loader - Snowpack Plugin - Catalog Formats - ICU MessageFormat - -.. toctree:: - :maxdepth: 1 - :caption: Releases - - Migration from 2.x to 3.x - Migration from 1.x to 2.x - Migration from 0.x to 1.x - -.. toctree:: - :maxdepth: 1 - :caption: Discussion - - Projects using LinguiJS - Comparison with react-intl - Talks and articles about i18n in JavaScript - Scripts, tools and services related to LinguiJS - - -Indices -------- - -* :ref:`genindex` -* :ref:`search` - -.. _Discord: https://discord.gg/gFWwAYnMtA diff --git a/docs/misc/react-intl.rst b/docs/misc/react-intl.rst deleted file mode 100644 index ee991d8ff..000000000 --- a/docs/misc/react-intl.rst +++ /dev/null @@ -1,290 +0,0 @@ -************************** -Comparison with react-intl -************************** - -`react-intl`_ is definitely the most popular and widely-used i18n library for React. -`LinguiJS`_ is in many ways very similar: both libraries use the same syntax for -messages (ICU MessageFormat) and they also have very similar API. - -Here's an example from `react-intl`_ docs: - -.. code-block:: jsx - - {name}, unreadCount}} - /> - -Looking at the low-level API of `LinguiJS`_, there isn't much difference: - -.. code-block:: jsx - - {name}, unreadCount}} - /> - -There's really no reason to reinvent the wheel when both libs are build on top of the -same message syntax. The story doesn't end here, though. - -Translations with rich-text markup -================================== - -Suppose we have the following text: - -.. code-block:: html - -

Read the documentation.

- -In `react-intl`_, this would be translated as: - -.. code-block:: jsx - - {chunks} - }} - /> - -`LinguiJS`_ extends ICU MessageFormat with tags. The example above would be: - -.. code-block:: jsx - - - ]} - /> - -and the translator gets the message in one piece: ``Read the <0>documentation``. - -However, let's go yet another level deeper. - -Macros for component-based message syntax -========================================= - -`LinguiJS`_ provides macros ``@lingui/macro`` which automatically generates a message -syntax. - -Let's go back to the previous example: - -.. code-block:: html - -

- Read the documentation. -

- -All we need to do is to wrap the message in a :jsxmacro:`Trans` macro: - -.. code-block:: html - -

- Read the documentation. -

- -The macro then parses the :jsxmacro:`Trans` macro children and generates -``defaults`` and ``components`` props automatically in the form described in the previous section. - -This is extremely useful when adding i18n to an existing project. All we need is to wrap -all messages in :jsxmacro:`Trans` macro. - -Let's compare it with `react-intl`_ solution to see the difference: - -.. code-block:: jsx - -

- {chunks} - }} - /> -

- -.. note:: - - It' also worth mentioning that the message IDs are completely optional. - `LinguiJS`_ is unopinionated in this way and perfectly works with messages as IDs as - well: - - .. code-block:: html - -

- Read the documentation. -

- - The message ID is ``Read the <0>documentation.`` instead of ``msg.docs``. Both - solutions have pros and cons and the library lets you choose the one which works best for you. - -Plurals -======= - -Another very common linguistic feature is pluralization. - -Let's take a look at the original example from `react-intl`_ docs: - -.. code-block:: jsx - - {name}, unreadCount}} - /> - -Using `LinguiJS`_ macros, we could combine :jsxmacro:`Trans`, :jsxmacro:`Plural` components and -:jsmacro:`number` macro: - -.. code-block:: jsx - - - Hello {name}, you have {number(undreadCount)} - - -and the final message would be very similar: - -.. code-block:: jsx - - {name}, you have {unreadCount, number} {unreadCount, plural, - one {message} - other {messages} - }`} - values={{name, unreadCount}} - /> - -The only difference is the `<0>` tag included in the message, as `LinguiJS`_ can handle -components in both variables and the message itself. - -.. note:: - - It's good to mention here that this isn't the best example of using plurals. - Make your translators happy and move plurals to the top of the message: - - .. code-block:: jsx - - Hello {name}, you have {number(undreadMessages)} message.} - other={<>Hello {name}, you have {number(undreadMessages)} messages.} - /> - - Even though both variants are syntactically valid in ICU MessageFormat, the second - one is easier for translating, because (again) the translator gets the phrase in one - piece. - -Text attributes -=============== - -Components can't be used in some contexts, e.g. to translate text attributes. -Whereas `react-intl`_ provides JS methods (e.g: ``formatMessage``) which return plain -strings, `LinguiJS`_ offers its core library for such translations. And it also provides -macros for these usecases! - -Here are a few short examples: - -.. code-block:: jsx - - {name} - {i18n._(plural({ - -Custom IDs are supported as well: - -.. code-block:: jsx - - {name} - {i18n._(plural("img.alt", - -.. note:: - - To inject ``i18n`` object into props, you need to use HOC :js:meth:`withI18n`. It's - very similar to ``injectIntl`` from `react-intl`_. Alternatively, you can also use - :component:`I18n` render prop component. - -External message catalog -======================== - -Let's say our app has been internationalized and we now want to send the messages -to the translator. - -`react-intl`_ comes with the Babel plugin which extracts messages from individual files, -but it's up to you to merge them into one file which you can send to translators. - -`LinguiJS`_ provides handy :doc:`CLI <../tutorials/cli>` which extracts messages and merges -them with any existing translations. Again, the story doesn't end here. - -Compiling messages -================== - -The biggest and slowest part of i18n libraries are message parsers and formatters. -`LinguiJS`_ compiles messages from MessageFormat syntax into JS functions which only -accept values for interpolation (e.g. components, variables, etc). This makes the -final bundle smaller and makes the library faster. The compiled catalogs are also bundled with locale -data like plurals, so it's not necessary to load them manually. - -Disadvantages of LinguiJS -========================= - -`react-intl`_ has been around for some time and it's definitely more popular, more used -and a lot of production sites are running it. The community is larger and it's much -easier to find help on StackOverflow and other sites. - -`LinguiJS`_ is a very new library and the community is very small at the moment. It's -not tested on many production sites. On the other hand, `LinguiJS`_'s testing suite -is very large and all examples are incorporated into the integration testing suite to make sure -everything is working fine. - -Last but not least, `LinguiJS`_ is actively maintained. Bugs are fixed regularly and new -features are constantly coming in. Work is currently progressing on -webpack code splitting, so that only messages related to the code in the chunk are loaded. - -Summary -======= - -- both libraries use the same MessageFormat syntax -- similar API (easy to port from one to the other) - -On top of that, `LinguiJS`_: - -- supports rich-text messages -- provides macros to simplify writing messages using MessageFormat syntax -- provides a CLI for extracting and compiling messages -- is very small (<5kb gzipped) and fast -- works also in vanilla JS (without React) -- is actively maintained - -On the other hand, `react-intl`_: - -- is the most popular and used i18n lib in React -- is used in many production websites (stability) -- has lots of resources available online - -Discussion -========== - -Do you have any comments or questions? Please join the discussion at -`Discord `_ or raise an -`issue `_. All feedback is welcome! - -.. _react-intl: https://github.com/yahoo/react-intl -.. _LinguiJS: https://github.com/lingui/js-lingui diff --git a/docs/misc/showroom.rst b/docs/misc/showroom.rst deleted file mode 100644 index 61af941b4..000000000 --- a/docs/misc/showroom.rst +++ /dev/null @@ -1,23 +0,0 @@ -Projects using LinguiJS -======================= - -Feel free to `send a PR `__ to list your project here. - -- `ledgy.com `__ (`source `__) -- `MyMusicTaste `__ -- `Caliopen `__ (`source `__) -- `Staycation `__ -- `Monitora `__ -- `Turisto `__ -- `Nolt `__ -- `easyname `__ -- `LocalEthereum `__ -- `Upcount `__ -- `Symbolovník `__ -- `Notos `__ -- `Greenlight `__ -- `OkCupid `__ -- `mapflow.ai `__ -- `Ascendero.com `__ -- `InterMenu.com `__ -- `Fider `__ (`source `__) diff --git a/docs/misc/talks-about-i18n.rst b/docs/misc/talks-about-i18n.rst deleted file mode 100644 index 0e83cfe0b..000000000 --- a/docs/misc/talks-about-i18n.rst +++ /dev/null @@ -1,45 +0,0 @@ -******************************************* -Talks and articles about i18n in JavaScript -******************************************* - -Articles -======== - -- `Javascript i18n with Lingui `_ - by `Mike Williamson `_ - -Talks -===== - -Internationalization is a piece of cake by Eli Schutze ------------------------------------------------------- - -*Published on 30. 10. 2018 by* EmpireJS_ - -.. youtube:: vhUiL_wUAjo - -| - -Let React speak your language by Tomáš Ehrlich ----------------------------------------------- - -*Published on 27. 10. 2018 by* `React Conf`_ - -.. youtube:: soAEB7ltQPk - -| - -React + i18n - You Have No Excuse! by Eli Schutze -------------------------------------------------- - -*Published on 20. 3. 2018 by* ReactFest_ - -.. youtube:: 6NwgHUcom_8 - -`Slides `_ - -| - -.. _React Conf: https://conf.reactjs.org/ -.. _EmpireJS: https://www.empirejs.org -.. _ReactFest: https://reactfest.uk/ diff --git a/docs/misc/tooling.rst b/docs/misc/tooling.rst deleted file mode 100644 index e19f1b9c4..000000000 --- a/docs/misc/tooling.rst +++ /dev/null @@ -1,11 +0,0 @@ -******* -Tooling -******* - -.. csv-table:: - :header: "Tool", "Type", "Description" - :widths: 15, 10, 30 - - "`storybook-addon-linguijs `_", storybook, "Storybook addon to provide language and locale switcher in storybook" - "`Auto Transation Tool `_", service, "Tool for translating JSON files for LinguiJS" - "`simpleen.io `_", service, "Online and CLI Tool to machine translate LinguiJS JSON files" diff --git a/docs/ref/catalog-formats.rst b/docs/ref/catalog-formats.rst deleted file mode 100644 index 40cd06772..000000000 --- a/docs/ref/catalog-formats.rst +++ /dev/null @@ -1,138 +0,0 @@ -*************** -Catalog formats -*************** - -Catalog format (configured by :conf:`format` option) refers to file format of -offline catalog. This format is never used in production, because it's compiled -into JS module. The reason behind this build step is that choice of catalog -format depends on individual internationalization workflow. On the other hand -runtime catalog should be as simple as possible so it parsed quickly without -additional overhead. - -PO File (recommended) -===================== - -PO files are translation files used by gettext_ internationalization system. -This format is recommended and in LinguiJS v3 it'll be the default catalog format. - -The advantages of this format are: - -- readable even for large messages -- supports comments for translators -- supports metadata (origin, flags) -- standard format supported by many localization tools - -.. code-block:: po - - #: src/App.js:3 - #. Comment for translators - msgid "messageId" - msgstr "Translated Message" - - #: src/App.js:3 - #, obsolete - msgid "obsoleteId" - msgstr "Obsolete Message" - -.. _gettext: https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html - -.. _po-gettext: - -PO File with gettext Plurals -============================ - -When using localization backends that don't understand the ICU plural syntax exported by the default `po` formatter, -**po-gettext** can be used to read and write to PO files using gettext-native plurals. - -This is how the regular PO format exports plurals: - -.. code-block:: po - - msgid "{count, plural, one {Message} other {Messages}}" - msgstr "{count, plural, one {Message} other {Messages}}" - -With `po-gettext`, plural messages are exported in the following way, depending on wheter an explicit ID is set: - -1. Message **with custom ID "my_message"** that is pluralized on property "someCount". - - Notice that 'msgid_plural' was generated by appending a '_plural' suffix. - - .. code-block:: po - - #. js-lingui:pluralize_on=someCount - msgid "my_message" - msgid_plural "my_message_plural" - msgstr[0] "Singular case" - msgstr[1] "Case number {someCount}" - -2. Message **without custom ID** that is pluralized on property "anotherCount". - - Notice how 'msgid' and 'msgid_plural' were extracted from original message. - - To allow matching this PO item to the appropriate catalog entry when deserializing, - the original ICU message is also stored in the generated comment. - - .. code-block:: po - - #. js-lingui:icu=%7BanotherCount%2C+plural%2C+one+%7BSingular+case%7D+other+%7BCase+number+%7BanotherCount%7D%7D%7D&pluralize_on=anotherCount - msgid "Singular case" - msgid_plural "Case number {anotherCount}" - msgstr[0] "Singular case" - msgstr[1] "Case number {anotherCount}" - -Note that this format comes with several caveats and should therefore only be used if using ICU plurals in PO files is -not an option: - - - Nested/multiple plurals in one message as shown in :jsmacro:`plural` are not supported as they cannot be expressed - with gettext plurals. Messages containing nested/multiple formats will not be output correctly. - - - :jsmacro:`select` and :jsmacro:`selectOrdinal` cannot be expressed with gettext plurals, but the original ICU format - is still saved to the `msgid`/`msgstr` properties. To disable the warning that this might not be the expected - behavior, include :code:`{ disableSelectWarning: true }` in the :conf:`formatOptions`. - - - Source/development languages with more than two plurals could experience difficulties when no custom IDs are used, - as gettext cannot have more than two plurals cases identifying an item (:code:`msgid` and :code:`msgid_plural`). - - - Gettext doesn't support plurals for negative and fractional numbers even though some languages have special rules - for these cases. - - -JSON -==== - -Simple JSON file where each key is message ID and value is translation. The JSON -is flat and there's no reason to use nested keys. The usual motivation behind nested -JSON is to save filespace, but this file format is used offline only. - -The drawback of this format is that all metadata about message are lost. That includes -default message, origin of message and any message flags (obsolete, fuzzy, etc). - -.. code-block:: json - - { - "messageId": "translation" - } - -Lingui (raw) -============ - -This file format simply outputs all internal data in JSON format. It's the original -file format used by LinguiJS library before support for other catalog formats were added. -It might be useful for tools build on top of Lingui CLI which needs to further -process catalog data. - -.. code-block:: json - - { - "messageId": { - "translation": "Translated message", - "defaults": "Default message", - "description": "Comment for translators", - "origin": [["src/App.js", 3]] - }, - "obsoleteId": { - "translation": "Obsolete message", - "origin": [["src/App.js", 3]], - "obsolete": true - } - } diff --git a/docs/ref/cli.rst b/docs/ref/cli.rst deleted file mode 100644 index 0fdeb0da5..000000000 --- a/docs/ref/cli.rst +++ /dev/null @@ -1,170 +0,0 @@ -.. _ref-cli: - -********************************* -API Reference - CLI (@lingui/cli) -********************************* - -``@lingui/cli`` manages locales, extracts messages from source files into -message catalogs and compiles message catalogs for production use. - - -Install -======= - -1. Install ``@lingui/cli`` as a development dependency: - - .. code-block:: shell - - npm install --save-dev @lingui/cli @babel/core - # Or yarn - yarn add --dev @lingui/cli @babel/core - -2. Add following scripts to your ``package.json``: - - .. code-block:: json - - { - "scripts": { - "extract": "lingui extract", - "compile": "lingui compile", - } - } - -Global options -============== - -.. lingui-cli-option:: --config - -Path to LinguiJS configuration file. If not set, the default file -is loaded as described in :doc:`LinguiJS configuration ` reference. - -Commands -======== - -``extract`` ------------ - -.. lingui-cli:: extract [files...] [--clean] [--overwrite] [--format ] [--locale ] [--convert-from ] [--verbose] [--watch [--debounce ]] - -This command extracts messages from source files and creates a message catalog for -each language using the following steps: - -1. Extract messages from all ``*.jsx?`` files inside :conf:`srcPathDirs` -2. Merge them with existing catalogs in :conf:`localeDir` (if any) -3. Write updated message catalogs to :conf:`localeDir` - -.. lingui-cli-option:: [files...] - -Filters source paths to only extract messages from passed files. -For ex: - - .. code-block:: shell - - lingui extract src/components - -Will extract only messages from ``src/components/**/*`` files, you can also pass multiple paths. - -It's useful if you want to run extract command on files that are staged, using for example ``husky``, before commiting will extract messages from staged files: - - .. code-block:: json - - { - "husky": { - "hooks": { - "pre-commit": "lingui extract $(git diff --name-only --staged)" - } - } - } - -.. lingui-cli-option:: --clean - -Remove obsolete messages from catalogs. Message becomes obsolete -when it's missing in the source code. - -.. lingui-cli-option:: --overwrite - -Update translations for :conf:`sourceLocale` from source. - -.. lingui-cli-option:: --format - -Format of message catalogs (see :conf:`format` option). - -.. lingui-cli-option:: --locale - -Only extract data for the specified locale. - -.. lingui-cli-option:: --convert-from - -Convert message catalogs from previous format (see :conf:`format` option). - -.. lingui-cli-option:: --verbose - -Prints additional information. - -.. lingui-cli-option:: --watch - -Watch mode. - -Watches only for changes in files in paths defined in config file or in the command itself. - -Remember to use this only in development as this command do not cleans obsolete translations. - -.. lingui-cli-option:: --debounce - -Debounce, when used with ``--debounce ``, delays extraction for ```` milliseconds, -bundling multiple file changes together. - -``extract-template`` --------------------- - -.. lingui-cli:: extract-template [--verbose] - -This command extracts messages from source files and creates a ``.pot`` template file. - -.. lingui-cli-option:: --verbose - -Prints additional information. - -``compile`` ------------ - -.. lingui-cli:: compile [--strict] [--format ] [--verbose] [--namespace ] [--watch [--debounce ]] - -This command compiles message catalogs in :conf:`localeDir` and outputs -minified Javascript files. Each message is replaced with a function -that returns the translated message when called. - -Also, language data (pluralizations) are written to the message catalog as well. - -.. lingui-cli-option:: --strict - -Fail if a catalog has missing translations. - -.. lingui-cli-option:: --format - -Format of message catalogs (see :conf:`format` option). - -.. lingui-cli-option:: --verbose - -Prints additional information. - -.. lingui-cli-option:: --namespace - -Specify namespace for compiled message catalogs (also see :conf:`compileNamespace` for -global configuration). - -.. lingui-cli-option:: --typescript - -Is the same as using :conf:`compileNamespace` with the value "ts". -Generates a {compiledFile}.d.ts and the compiled file is generated using the extension .ts - -.. lingui-cli-option:: --watch - -Watch mode. - -Watches only for changes in locale files in your defined locale catalogs. For ex. ``locales\en\messages.po`` - -.. lingui-cli-option:: --debounce - -Debounce, when used with ``--debounce ``, delays compilation for ```` milliseconds, -to avoid compiling multiple times for subsequent file changes. diff --git a/docs/ref/conf.rst b/docs/ref/conf.rst deleted file mode 100644 index cb0c50ace..000000000 --- a/docs/ref/conf.rst +++ /dev/null @@ -1,533 +0,0 @@ -******************** -Lingui Configuration -******************** - -Configuration is read from 3 different sources (the first found wins): - -- from ``lingui`` section in ``package.json`` -- from ``.linguirc`` -- from ``lingui.config.js`` -- from ``lingui.config.ts`` _(since 3.4.0)_ - -You can also define environment variable ``LINGUI_CONFIG`` with path to your config file. - -In the case of TypeScript based config you can use ESM format and `export default`. - -Default config: - -.. code-block:: json - - { - "catalogs": [{ - "path": "/locale/{locale}/messages", - "include": [""], - "exclude": ["**/node_modules/**"] - }], - "compileNamespace": "cjs", - "extractBabelOptions": {}, - "compilerBabelOptions": {}, - "fallbackLocales": {}, - "format": "po", - "locales": [], - "extractors": ["babel"], - "orderBy": "messageId", - "pseudoLocale": "", - "rootDir": ".", - "runtimeConfigModule": ["@lingui/core", "i18n"], - "sourceLocale": "", - } - -.. contents:: - :local: - :depth: 1 - -.. config:: catalogs - -catalogs --------- - -Default: - -.. code-block:: js - - [{ - path: "/locale/{locale}/messages", - include: [""], - exclude: ["**/node_modules/**"] - }] - -Defines location of message catalogs and what files are included when -:cli:`extract` is scanning for messages. - -``path`` shouldn't end with slash and it shouldn't include file extension which -depends on :conf:`format`. ``{locale}`` token is replaced by catalog locale. - -Patterns in ``include`` and ``exclude`` are passed to `minimatch `_. - -``path``, ``include`` and ``exclude`` patterns might include ```` token, which -is replaced by value of :conf:`rootDir`. - -``{name}`` token in ``path`` is replaced with a catalog name. Source path must -include ``{name}`` pattern as well and it works as a ``*`` glob pattern: - -.. code-block:: js - - { - catalogs: [{ - path: "./components/{name}/locale/{locale}", - include: ["./components/{name}/"], - }] - } - -Examples -^^^^^^^^ - -Let's assume we use ``locales: ["en", "cs"]`` and ``format: "po"`` in all examples. - -All catalogs in one directory -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: js - - { - catalogs: [{ - path: "locales/{locale}", - }] - } - -.. code-block:: - - locales/ - ├── en.po - └── cs.po - -Catalogs in separate directories -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code-block:: js - - { - catalogs: [{ - path: "locales/{locale}/messages", - }] - } - -.. code-block:: - - locales - ├── en/ - │ └── messages.po - └── cs/ - └── messages.po - -Separate catalogs per component, placed inside component dir -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: js - - { - catalogs: [{ - path: "components/{name}/locale/{locale}", - include: "components/{name}/" - }] - } - -.. code-block:: - - components/ - ├── RegistrationForm/ - │ ├── locale/ - │ │ ├── en.po - │ │ └── cs.po - │ ├── RegistrationForm.test.js - │ └── RegistrationForm.js - └── LoginForm/ - ├── locale/ - │ ├── en.po - │ └── cs.po - ├── LoginForm.test.js - └── LoginForm.js - -Separate catalogs per component, placed inside shared directory -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. code-block:: js - - { - catalogs: [{ - path: "locale/{locale}/{name}", - include: "components/{name}/" - }] - } - -.. code-block:: - - . - ├── locale/ - │ ├── en/ - │ │ ├── RegistrationForm.po - │ │ └── LoginForm.po - │ └── cs/ - │ ├── RegistrationForm.po - │ └── LoginForm.po - └── components/ - ├── RegistrationForm/ - │ ├── RegistrationForm.test.js - │ └── RegistrationForm.js - └── LoginForm/ - ├── LoginForm.test.js - └── LoginForm.js - -.. config:: compileNamespace - -compileNamespace ----------------- - -Default: ``cjs`` - -Specify namespace for exporting compiled messages. See :cli:`compile` command. - -cjs -^^^ - -Use CommonJS exports: - -.. code-block:: js - - /* eslint-disable */module.exports={messages: {"..."}} - -es -^^ - -Use ES6 named export: - -.. code-block:: js - - /* eslint-disable */export const messages = {"..."} - -ts -^^ - -Use ES6 named export + .ts file with an additional {compiledFile}.d.ts file: - -.. code-block:: js - - /* eslint-disable */export const messages = {"..."} - -.. code-block:: js - - import { Messages } from '@lingui/core'; - declare const messages: Messages; - export { messages }; - -(window|global)\.(.*) -^^^^^^^^^^^^^^^^^^^^^ - -Assign compiled messages to ``window`` or ``global`` object. Specify an identifier after -``window`` or ``global`` to which the catalog is assigned, e.g. ``window.i18n``. - -For example, setting :conf:`compileNamespace` to ``window.i18n`` creates file -similar to this: - -.. code-block:: js - - /* eslint-disable */window.i18n={messages: {"..."}} - -.. config:: extractBabelOptions - -extractBabelOptions -------------------- - -Default: ``{}`` - -Specify extra babel options used to parse source files when messages are being -extracted. This is required when project doesn't use standard Babel config -(e.g. Create React App). - -.. code-block:: json - - { - "extractBabelOptions": { - "plugins": ["@babel/plugin-syntax-dynamic-import"] - } - } - -.. config:: compilerBabelOptions - -compilerBabelOptions --------------------- - -Default: - -.. code-block:: json - - { - "minified": true, - "jsescOption": { - "minimal": true - } - } - - -Specify extra babel options used to generate files when messages are being -compiled. We use internaly ``@babel/generator`` that accepts some configuration for generating code with/out ASCII characters. -These are all the options available: https://github.com/mathiasbynens/jsesc - -.. code-block:: json - - { - "compilerBabelOptions": { - "jsescOption": { - "minimal": false - } - } - } - -This example configuration will compile with scaped ASCII characters. https://github.com/mathiasbynens/jsesc#minimal - -.. config:: fallbackLocales - - -fallbackLocales ---------------- - -Default: ``{}`` - -:conf:`fallbackLocales` by default is using `CLDR Parent Locales `_, unless you disable it with a `false`: - -.. code-block:: json - - { - "fallbackLocales": false - } - -:conf:`fallbackLocales` object let's us configure fallback locales to each locale instance. - -.. code-block:: json - - { - "fallbackLocales": { - "en-US": ["en-GB", "en"], - "es-MX": "es" - } - } - -On this example if any translation isn't found on `en-US` then will search on `en-GB`, after that if not found we'll search in `en` - -Also, we can configure a default one for everything: - -.. code-block:: json - - { - "fallbackLocales": { - "en-US": ["en-GB", "en"], - "es-MX": "es", - "default": "en" - } - } - -Translations from :conf:`fallbackLocales` is used when translation for given locale is missing. - -If :conf:`fallbackLocales` is `false` default message or message ID is used instead. - -.. config:: format - -format ------- - -Default: ``po`` - -Format of message catalogs. Possible values are: - -po -^^ - -Gettext PO file: - -.. code-block:: po - - #, Comment for translators - #: src/App.js:4, src/Component.js:2 - msgid "MessageID" - msgstr "Translated Message" - -po-gettext -^^^^^^^^^^ - -Uses PO files but with gettext-style plurals, see :ref:`po-gettext`. - -minimal -^^^^^^^ - -Simple JSON with message ID -> translation mapping. All metadata (default -message, comments for translators, message origin, etc) are stripped: - -.. code-block:: json - - { - "MessageID": "Translated Message" - } - -lingui -^^^^^^ - -Raw catalog data serialized to JSON: - -.. code-block:: json - - { - "MessageID": { - "translation": "Translated Message", - "defaults": "Default string (from source code)", - "origin": [ - ["path/to/src.js", 42] - ] - } - } - -Origin is filename and line number from where the message was extracted. - -Note that origins may produce a large amount of merge conflicts. Origins can be -disabled by setting ``origins: false`` in :conf:`formatOptions`. - -Also, you can disable just ``lineNumbers`` but keep ``origins`` - -.. config:: formatOptions - -formatOptions -------------- - -Default: ``{ origins: true, lineNumbers: true }`` - -Object for configuring message catalog output. See individual formats for options. - -.. config:: locales - -locales -------- - -Default: ``[]`` - -Locale tags which are used in the project. :cli:`extract` and :cli:`compile` -writes one catalog for each locale. Each locale should be a valid `BCP-47 code `_ code. If you use a string that is not a BCP-47, make sure to use a BCP-47 when defining plurals in 18n.loadLocaleData. - -For example for `pt-br`: ``i18n.loadLocaleData('pt-br', { plurals: pt })`` - - -orderBy -------- - -Default: ``messageId`` - -Order of messages in catalog: - -messageId -^^^^^^^^^ - -Sort by the message ID. - -origin -^^^^^^^ - -Sort by message origin (e.g. ``App.js:3``) - -pseudoLocale ------------- - -Default: ``""`` - -Locale used for pseudolocalization. For example when you set ``pseudoLocale: "en"`` -then all messages in ``en`` catalog will be pseudo localized. The locale has to be included -in :conf:`locales` config. - -rootDir -------- - -Default: The root of the directory containing your Lingui config file or the ``package.json``. - -The root directory that Lingui CLI should scan when extracting messages from -source files. - -Note that using ```` as a string token in any other path-based config -settings will refer back to this value. - -.. config:: runtimeConfigModule - -runtimeConfigModule -------------------- - -Default: ``["@lingui/core", "i18n"]`` - -Module path with exported i18n object. The first value in array is module path, -the second is the import identifier. This value is used in macros, which need -to reference the global ``i18n`` object. - -You only need to set this alue if you use custom object created using :js:func:`setupI18n`: - -.. code-block:: jsx - - // If you import `i18n` object from custom module like this: - import { i18n } from "./custom-i18n-config" - - // ... then add following line to Lingui configuration: - // "runtimeConfigModule": ["./custom-i18n-config", "i18n"] - -You may use a different named export: - -.. code-block:: jsx - - import { myI18n } from "./custom-i18n-config" - // "runtimeConfigModule": ["./custom-i18n-config", "myI18n"] - -.. config:: sourceLocale - -In some advanced cases you may also need to change the module from which -`Trans` is imported. To do that, pass an object to `runtimeConfigModule`: - -.. code-block:: jsx - - // If you import `i18n` object from custom module like this: - import { Trans, i18n } from "./custom-config" - - // ... then add following line to Lingui configuration: - // "runtimeConfigModule": { - // i18n: ["./custom-config", "i18n"], - // Trans: ["./custom-config", "Trans"] - // } - -sourceLocale ------------- - -Default: ``''`` - -Locale of message IDs, which is used in source files. -Catalog for :conf:`sourceLocale` doesn't require translated messages, because message -IDs are used by default. However, it's still possible to override message ID by -providing custom translation. - -The difference between :conf:`fallbackLocales` and :conf:`sourceLocale` is that -:conf:`fallbackLocales` is used in translation, while :conf:`sourceLocale` is -used for the message ID. - -extractors ------------- - -Default: ``[babel]`` - -Extractors it's the way to customize which extractor you want for your codebase, a long time ago Babel wasn't ready yet to work with Typescript, -so we added two extractors as default ``[babel, typescript]``, but right now Babel already works good with Typescript so isn't a requirement anymore to compile two times the same code. - -Anyway, if you want to use the typescript extractor in conjuntion with babel you can do: - -.. code-block:: js - - { - "extractors": [ - require.resolve("@lingui/cli/api/extractors/babel"), - require.resolve("@lingui/cli/api/extractors/typescript"), - ] - } - -Of course you can build your own extractor, take a look to babel and typescript extractors to see how you should do it, but basically exports two methods: - - match: regex to a filename extension, should return true|false - - extract: is the responsible of transforming the code and using @lingui/babel-plugin-extract-messages diff --git a/docs/ref/core.rst b/docs/ref/core.rst deleted file mode 100644 index 24752bde8..000000000 --- a/docs/ref/core.rst +++ /dev/null @@ -1,404 +0,0 @@ -.. _ref-core: - -****************************************** -@lingui/core - The core i18n functionality -****************************************** - -``@lingui/core`` package provides the main i18n object which manages message catalogs, -active locale as well as translation and formatting of messages. - -Installation -============ - -.. code-block:: sh - - npm install --save @lingui/core - - # Or using yarn - # yarn add @lingui/core - -Overview -======== - -``@lingui/core`` package exports the global instance of ``i18n`` object. Simply import -it and use it: - -.. code-block:: jsx - - import { i18n } from "@lingui/core" - - // import plural rules for all locales - import { en, cs } from "make-plural/plurals" - - i18n.loadLocaleData("en", { plurals: en }) - i18n.loadLocaleData("cs", { plurals: cs }) - - /** - * Load messages for requested locale and activate it. - * This function isn't part of the LinguiJS library because there are - * many ways how to load messages — from REST API, from file, from cache, etc. - */ - async function activate(locale: string) { - const { messages } = await import(`${locale}/messages.js`) - i18n.load(locale, messages) - i18n.activate(locale) - } - - activate("cs") - - // returns the Czech translation of "Hello World" - const translation = i18n._("Hello World") - -If you don't want to use the global ``i18n`` instance and you want to setup your own, -you can use :js:func:`setupI18n` method. You also need to set :conf:`runtimeConfigModule` -for macros to work correctly: - -.. code-block:: js - - // If you import `i18n` object from custom module like this: - import { i18n } from "./custom-i18n-config" - - // ... then add following line to your Lingui configuration: - // "runtimeConfigModule": ["./custom-i18n-config", "i18n"] - -Reference -========= - -.. js:class:: I18n - - .. js:method:: load(catalogs: Catalogs) - .. js:method:: load(locale: string, catalog: Catalog) - - Load catalog for given locale or load multiple catalogs at once. - - .. code-block:: js - - import { i18n } from "@lingui/core" - - const messages = { - "Hello": "Hello", - "Good bye": "Good bye", - - // Just an example how catalog looks internally. - // Formatting of string messages works in development only. - // See note below. - "My name is {name}": "My name is {name}" - } - - const messagesCs = { - "Hello": "Ahoj", - "Good bye": "Nashledanou", - "My name is {name}": "Jmenuji se {name}" - } - - i18n.load({ - en: messagesEn, - cs: messagesCs - }) - - // This is the same as loading message catalogs separately per language: - // i18n.load('en', messagesEn) - // i18n.load('cs', messagesCs) - - .. important:: Don't write catalogs manually - - Code above contains an example of message catalogs. In real applications, - messages are loaded from external message catalogs generated by :cli:`compile` - command. - - Formatting of messages as strings (e.g: ``"My name is {name}"``) works in - development only, when messages are parsed on the fly. In production, however, - messages must be compiled using :cli:`compile` command. - - The same example would in real application look like this: - - .. code-block:: js - - import { i18n } from "@lingui/core" - - // File generated by `lingui compile` - import { messages: messagesEn } from "./locale/en/messages.js" - - i18n.load('en', messagesEn) - - .. js:method:: activate(locale [, locales]) - - Activate a locale and locales. :js:meth:`_` from now on will return messages - in given locale. - - .. code-block:: js - - import { i18n } from "@lingui/core" - - i18n.activate("en") - i18n._("Hello") // Return "Hello" in English - - i18n.activate("cs") - i18n._("Hello") // Return "Hello" in Czech - - .. js:method:: _(messageId [, values [, options]]) - - The core method for translating and formatting messages. - - ``messageId`` is a unique message ID which identifies message in catalog. - - ``values`` is an object of variables used in translated message. - - ``options.defaults`` is the default translation (optional). This is mostly used when - application doesn't use message IDs in natural language (e.g.: ``msg.id`` or - ``Component.title``). - - .. code-block:: js - - import { i18n } from "@lingui/core" - - // Simple message - i18n._("Hello") - - // Message with variables - i18n._("My name is {name}", { name: "Tom" }) - - // Message with custom messageId - i18n._("msg.id", { name: "Tom" }, { defaults: "My name is {name}" }) - - .. js:method:: date(value: string | Date[, format: Intl.DateTimeFormatOptions]) - - :returns: Formatted date string - - Format a date using the conventional format for the active language. - - ``date`` is a Date object to be formatted. When ``date`` is a string, the Date object is created by ``new Date(date)``. - - ``format`` is an object passed to the ``options`` argument of the `Intl.DateTimeFormat constructor `_ (optional). - - .. code-block:: js - - import { i18n } from "@lingui/core" - - const d = new Date("2021-07-23T16:23:00") - - i18n.activate("en") - i18n.date(d) - // Returns "7/23/2021" - - i18n.date(d, { timeStyle: "medium"}) - // Returns "4:23:00 PM" - - i18n.date(d, { dateStyle: "medium", timeStyle: "medium"}) - // Returns "Jul 23, 2021, 4:23:00 PM" - - i18n.activate("cs") - i18n.date(d) - // Returns "23. 7. 2021" - - - .. js:method:: number(value: number[, format: Intl.NumberFormatOptions]) - - :returns: Formatted number string - - Format a number using the conventional format for the active language. - - ``number`` is a number to be formatted. - - ``format`` is an object passed to the ``options`` argument of the `Intl.NumberFormat constructor `_ (optional). - - .. code-block:: js - - import { i18n } from "@lingui/core" - - i18n.activate("en") - i18n.number(12345.678) - // Returns "12,345.678" - - i18n.number(12345.678, { style: "currency", currency: "USD"}) - // Returns "$12,345.68" - - i18n.activate("cs") - i18n.number(12345.678) - // Returns "12 345,678" - - i18n.number(12345.678, { style: "currency", currency: "CZK"}) - // Returns "12 345,68 Kč" - -.. js:function:: setupI18n([options]) - - :returns: instance of I18n - - Initialize and return a new I18n instance. Usually you want to call it just once - and then use returned ``i18n`` object across whole codebase. - - .. important:: You don't need to setup i18n instance - - In most cases you can use the global ``i18n`` object exported from ``@lingui/core`` - directly. - - However, if you do need to setup your own ``i18n`` instance, remember to also - set :conf:`runtimeConfigModule` work macros to work properly: - - .. code-block:: js - - // If you import `i18n` object from custom module like this: - import { i18n } from "./custom-i18n-config" - - // ... then add following line to your Lingui configuration: - // "runtimeConfigModule": ["./custom-i18n-config", "i18n"] - - .. code-block:: js - - import { setupI18n } from "@lingui/core" - - const i18n = setupI18n() - - The factory function accepts one optional parameter, ``options``: - - .. js:attribute:: options.locale - - Initial active locale. - - .. code-block:: jsx - - import { setupI18n } from "@lingui/core" - - const i18n = setupI18n({ locale: "en" }) - - // This is a shortcut for: - // const i18n = setupI18n() - // i18n.activate("en") - - .. js:attribute:: options.locales - - List of alternative locales (BCP 47 langauge tags) which are used for number and date - formatting (some countries use more than one number/date format). If not set, active - locale is used instead. - - .. code-block:: jsx - - import { setupI18n } from "@lingui/core" - - const i18n = setupI18n({ - locale: "ar", - locales: ["en-UK", "ar-AS"] - }) - - // This is a shortcut for: - // const i18n = setupI18n() - // i18n.activate("en", ["en-UK", "ar-AS"]) - - .. js:attribute:: options.messages - - Initial :js:data:`Messages`. - - .. code-block:: jsx - - import { setupI18n } from "@lingui/core" - - const messages: { - en: require("./locale/en/messages").messages, // your path to compiled messages here - cs: require("./locale/cs/messages").messages // your path to compiled messages here - } - const i18n = setupI18n({ messages }) - - // This is a shortcut for: - // const i18n = setupI18n() - // i18n.load(messages) - - .. js:attribute:: options.missing - - Custom message to be returned when translation is missing. This is useful for - debugging: - - .. code-block:: jsx - - import { setupI18n } from "@lingui/core" - - const i18n = setupI18n({ missing: "🚨" }) - i18n._('missing translation') === "🚨" - - This might be also a function which is called with active language and message ID: - - .. code-block:: jsx - - import { setupI18n } from "@lingui/core" - - function missing(language, id) { - alert(`Translation in ${language} for ${id} is missing!`) - return id - } - - const i18n = setupI18n({ missing }) - i18n._('missing translation') // raises alert - - - -.. js:data:: Catalogs - - Type of ``catalogs`` parameters in :js:meth:`I18n.load` method: - - .. code-block:: js - - type Catalogs = {[locale: string]: Catalog} - - // Example: - const catalogs: Catalogs = { - en: { - messages: { - "Hello": "Hello", - "Good bye": "Good bye" - } - }, - cs: { - messages: { - "Hello": "Ahoj", - "Good bye": "Nashledanou" - } - } - } - -.. js:data:: Catalog - - Message catalog contains messages and language data (plurals). This object is - usually generated in CLI: - - .. code-block:: js - - type Catalog = { - languageData: { - plurals: Function - }, - messages: Messages - } - -.. js:data:: Messages - - Type of messages in :js:data:`Catalogs`. It's a mapping of a **messageId** to a - translation in given language. This may be a function if messages are compiled. - - .. code-block:: js - - type Messages = {[messageId: string]: string | Function} - - // Example - const messagesEn: Messages = { - "Hello": "Hello", - "Good bye": "Good bye" - } - -Events -====== - -change ------- - -Triggered **after** locale is changed or new catalog is loaded. There are no arguments. - -missing -------- - -Triggered when a translation is requested with ``i18n._`` that does not exist in the active locale's messages. -Information about the locale and message are available from the event. - -.. code-block:: js - - i18n.on('missing', (event) => { - alert(`alert(`Translation in ${event.locale} for ${event.id} is missing!`)`) - }) diff --git a/docs/ref/loader.rst b/docs/ref/loader.rst deleted file mode 100644 index 1f2994cf6..000000000 --- a/docs/ref/loader.rst +++ /dev/null @@ -1,39 +0,0 @@ -*********************************************** -API Reference - Webpack Loader (@lingui/loader) -*********************************************** - -It's a good practice to use compiled message catalogs during development. However, -running :cli:`compile` everytime messages are changed soon becomes tedious. - -``@lingui/loader`` is a webpack loader, which compiles messages on the fly: - -Installation -============ - -Install ``@lingui/loader`` as a development dependency: - -.. code-block:: sh - - npm install --save-dev @lingui/loader - - # Or using yarn - # yarn add --dev @lingui/loader - -Usage -===== - -Simply prepend ``@lingui/loader:`` in front of path to message catalog you want to -import. Here's an example of dynamic import: - -Extension is mandatory. If you use minimal or lingui file format, use ``.json``. In case of using po format, use ``.po``. - -.. code-block:: jsx - - export async function dynamicActivate(locale: string) { - const { messages } = await import(`@lingui/loader!./locales/${locale}/messages.json`) - i18n.load(locale, messages) - i18n.activate(locale) - } - -See the `guide about dynamic loading catalogs <../guides/dynamic-loading-catalogs.html>`_ -for more info. diff --git a/docs/ref/locale-detector.rst b/docs/ref/locale-detector.rst deleted file mode 100644 index a5fdcd3f0..000000000 --- a/docs/ref/locale-detector.rst +++ /dev/null @@ -1,74 +0,0 @@ -******************************************************** -API Reference - Locale Detection (@lingui/detect-locale) -******************************************************** - -``@lingui/detect-locale`` is little package ``just (922 B Gzip)`` with some helper functions that will help you detect the locale of the user: - -Installation -============ - -Install ``@lingui/detect-locale`` as a dependency: - -.. code-block:: sh - - npm install --save @lingui/detect-locale - - # Or using yarn - # yarn add @lingui/detect-locale - -Usage -===== - -``@lingui/detect-locale:`` exports multiple methods: - - ``detect`` - `Will return the first occurence of detectors` - - ``multipleDetect`` - `Will return an array with all the locales detected by each detector` - -and some helpers: - - ``fromCookie(key: string)`` - `Accepts a key as param will recover from navigator cookies the value` - - ``fromHtmlTag(tag: string)`` - `Will find on HtmlDocument the attribute passed in params (normally it's used lang or xml:lang)` - - ``fromNavigator()`` - `Recovers the navigator language, it's also compatible with old browsers like IE11` - - ``fromPath(localePathIndex: number)`` - `Splits the location.pathname in an array so you have to specify the index of the array where's locale is set` - - ``fromStorage(key: string, { useSessionStorage: boolean }`` - `Will search on localStorage by default the item that has that key, if **useSessionStorage** is passed, will search on sessionStorage` - - ``fromSubdomain(localeSubdomainIndex: number)`` - `Like fromPath, splits the location.href on segments you must specify the index of that segment` - - ``fromUrl(parameter: string)`` - `Uses a query-string parser to recover the correct parameter` - -Practically all detectors accepts a custom document, location, or window object as param, it's usefull when testing or using some server-side strategy - -Usage with ``detect`` -===================== - -.. code-block:: jsx - - import { detect, fromUrl, fromStorage, fromNavigator } from "@lingui/detect-locale" - - // can be a function with custom logic or just a string, `detect` method will handle it - const DEFAULT_FALLBACK = () => "en" - - const result = detect( - fromUrl("lang"), - fromStorage("lang"), - fromNavigator(), - DEFAULT_FALLBACK - ) - - console.log(result) // "en" - - -Usage with ``multipleDetect`` -============================= - -.. code-block:: jsx - - import { multipleDetect, fromUrl, fromStorage, fromNavigator } from "@lingui/detect-locale" - - // can be a function with custom logic or just a string, `detect` method will handle it - const DEFAULT_FALLBACK = () => "en" - - const result = multipleDetect( - fromUrl("lang"), - fromStorage("lang"), - fromNavigator(), - DEFAULT_FALLBACK - ) - - console.log(result) // ["en", "es"] diff --git a/docs/ref/macro.rst b/docs/ref/macro.rst deleted file mode 100644 index 509e27927..000000000 --- a/docs/ref/macro.rst +++ /dev/null @@ -1,840 +0,0 @@ -************************* -@lingui/macro - Reference -************************* - -``@lingui/macro`` package provides `babel macros `_ which -transforms JavaScript objects and JSX elements into messages in ICU MessageFormat. - -Installation -============ - -Babel macros require babel-plugin-macros_ to work. If you use a framework -(for example GatsbyJS, Create React App >2.0) you might already have macros enabled. -Otherwise install it as any other Babel plugin: - -1. Install ``babel-plugin-macros`` as a dev dependency and ``@lingui/macro`` as dependency:: - - npm install --save-dev babel-plugin-macros - npm install --save @lingui/macro - - # Or using yarn - # yarn add --dev babel-plugin-macros - # yarn add @lingui/macro - - .. note:: - - It's recommended to install ``@lingui/macro`` package as a production dependency rather than development one - to avoid ``import/no-extraneous-dependencies`` errors in ESLint. - -2. Add ``macros`` to the top of plugins section in your Babel config: - - .. code-block:: json - - { - "plugins": [ - "macros" - ] - } - -Overview -======== - -The advantages of using macros are: - - - You don't need to learn ICU MessageFormat syntax. You always use familiar JS and JSx code. - - Components and functions are type checked - - Additional validation of plural rules is performed during transformation - - Non essentials data are removed from production build (e.g. comments and default messages) to shave few bytes - -**JSX macros** are transformed to :component:`Trans` component from -:doc:`@lingui/react `: - -.. code-block:: jsx - - import { Trans } from "@lingui/macro" - Attachment {name} saved - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { Trans } from "@lingui/react" - - -**JS macros** (i.e. macros that looks like a simple JavaScript functions) are -transformed into ``i18n._`` call. - -.. code-block:: jsx - - import { t } from "@lingui/macro" - t`Attachment ${name} saved` - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - /*i18n*/ - i18n._("Attachment {name} saved", { name }) - -.. note:: - - By default, the ``i18n`` object is imported from ``@lingui/core``. - If you use a custom instance of ``i18n`` object, you need to set - :conf:`runtimeConfigModule` or pass a custom instance to :jsmacro:`t`. - -The only exception is :jsmacro:`defineMessage` which is transformed into -message descriptor. In other words, the message isn't translated directly -and can be used anytime later: - -.. code-block:: jsx - - import { i18n } from "@lingui/core" - import { defineMessage } from "@lingui/macro" - - // define message - const message = defineMessage({ message: `Attachment ${name} saved` }) - - // translate it - i18n._(message) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - - // define message - const message = /*i18n*/{ id: "Attachment {name} saved", values: { name }}) - - // translate it - i18n._(message) - -Examples of JS macros ---------------------- - -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| JS Macro | Result | -+=============================================================+====================================================================+ -| .. code-block:: js | .. code-block:: js | -| | | -| t`Refresh inbox` | /*i18n*/ | -| | i18n._("Refresh inbox") | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| t`Attachment ${name} saved` | /*i18n*/ | -| | i18n._("Attachment {name} saved", { name }) | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| t(customI18n)`Refresh inbox` | /*i18n*/ | -| | customI18n._("Refresh inbox") | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| t(customI18n)`Attachment ${name} saved` | /*i18n*/ | -| | customI18n._("Attachment {name} saved", { name }) | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| plural(count, { | /*i18n*/ | -| one: "Message", | i18n._("{count, plural, one {Message} other {Messages}}", { | -| other: "Messages" | count | -| }) | }) | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| t({ | i18n._(/*i18n*/{ | -| id: "msg.refresh", | id: "msg.refresh", | -| message: "Refresh inbox" | message: "Refresh inbox" | -| }) | }) | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| t(customI18n)({ | customI18n._(/*i18n*/{ | -| id: "msg.refresh", | id: "msg.refresh", | -| message: "Refresh inbox" | message: "Refresh inbox" | -| }) | }) | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: js | .. code-block:: js | -| | | -| defineMessage({ | /*i18n*/{ | -| id: "msg.refresh", | id: "msg.refresh", | -| message: "Refresh inbox" | message: "Refresh inbox" | -| }) | } | -+-------------------------------------------------------------+--------------------------------------------------------------------+ - -Examples of JSX macros ----------------------- - -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| JSX Macro | Result | -+=============================================================+====================================================================+ -| .. code-block:: jsx | .. code-block:: jsx | -| | | -| Attachment {name} saved | | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: jsx | .. code-block:: jsx | -| | | -| | -| /> | | -+-------------------------------------------------------------+--------------------------------------------------------------------+ -| .. code-block:: jsx | .. code-block:: jsx | -| | | -| | | message="Refresh inbox" | -| | /> | -+-------------------------------------------------------------+--------------------------------------------------------------------+ - -Usage -===== - -JS macros ---------- - -These macros can be used in any context (e.g. outside JSX). All JS macros are transformed -into a *Message Descriptor* wrapped inside of ``i18n._`` call. - -.. note:: - - By default, the ``i18n`` object is imported from ``@lingui/core``. - If you use a custom instance of ``i18n`` object, you need to set - :conf:`runtimeConfigModule` or pass a custom instance to :jsmacro:`t`. - -*Message Descriptor* is an object with message ID, default message and other parameters. -``i18n._`` accepts message descriptors and performs translation and formatting: - -.. code-block:: jsx - - type MessageDescriptor = { - id: String, - message?: String, - values?: Object, - formats?: Object, - comment?: string - } - -``id`` is message ID and the only required parameter. ``id`` and ``message`` -are extracted to message catalog. Only ``id``, ``values``, and ``formats`` -are used at runtime, all other attributes are removed from production code -for size optimization. - -.. note:: i18n comment - - In the examples below you might notice ``/*i18n*/`` comment in - macro output. This comment tells the extract plugin that following - object or string should be collected to message catalog. - -t -^ - -.. jsmacro:: t - -The most common macro for messages. It transforms tagged template literal into message -in ICU MessageFormat: - -.. code-block:: jsx - - import { t } from "@lingui/macro" - const message = t`Hello World` - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._("Hello World") - -Message variables are supported: - -.. code-block:: jsx - - import { t } from "@lingui/macro" - const message = t`My name is ${name}` - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._("My name is {name}", { - name - }) - -In fact, any expression can be used inside template literal. However, only -simple variables are referenced by name in a transformed message. All -other expressions are referenced by numeric index: - -.. code-block:: jsx - - import { t } from "@lingui/macro" - const message = t`Today is ${new Date()}` - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core"; - - const message = - /*i18n*/ - i18n._("Today is {0}", { - 0: new Date() - }); - -Optionally, a custom ``i18n`` instance can be passed that can be used -instead of the global instance: - -.. code-block:: jsx - - import { t } from "@lingui/macro" - import { i18n } from "./lingui" - const message = t(i18n)`Hello World` - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "./lingui" - const message = - /*i18n*/ - i18n._("Hello World") - -It's also possible to pass custom ``id`` and ``comment`` for translators by -calling ``t`` macro with a message descriptor: - -.. code-block:: jsx - - import { t } from "@lingui/macro" - const message = t({ - id: 'msg.hello', - comment: 'Greetings at the homepage', - message: `Hello ${name}` - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = i18n._(/*i18n*/{ - id: 'msg.hello', - comment: 'Greetings at the homepage', - message: 'Hello {name}', - values: { name } - }) - -In this case the ``message`` is used as a default message and it's transformed -as if it were wrapped in ``t`` macro. ``message`` also accepts any other macros: - -.. code-block:: jsx - - import { t } from "@lingui/macro" - const message = t({ - id: 'msg.plural', - message: plural(value, { one: "...", other: "..." }) - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = i18n._(/*i18n*/{ - id: 'msg.plural', - message: '{value, plural, one {...} other {...}}', - values: { value } - }) - -plural -^^^^^^ - -.. jsmacro:: plural - -.. code-block:: jsx - - plural(value: string | number, options: Object) - -``plural`` macro is used for pluralization, e.g: messages which has different form -based on counter. The first argument ``value`` determines the plural form. -The second argument is an object with available plural forms. Plural form -used in the source code depends on your source locale (e.g. English has only -``one`` and ``other``). - -.. code-block:: jsx - - import { plural } from "@lingui/macro" - const message = plural(count, { - one: "# Book", - other: "# Books" - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._('{count, plural, one {# Book} other {# Books}}', { - count - }) - -If you need to add variables to plural form, you can use template string literals. -This time :jsmacro:`t` macro isn't required as template strings -are transformed automatically: - -.. code-block:: jsx - - import { plural } from "@lingui/macro" - const message = plural(count, { - one: `${name} has # friend`, - other: `${name} has # friends` - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._('{count, plural, one {{name} has # friend} other {{name} has # friends}}', { - count, name - }) - -Plurals can also be nested to form complex messages. Here's an example using -two counters: - -.. code-block:: jsx - - import { plural } from "@lingui/macro" - const message = plural(numBooks, { - one: plural(numArticles, { - one: `1 book and 1 article`, - other: `1 book and ${numArticles} articles`, - }), - other: plural(numArticles, { - one: `${numBooks} books and 1 article`, - other: `${numBooks} books and ${numArticles} articles`, - }), - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - // Generated message was wrapped for better readability - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._(`{numBooks, plural, - one {{numArticles, plural, - one {1 book and 1 article} - other {1 book and {numArticles} articles} - }} - other {{numArticles, plural, - one {{numBooks} books and 1 article} - other {{numBooks} books and {numArticles} articles} - }} - }`, - { numBooks, numArticles } - ) - -.. note:: - - This is just an example how macros can be combined to create a complex messages. - However, simple is better because in the end it's the translator who's gonna - have to translate these long and complex strings. - -.. important:: - - Use ``plural`` inside :jsmacro:`t` macro if you want to add custom ``id`` - or ``comment`` for translators. - -selectOrdinal -^^^^^^^^^^^^^ - -.. jsmacro:: selectOrdinal - -.. code-block:: jsx - - selectOrdinal(value: string | number, options: Object) - -``selectOrdinal`` macro is similar to :jsmacro:`plural` but instead of using -cardinal plural forms it uses ordinal forms: - -.. code-block:: jsx - - import { selectOrdinal } from "@lingui/macro" - const message = selectOrdinal(count, { - one: "#st", - two: "#nd", - few: "#rd", - other: "#th", - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._('{count, selectOrdinal, one {#st} two {#nd} few {#rd} other {#th}}', { - count - }) - -.. important:: - - Use ``selectOrdinal`` inside :jsmacro:`t` macro if you want to add custom ``id`` - or ``comment`` for translators. - -select -^^^^^^ - -.. jsmacro:: select - -.. code-block:: jsx - - select(value: string | number, options: Object) - -``select`` macro works as a switch statement — it select one of the forms -provided in ``options`` object which key matches exactly ``value``: - -.. code-block:: jsx - - import { select } from "@lingui/macro" - const message = select(gender, { - male: "he", - female: "she", - other: "they" - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { i18n } from "@lingui/core" - const message = - /*i18n*/ - i18n._('{gender, select, male {he} female {she} other {they}}', { - gender - }) - -.. important:: - - Use ``select`` inside :jsmacro:`t` macro if you want to add custom ``id`` - or ``comment`` for translators. - -defineMessage -^^^^^^^^^^^^^ - -.. jsmacro:: defineMessage - -``defineMessage`` macro is a wrapper around macros above which allows you -to add comments for translators or override the message ID. - -Unlike the other JS macros, it doesn't wrap generated *MessageDescription* into -``i18n._`` call. - -.. code-block:: js - - type MessageDescriptor = { - id?: string, - message?: string, - comment?: string - } - - defineMessage(message: MessageDescriptor) - -Either ``id`` or ``message`` property is required. - -``id`` is a custom message id. If it isn't set, the ``message`` is used instead. - -.. code-block:: jsx - - import { defineMessage } from "@lingui/macro" - const message = defineMessage({ - id: "Navigation / About", - message: "About us" - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - const message = /*i18n*/{ - id: 'Navigation / About', - message: "About us" - } - -``message`` is the default message. Any JS macro can be used here. Template -string literals don't need to be tagged with :jsmacro:`t`. - -.. code-block:: jsx - - import { defineMessage, t } from "@lingui/macro" - - const name = "Joe" - - const message = defineMessage({ - comment: "Greetings on the welcome page", - message: `Welcome, ${name}!` - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - const message = /*i18n*/{ - comment: "Greetings on the welcome page", - message: "Welcome, {name}", - values: { - name - } - } - -``comment`` is a comment for translators. It's extracted to the message catalog -and it gives extra context for translators. It's removed from production code: - -.. code-block:: jsx - - import { defineMessage } from "@lingui/macro" - const message = defineMessage({ - comment: "Link in navigation pointing to About page", - message: "About us" - }) - - // ↓ ↓ ↓ ↓ ↓ ↓ - - const message = /*i18n*/{ - comment: "Link in navigation pointing to About page", - id: "About us" - } - -.. note:: - - In production build, the whole macro is replaced with an ``id``: - - .. code-block:: jsx - - import { defineMessage } from "@lingui/macro" - const message = defineMessage({ - id: "Navigation / About", - comment: "Link in navigation pointing to About page", - message: "About us" - }) - - // process.env.NODE_ENV === "production" - // ↓ ↓ ↓ ↓ ↓ ↓ - - const message = "Navigation / About" - - ``message`` and ``comment`` are used in message catalogs only. - -JSX Macros ----------- - -Common props -^^^^^^^^^^^^ - -All macros share following props: - -id -~~ - -Each message in catalog is identified by **message ID**. - -While all macros use generated message as the ID, it's possible to override it. -In such case, generated message is used as a default translation. - -.. code-block:: jsx - - import { Trans } from "@lingui/macro" - Attachment {name} saved. - - // ↓ ↓ ↓ ↓ ↓ ↓ - import { Trans } from "@lingui/react" - - -comment -~~~~~~~~~~~ - -Comment for translators to give them additional context about the message. -It's removed from production code. - -render -~~~~~~ - -Render prop function used to render translation. This prop is directly passed to -:component:`Trans` component from :doc:`@lingui/react `. See -`rendering of translations `_ for more info. - -Trans -^^^^^ - -.. jsxmacro:: Trans - - :prop string id: Custom message ID - :prop string comment: Comment for translators - -:jsxmacro:`Trans` is the basic macro for static messages, messages with variables, -but also for messages with inline markup: - -.. code-block:: jsx - - import { Trans } from "@lingui/macro" - Refresh inbox; - - // ↓ ↓ ↓ ↓ ↓ ↓ - import { Trans } from "@lingui/react" - - -Custom ``id`` is preserved: - -.. code-block:: jsx - - import { Trans } from "@lingui/macro" - Attachment {name} saved. - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { Trans } from "@lingui/react" - - -This macro is especially useful when message contains inline markup. - -.. code-block:: jsx - - import { Trans } from "@lingui/macro" - - Read the docs.; - - // ↓ ↓ ↓ ↓ ↓ ↓ - - import { Trans } from "@lingui/macro" - }} /> - -Components and HTML tags are replaced with dummy indexed tags (``<0>``) which -has several advatanges: - -- both custom React components and built-in HTML tags are supported -- change of component props doesn't break the translation -- the message is extracted as a whole sentence (this seems to be obvious, but most - i18n libs simply split message into pieces by tags and translate them separately) - -Plural -^^^^^^ - -.. jsxmacro:: Plural - - :prop number value: (required) Value is mapped to plural form below - :prop string|Object format: Number format passed as options to `Intl.NumberFormat`_ - :prop number offset: Offset of value when calculating plural forms - :prop string zero: Form for empty ``value`` - :prop string one: *Singular* form - :prop string two: *Dual* form - :prop string few: *Paucal* form - :prop string many: *Plural* form - :prop string other: (required) general *plural* form - :prop string _: Exact match form, corresponds to ``=N`` rule - - MessageFormat: ``{arg, plural, ...forms}`` - -Props of :jsxmacro:`Plural` macro are transformed into :icu:`plural` format. - -.. code-block:: jsx - - import { Plural } from "@lingui/macro" - - - // ↓ ↓ ↓ ↓ ↓ ↓ - import { Trans } from "@lingui/react" - - -``#`` are formatted using :icu:`number` format. ``format`` prop is passed to this -formatter. - -Exact matches in MessageFormat syntax are expressed as ``=int`` (e.g. ``=0``), -but in React this isn't a valid prop name. Therefore, exact matches are expressed as -``_int`` prop (e.g. ``_0``). This is commonly used in combination with -``offset`` prop. ``offset`` affects only plural forms, not exact matches. - -.. code-block:: jsx - - import { Plural } from "@lingui/macro" - - `one` plural form - one="You and # other guest arrived" - - // when value >= 3 - other="You and # other guests arrived" - /> - - /* - This is transformed to Trans component with ID: - {count, plural, offset:1 _0 {Nobody arrived} - _1 {Only you arrived} - one {You and # other guest arrived} - other {You and # other guests arrived}} - */ - -SelectOrdinal -^^^^^^^^^^^^^ - -.. jsxmacro:: SelectOrdinal - - :prop number value: (required) Value is mapped to plural form below - :prop number offset: Offset of value for plural forms - :prop string zero: Form for empty ``value`` - :prop string one: *Singular* form - :prop string two: *Dual* form - :prop string few: *Paucal* form - :prop string many: *Plural* form - :prop string other: (required) general *plural* form - :prop string _: Exact match form, correspond to ``=N`` rule. (e.g: ``_0``, ``_1``) - :prop string|Object format: Number format passed as options to `Intl.NumberFormat`_ - - MessageFormat: ``{arg, selectordinal, ...forms}`` - -Props of :jsxmacro:`SelectOrdinal` macro are transformed into :icu:`selectOrdinal` -format: - -.. code-block:: jsx - - import { SelectOrdinal } from "@lingui/macro" - - // count == 1 -> 1st - // count == 2 -> 2nd - // count == 3 -> 3rd - // count == 4 -> 4th - - -Select -^^^^^^ - -.. jsxmacro:: Select - - :prop number value: (required) Value determines which form is outputted - :prop number other: (required) Default, catch-all form - - MessageFormat: ``{arg, select, ...forms}`` - -Props of :jsxmacro:`Select` macro are transformed into :icu:`select` format: - -.. code-block:: jsx - - import { Select } from "@lingui/macro" - - // gender == "female" -> Her book - // gender == "male" -> His book - // gender == "unspecified" -> Their book - +``` diff --git a/website/docs/ref/message-format.md b/website/docs/ref/message-format.md new file mode 100644 index 000000000..a98e2c27f --- /dev/null +++ b/website/docs/ref/message-format.md @@ -0,0 +1,59 @@ +# ICU MessageFormat + +ICU MessageFormat is a flexible yet powerful syntax to express all nuances of grammar for each language. + +## Overview + +### Simple text + +Example: `Refresh inbox` + +### Variables + +Example: `Attachment {name} saved` + +### Plurals +> Using language specific plural forms (`one`, `other`): + +``` icu-message-format +{count, plural, one {Message} other {Messages}} +``` + +> Using exact matches (`=0`): + +``` icu-message-format +{count, plural, =0 {No messages} + one {# message} + other {# messages}} +``` + +> Offsetting plural form: + +``` icu-message-format +{count, plural, offset:1 + =0 {Nobody read this message} + =1 {Only you read this message} + one {You and # friend read this message} + other {You and # friends read this message} +``` + +### Select + +``` icu-message-format +{gender, select, male {He replied to your message} + female {She replied to your message} + other {They replied to your message}} +``` + +### Ordinals + +``` icu-message-format +{count, selectOrdinal, one {#st message} + two {#nd message} + few {#rd message} + other {#th message}} +``` + +## Further reading + +- [ICU Playground](https://format-message.github.io/icu-message-format-for-translators/editor.html) diff --git a/website/docs/ref/react.md b/website/docs/ref/react.md new file mode 100644 index 000000000..eb95966b6 --- /dev/null +++ b/website/docs/ref/react.md @@ -0,0 +1,210 @@ +# React API Reference + +Components from `@lingui/react` wrap the vanilla JS API from `lingui-i18n`. React components handle changes of active language or interpolated variables better than low-level API and also take care of re-rendering when wrapped inside pure components. + +## General Concepts + +### Rendering of Translations {#rendering-translations} + +All i18n components render translation as a text without a wrapping tag. This can be customized in three different ways: + +- globally: using `defaultComponent` prop on [`I18nProvider`](#i18nprovider) component; +- locally: using `render` prop or `component` on i18 components + +#### Global Configuration + +Default rendering component can be set using `defaultComponent` prop in [`I18nProvider`](#i18nprovider). The main use case for this is rendering translations in `` component in React Native. + +~~It's possible to pass in either a string for built-in elements (`span`, `h1`)~~, React elements or React classes. This prop has the same type as `render` and `component` prop on i18n components described below. + +#### Local Configuration + +| Prop name | Type | Description | +|-------------| ----------------------------------------- | -------------------------------------------- | +| `className` | string | Class name to be added to `` element | +| `render` | *Function(props) -> Element \| Component* | Custom wrapper rendered as function | +| `component` | Component, `null` | Custom wrapper element to render translation | + +`className` is used only for built-in components (when *render* is string). + +`Function(props)` props returns the translation, an id, and a message. + +When `component` is **React.Element** ~~or **string** (built-in tags)~~, it is rendered with the `translation` passed in as its child: + +``` jsx +import { Text } from "react-native"; + +Link to docs; +// renders as Link to docs +``` + +To get more control over the rendering of translation, use instead the `render` method with **React.Component** (or stateless component). Component passed to `render` will receive the translation value as a `translation` prop: + +``` jsx +// custom component + }> + Sign in +; +// renders as +``` + +`render` or `component` also accepts `null` value to render string without wrapping component. This can be used to override custom `defaultComponent` config. + +``` jsx +Heading; +// renders as "Heading" + +Heading; +// renders as "Heading" +``` + +## Components + +### Trans + +| Prop name | Type | Description | +| --------- | -------- | ------------------- | +| `id` | `string` | Key, the message ID | + +:::important + +Import [`Trans`](/docs/ref/macro.md#jsxmacro-Trans) macro instead of [`Trans`](#trans) if you use macros: + +``` jsx +import { Trans } from "@lingui/macro" + +// Trans from @lingui/react won't work in this case +// import { Trans } from "@lingui/react" + +Hello, my name is {name} +``` +::: + +It's also possible to use `Trans` component directly without macros. In that case, `id` is the message being translated. `values` and `components` are arguments and components used for formatting translation: + +``` jsx +; + +; + +// number of tag corresponds to index in `components` prop +]} +/>; +``` + +#### Plurals + +If you cannot use [@lingui/macro](/docs/ref/macro.md) for some reason(maybe you compile your code using just TS instead of babel), you can render plurals using the plain Trans component like this: + +``` jsx +import React from 'react'; +import { Trans } from '@lingui/react'; + + +``` + +## Providers + +Message catalogs and the active locale are passed to the context in [`I18nProvider`](#i18nprovider). Use [`useLingui`](#uselingui) hook or [`withI18n`](#withi18n) high-order component to access Lingui context. + +### I18nProvider + +| Prop name | Type | Description | +| --------------------------- | --------------------- | ----------------------------------------------------------------------------- | +| `I18n` | `i18n` | The i18n instance (usually the one imported from `@lingui/core`) | +| `children` | `React.ReactNode` | React Children node | +| `defaultComponent` | `React.ComponentType` | A React component for rendering within this component (Not required) | +| `forceRenderOnLocaleChange` | `boolean` | Force re-render when locale changes (default: true) | + +`defaultComponent` has the same meaning as `component` in other i18n components. [`Rendering of translations`](#rendering-translations) is explained at the beginning of this document. + +``` jsx +import React from 'react'; +import { I18nProvider } from '@lingui/react'; +import { i18n } from '@lingui/core'; +import { messages as messagesEn } from './locales/en/messages.js'; + +i18n.load({ + en: messagesEn, +}); +i18n.activate('en'); + +const DefaultI18n = ({ isTranslated, children }) => ( + + {children} + +) + +const App = () => { + return ( + + // rest of the app + + ); +} +``` + +`forceRenderOnLocaleChange` is true by default and it ensures that: + +> - Children of `I18nProvider` aren't rendered before locales are +> loaded. +> - When locale changes, the whole element tree below `I18nProvider` +> is re-rendered. + +Disable `forceRenderOnLocaleChange` when you have specific needs to handle initial state before locales are loaded and when locale changes. + +This component should live above all i18n components. A good place is as a top-level application component. However, if the `locale` is stored in a `redux` store, this component should be inserted below `react-redux/Provider`: + +``` jsx +import React from 'react'; +import { I18nProvider } from '@lingui/react'; +import { i18n } from '@lingui/core'; +import { messages as messagesEn } from './locales/en/messages.js'; + +i18n.load({ + en: messagesEn, +}); +i18n.activate('en'); + +const App = () => { + return ( + + // rest of the app + + ); +} +``` + +### useLingui + +``` jsx +import React from "react" +import { useLingui } from "@lingui/react" + +const CurrentLocale = () => { + const { i18n } = useLingui() + + return Current locale: {i18n.locale} +} +``` + +### withI18n + +`withI18n` is a higher-order component which injects `i18n` object to wrapped component. `i18n` object is needed when you have to access the i18n data: + +``` jsx +import React from "react" +import { withI18n } from "@lingui/react" + +const CurrentLocale = withI18n()(({ i18n }) => ( + Current locale: {i18n.locale} +)) +``` diff --git a/website/docs/ref/snowpack-plugin.md b/website/docs/ref/snowpack-plugin.md new file mode 100644 index 000000000..99ae1d3a3 --- /dev/null +++ b/website/docs/ref/snowpack-plugin.md @@ -0,0 +1,56 @@ +# Snowpack Plugin + +It's a good practice to use compiled message catalogs during development. However, running [`compile`](/docs/ref/cli.md#compile) everytime messages are changed soon becomes tedious. + +`@lingui/snowpack-plugin` is a Snowpack plugin, which compiles messages on the fly: + +## Installation + +Install `@lingui/snowpack-plugin` as a development dependency: + +```bash npm2yarn +npm install --save-dev @lingui/snowpack-plugin +``` + +## Usage + +Simply add `@lingui/snowpack-plugin` inside your `snowpack.config.js`: + +``` js title="snowpack.config.js" +module.exports = { + plugins: [ + '@lingui/snowpack-plugin', + ], +} +``` + +Then in your code all you need is to use [dynamic imports](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#dynamic_imports) to load only necessary catalog. Extension is mandatory. In case of using po format, use `.po`. + +``` ts +export async function dynamicActivate(locale: string) { + let catalog: {messages: Messages} + + switch (locale) { + case 'cs': + catalog = await import('./locales/cs/messages.po') + break + case 'en': + default: + catalog = await import('./locales/en/messages.po') + break; + } + + i18n.load(locale, catalog.messages) + i18n.activate(locale) +} +``` + +:::note +Comparing to [Webpack instructions for dynamic loading](/docs/ref/loader.md), code snippet above doesn't rely on variable `locale` to do the actual import. + +Instead, we manually check every possible value using `switch/case` and import final catalog by exact path. This is default behavior (or restriction?) of [esbuild](https://esbuild.github.io) - *extremely fast JavaScript bundler* used by Snowpack under the hood. + +There is [an issue regarding this feature](https://github.com/evanw/esbuild/issues/700) Similar restrictions apply to Babel macros or other non-standard features - they won't work with `esbuild` +::: + +See the [guide about dynamic loading catalogs](/docs/guides/dynamic-loading-catalogs.md) for more info. diff --git a/website/docs/releases/migration-3.md b/website/docs/releases/migration-3.md new file mode 100644 index 000000000..8d891c0e1 --- /dev/null +++ b/website/docs/releases/migration-3.md @@ -0,0 +1,240 @@ +# Migration guide from 2.x to 3.x + +:::caution Important +Check out the [@lingui/codemods](https://www.npmjs.com/package/@lingui/codemods) package for semi-automatic migration of your codebase. +::: + +## Backward incompatible changes + +Minimal required versions are: + +- Node.js: 10.x +- React: 16.8 +- Babel: 7 + +### `@lingui/react` + +- `` render-prop component was removed in favor of [`useLingui`](/docs/ref/react.md#uselingui) hook. +- In [`I18nProvider`](/docs/ref/react.md#i18nprovider), `defaultRender` prop was renamed to `defaultComponent`, and now only accepts Custom Components +- In [`Trans`](/docs/ref/react.md#Trans), `defaults` prop was renamed to `message` and `description` to `comment`. +- In [`Trans`](/docs/ref/react.md#Trans), `render` prop only accepts render-prop function which is used to render translation. +- In [`Trans`](/docs/ref/react.md#Trans), new prop `component` accepts React component which is used to render translation. +- In [`Trans`](/docs/ref/react.md#Trans), `components` is now an object, not an array. When using the low level API, it allows to name the component placeholders: + + ``` jsx + }} /> + ``` + +- `NumberFormat` and `DateFormat` components were removed. Import `i18n` from `@lingui/core` package and use [`i18n.date()`](/docs/ref/core.md#i18n.date) and [`i18n.number()`](/docs/ref/core.md#i18n.number) instead. + +#### Removed `I18nProvider` declarative API + +LinguiJS started as a React library. After `@lingui/core` package was introduced, there were two ways how to switch active locales and manage catalogs in React: either using [`I18nProvider`](/docs/ref/react.md#i18nprovider) declarative API or using `setupI18n` imperative API. + +In the same spirit as `@apollo/react` and `react-redux`, the [`I18nProvider`](/docs/ref/react.md#i18nprovider) is simplified and accepts `i18n` manager, which must be created manually: + +``` diff + import { I18nProvider } from '@lingui/react' + import { i18n } from "@lingui/core" ++ import { en } from 'make-plural/plurals' + import { messages } from './locale/en/messages.js' + ++ i18n.loadLocaleData('en', { plurals: en }) ++ i18n.load('en', messages) ++ i18n.activate('en') + + function App() { + return ( +- ++ + + + ) + } +``` + +### `@lingui/core` + +- Package now exports default `i18n` instance. It's recommended to use it unless you need customized instance. + + ``` diff + + import { i18n } from "@lingui/core" + - import { setupI18n } from "@lingui/core" + + - const i18n = setupI18n() + i18n.activate('en') + ``` + + :::caution Note + If you decide to use custom `i18n` instance, you also need to set [`runtimeConfigModule`](/docs/ref/conf.md#runtimeconfigmodule). Macros automatically import `i18n` instance and must be aware of correct import path. + ::: + +- `i18n.t`, `i18n.plural`, `i18n.select` and `i18n.selectOrdinal` methods were removed in favor of macros. + +- `i18n.use` was removed. Using two locales at the same time isn't common use-case and can be solved in user land by having two instances of `i18n` object. + +- Signature of [`i18n._`](/docs/ref/core.md#i18n._) method has changed. The third parameter now accepts default message in `message` prop, instead of `defaults`: + + ``` diff + - i18n._('Welcome / Greetings', { name: 'Joe' }, { defaults: "Hello {name}" }) + + i18n._('Welcome / Greetings', { name: 'Joe' }, { message: "Hello {name}" }) + ``` + +- [`i18n._`](/docs/ref/core.md#i18n._) also accepts a message descriptor as a first parameter: + + ``` diff + i18n._({ + id: string, + message?: string, + comment?: string + }) + ``` + +#### [`i18n.load`](/docs/ref/core.md#i18n.load) loads a catalog for a single locale + +`i18n` manager is the single source of truth and there's no need to keep all catalogs loaded outside this object. To make loading easier, [`i18n.load`](/docs/ref/core.md#i18n.load) now accepts catalog for a single locale or multiple catalogs at once. + +``` diff + import { i18n } from "@lingui/core" + import catalogEn from './locale/en/messages.js' + +- i18n.load({ en: catalogEn }) ++ i18n.load('en', catalogEn.messages) +``` + +:::caution Note +You can still use [`i18n.load`](/docs/ref/core.md#i18n.load(catalogs)) to load all catalogs at once: + +``` jsx +// i18n.js +import { i18n } from "@lingui/core" +import catalogEn from './locale/en/messages.js' +import catalogFr from './locale/fr/messages.js' + +i18n.load({ + en: catalogEn.messages, + fr: catalogFr.messages +}) +``` +::: + +### `@lingui/macro` + +- [`plural`](/docs/ref/macro.md#plural), [`select`](/docs/ref/macro.md#select) and [`selectOrdinal`](/docs/ref/macro.md#selectordinal) accepts value as a first parameter: + + ``` diff + - plural({ value, one: "# book", other: "# books" }) + + plural(value, { one: "# book", other: "# books" }) + ``` + +### `@lingui/cli` + +- command `lingui init` was removed +- command `lingui add-locale` was removed + +### Whitespace + +Whitespace handling in plugins had few bugs. By fixing them, there might be few backward incompatible changes. It's advised to run [`extract`](/docs/ref/cli.md#extract) and inspect changes in catalogs (if any). + +1. Spaces before `{variables}` in JSX aren't preserved. This is how React handles whitespaces in JSX. Leading whitespace is always removed: + + ``` jsx + + " + {variable} + " + + + // Becomes: "{variable}" + ``` + +2. Forced newlines are preserved. Sometimes it's useful to keep newlines in JSX. If that's your case, you need to force it in the same was as spaces are forced before variables or elements: + + ``` jsx + + 1. Item{"\n"} + 2. Item + + + // Becomes: 1. Item\n2. Item + ``` + +### Plugins/Presets + +Plugins are replaced with macros. Presets are removed completely because they aren't needed anymore. + +1. Uninstall plugins/presets, remove them from Babel config and replace them with `macros`: + + ```bash npm2yarn + npm uninstall @lingui/babel-preset-react + npm install --dev @lingui/macro babel-plugin-macros + ``` + + ```diff + { + "presets": [ + - "@lingui/babel-preset-react" + ], + "plugins": [ + + "macros", + ] + } + ``` + +2. Import [`Trans`](/docs/ref/macro.md#trans), [`Plural`](/docs/ref/macro.md#plural-1), [`Select`](/docs/ref/macro.md#select-1) and [`SelectOrdinal`](/docs/ref/macro.md#selectordinal-1) from `@lingui/macro`: + + ```diff + - import { Trans } from "@lingui/react" + + import { Trans } from "@lingui/macro" + ``` + + :::caution Note + If you used [`Trans`](/docs/ref/macro.md#trans) component without children, then keep the import from `@lingui/react`: + + ```jsx + import { Trans } from "@lingui/react" + + const CustomID = () => + const DynamicID = () => + ``` + ::: + +3. `i18n.t`, `i18n.plural`, `i18n.select` and `i18n.selectOrdinal` methods are removed and replaced with macros. + + These macros automatically binds message to default `i18n` object: + + ``` diff + import { i18n } from "@lingui/core" + + import { t } from "@lingui/macro" + + - i18n.t`Hello World` + + t`Hello World` + ``` + +## New features + +### [`i18n.load`](/docs/ref/core.md#i18n.load) + +[`i18n.load`](/docs/ref/core.md#i18n.load) can now accept one catalog for specific locale. Useful for incremental loading of catalogs. + +```jsx +import { i18n } from "@lingui/core" + +// Lingui v2 and v3 +i18n.load({ + en: require("./locale/en/messages"), + cs: require("./locale/cs/messages") +}) + +// Lingui v3 only +i18n.load('en', require("./locale/en/messages")) +i18n.load('cs', require("./locale/cs/messages")) +``` + +### `i18n.on('change', callback)` + +Event [`change`](/docs/ref/core.md#change) is fired anytime new catalogs are loaded or when locale is activated. + +### Native TypeScript support + +Lingui now supports TypeScript out of the box, don't forget to remove the `@types/lingui` packages from your project. diff --git a/website/docs/tools/crowdin.md b/website/docs/tools/crowdin.md new file mode 100644 index 000000000..6e329af48 --- /dev/null +++ b/website/docs/tools/crowdin.md @@ -0,0 +1,150 @@ +# Crowdin + +Crowdin agile localization for developers +
+ +Crowdin is a localization management platform that helps translate your LinguiJS-based product. Automate localization, release several multilingual versions of your app simultaneously, and provide an enhanced experience for your global customers. + +[Website](https://crowdin.com/) \| [GitHub](https://github.com/crowdin) \| [Support](https://crowdin.com/contacts) + +## Features + +### Keep all translations in one place while connecting your teams via Crowdin + +Connect with your content, marketing, and translation teams in one collaborative space: + +- Screenshots for additional context. +- Highlight HTML, placeholders, plurals, and more. +- Describe the context and set character limits to ensure the translation fits the UI. +- All translations are done online or can be uploaded to the platform. +- Jira integration to notify you about source string issues. +- Tips for translators to ensure there is no extra space or broken code. + +### Ship faster with localization running in parallel + +Keep developing new features and improvements while translators receive new texts in real-time. Release multilingual versions for customers around the globe simultaneously. + +### Release your product in several languages at once + +Help users from different regions use the latest version of your product in their language: + +- Get feature branches translated independently from the master branch. +- Translators work together in one place to boost productivity. +- Never deal with translations in spreadsheets or email attachments. +- Source texts are updated for translators automatically and in real-time. +- Automatically pull completed translations that are ready to be merged. + +### Seamlessly integrate localization during any phase of your development cycle + +Automate the integration of source texts and translations between Crowdin and your source code with one-click integration or customizable solutions. + +### Define your translation strategy + +Decide who will translate your content: + +- Invite your team of translators (in-house translators, freelancers, or translation agencies you already work with). +- Order professional translations from a vendor (translation agency) from Crowdin Vendors Marketplace. +- Configure machine translation engines. +- Engage your community. + +### VCS: GitHub, GitLab, Bitbucket + +Source strings are pulled automatically and are always up to date for your translators. Translated content is automatically pushed to your repository as a request. + +![Automatically pull source strings to Crowdin and push translated content to your repository](/img/docs/Crowdin__js-lingui-vcs.png) + +### CLI + +Easily integrate Crowdin with your CI server, GIT, SVN, Mercurial, etc. Connect cross-platform [Crowdin CLI](https://support.crowdin.com/cli-tool/) directly to your code repository and never deal with localization files manually again. + +![Manage and synchronize your localization resources with Crowdin CLI](/img/docs/Crowdin__js-lingui-cli.png) + +### 1. Create the `crowdin.yml` configuration file + +```yaml title="crowdin.yml" +project_id: '123456' # Your Crowdin project ID +api_token_env: CROWDIN_PERSONAL_TOKEN + +preserve_hierarchy: true + +files: # Paths to the source and translation files + - source: /**/locales/en/* + translation: /**/locales/%two_letters_code%/%original_file_name% +``` + +### 2. Install the Crowdin CLI as an npm package + +```bash npm2yarn +npm install @crowdin/cli@3 +``` + +### 3. Add the following scripts + +Add these lines to your `package.json` to make your life easier. + +```js title="package.json" +{ + "scripts": { + "crowdin": "crowdin", + "sync": "crowdin push && crowdin pull", + "sync:sources": "crowdin push", + "sync:translations": "crowdin pull" + } +} +``` + +### 4. Configuration + +Set the `CROWDIN_PERSONAL_TOKEN` env variable on your computer, to allow the CLI to authenticate with the Crowdin API. + +### 5. Usage + +Test that you can run the Crowdin CLI: + +```bash npm2yarn +npm run crowdin --version +``` + +Upload all the source files to Crowdin: + +```bash npm2yarn +npm run sync:sources +``` + +Download translation files from Crowdin: + +```bash npm2yarn +npm run sync:translations +``` + +Upload sources to Crowdin and download translations from Crowdin: + +```bash npm2yarn +npm run sync +``` + +To run other Crowdin CLI commands you can use the following command: + +```bash npm2yarn +npm run crowdin +``` + +To see the full list of possible commands and options: + +```bash npm2yarn +npm run crowdin -h +``` + +### [API](https://support.crowdin.com/api/v2/) and webhooks + +Customize your experience. Automate and scale your localization workflow. Seamlessly add new content for translation to your Crowdin project, check translation status, merge new content, etc. + +### To get started, register a [Crowdin.com](https://accounts.crowdin.com/register) or [Crowdin Enterprise](https://accounts.crowdin.com/workspace/create) account + +Once you have signed up, we recommend [creating your localization project](https://support.crowdin.com/creating-project/). + +Depending on the ways you would like to work with Crowdin, we offer such options: + +1. [Integrate Crowdin with GitHub](https://support.crowdin.com/github-integration/). +2. Manage and synchronize your localization resources with [Crowdin CLI](https://support.crowdin.com/cli-tool/). +3. [Upload files for the test via UI](https://support.crowdin.com/uploading-files/). diff --git a/website/docs/tools/introduction.md b/website/docs/tools/introduction.md new file mode 100644 index 000000000..6a5f359a2 --- /dev/null +++ b/website/docs/tools/introduction.md @@ -0,0 +1,68 @@ +# Introduction + +## Why use Sync & Collaboration Tools? + +The easiest way to translate your application is to translate the `.po` files directly in a text editor, or with a tool like [Poedit](https://poedit.net). + +This solution may be good enough when your application is still small and doesn't evolve much, but it quickly becomes hard work when the number of sentences to translate and the target languages to manage increase with time. + +It then becomes more and more difficult and time-consuming to manage the back and forth with the translators, while keeping your application `.po` files up-to-date with the current state of a codebase that doesn't stop evolving. + +That's why sync and collaboration tools are directly integrated into Lingui to help structure your work with your translators team, to ensure the consistency of the translations, and to make your life easier. + +### Regular Workflow + +![Translation workflow \*without\* sync and collaboration tool](/img/docs/without-collaboration-tool.png) + +This is the most basic workflow which involves sending the `.po` files to your translators (usually by email) and syncing them back manually into your application. + +This workflow is manageable when your application is still quite small, doesn't contain a lot of text, and doesn't evolve much. + +### Sync & Collaboration Tool Workflow + +![Translation workflow \*with\* sync and collaboration tool](/img/docs/with-collaboration-tool.png) + +When the amount of text to translate increases, and the number of target languages grows, it becomes more efficient to use a sync and collaboration tool to assist you with the management of your team of translators, and co-evolution between your code and the translated files. + +Instead of manually sending and receiving many emails and fixing the inconsistencies with your code, a `sync` method is called and your `.po` and `.js` files are directly updated with the latest translations. Your translators will also be notified when there are new text to translate. + +## Benefits of these tools + +- **Synchronization**: unique `yarn sync` or `npm run sync` command to synchronize your project with all your translators and update your local `.po` and `.js` files with the latest translations. +- **Translation Interface**: provide a professional and flexible interface to translators. +- **Translation Memory**: assist translators by suggesting previously translated sentences that are similar. +- **Machine Translation**: auto-translate with Google Translate, DeepL, etc. and human-proofread later. +- **Smart Plural Management**: allows to translate `Message` and `Messages` instead of `{count, plural, one {Message} other {Messages}}`. +- **Consistency**: assist translators with `{variable}` interpolation and HTML formatting. + +## Configure your project + +To synchronize your current application with an online tool, you just have to add these lines at the end of your `.linguirc` configuration file: + +```js title=".linguirc" +{ + [...] + "service": { + "name": "ToolName", + "apiKey": "abcdefghijklmnopqrstuvwxyz012345" + } +} +``` + +The synchronization will then be part of the [`extract`](/docs/ref/cli.md#extract) command. + +## List of available tools + +### Crowdin () + +- Documentation: [Crowdin](/docs/tools/crowdin.md) +- GitHub: + +### Translation.io () + +- Documentation: [translation-io](/docs/tools/translation-io.md) +- GitHub: + +## Adding a new tool to Lingui + +If you want to integrate a new tool with Lingui, you have to add your synchronization workflow in a new file located in [this directory](https://github.com/lingui/js-lingui/tree/main/packages/cli/src/services) and then create a pull request on the main Lingui project. diff --git a/website/docs/tools/translation-io.md b/website/docs/tools/translation-io.md new file mode 100644 index 000000000..72d94d787 --- /dev/null +++ b/website/docs/tools/translation-io.md @@ -0,0 +1,158 @@ +# Translation.io + +Translation.io Lingui Logo +
+ +[Translation.io](https://translation.io/lingui) is a professional synchronization and collaboration platform that will assist your team in the translation of your Lingui application. + +Links: + +- Website: +- GitHub: + +## Features + +### Smooth Team Management + +Invite your collaborators using their email or username, and assign them a role and a target language. We'll bring them on board and keep them informed about any new activity in their language. + +![Smooth Team Management on Translation.io](https://translation.io/gifs/lingui/translation-collaborators.gif) + +Learn more: + +- [Fine-Grained Authorizations](https://translation.io/blog/fine-grained-authorization-and-role-management?default_stack=lingui) +- [Activity Digests](https://translation.io/blog/better-history-and-activity-email-digests?default_stack=lingui) + +### Elegant Translation Process + +Our interface was designed to be the most ergonomic way to translate. It provides translation suggestions (from [TM](https://en.wikipedia.org/wiki/Translation_memory), Google Translate or DeepL), context, discussion and history. + +Keyboard shortcuts allow translators to stay focused on their work, visual hints indicate when something went wrong, for example when an interpolated variable or HTML tag is missing. + +![Elegant Translation Process on Translation.io](https://translation.io/gifs/lingui/translation-interface.gif) + +Learn more: + +- [Keyboard Shortcuts](https://translation.io/blog/shortcuts-and-translation?default_stack=lingui) +- [History and Activity Digests](https://translation.io/blog/better-history-and-activity-email-digests?default_stack=lingui) + +### Syntax Highlighting + +Sometimes you have no choice but to confront your translators with HTML or interpolated variables. The problem is that translators do not necessarily know the meaning of these notations and may be tempted to translate them or may inadvertently alter them. + +`Hello {name}` should never be translated as `Bonjour {nom}`, and we have several mechanisms to ensure that, like warnings and auto-completion: + +![Syntax Highlighting warning on Translation.io](https://translation.io/_articles/2019-10-11-highlighting-of-html-tags-and-interpolated-variables/highlight-interpolated-variable-lingui.png) + +--- + +![Syntax Highlighting auto-completion on Translation.io](https://translation.io/gifs/lingui/translation-highlights.gif) + +### Smart Plural Management + +Lingui allows to write plurals using the [ICU MessageFormat](/docs/ref/message-format.md) syntax that looks like this: + +``` none +{count, plural, =0 {No messages} + one {# message} + other {# messages}} +``` + +But you can't ask a translator to understand this syntax, and he or she would be tempted to translate `one` or `other` keywords in other languages, breaking your code at the same time. + +That's why we deconstruct the plural syntaxes to make them easy to translate, and then reconstruct them inside your local `.po` files. + +If the target language has more plural forms than the source language, we also provide some examples to the translator, because it could be unclear what plural form the `few` or `other` keyword may refer to in that specific target language (in this example, Czech has 3 plural forms). + +![Smart Plural Management on Translation.io](/img/docs/translation-lingui-plural-forms.png) + +### Efficient Search + +Our powerful search helps translators to maintain consistency of terms throughout their work. In addition, they are able to filter depending on a particular source file or context. To provide a more enjoyable experience, this lightning-fast search works without any page reloading. + +![Efficient Search on Translation.io](https://translation.io/gifs/lingui/translation-search.gif) + +Learn more: + +- [Smart URLs](https://translation.io/blog/smart-urls-in-translation-interface?default_stack=lingui) + +### Adaptive Workflows using Tags + +Our interface is flexible enough to adapt to your own translation workflows. Add custom tags to your segments and you'll be directly able to filter them. Moreover, these tags will appear in the statistics page so you can use them for reporting. + +![Adaptive Workflows using Tags on Translation.io](https://translation.io/gifs/lingui/translation-tags.gif) + +Learn more: + +- [How to Use Tags](https://translation.io/blog/tags-work-better-as-a-team?default_stack=lingui) +- [Project Statistics](https://translation.io/blog/translation-project-statistics?default_stack=lingui) + +## Installation + +### 1. Create your Lingui project + +Create an account on [Translation.io](https://translation.io/lingui) and create a new Lingui project. + +### 2. Configure your application + +Copy the `.linguirc` configuration file that was generated for you to the root of your application. + +The configuration file looks like this: + +```js title=".linguirc" +{ + [...] + "format": "po", + "service": { + "name": "TranslationIO", + "apiKey": "abcdefghijklmnopqrstuvwxyz012345" + } +} +``` + +### 3. Add the following scripts + +Add these lines to your `package.json` to make your life easier. + +```js title="package.json" +{ + "scripts": { + "sync": "lingui extract --overwrite && lingui compile", + "sync_and_purge": "lingui extract --overwrite --clean && lingui compile" + } +} +``` + +### 4. Initialize your project + +Initialize your project and upload your source text and potential existing translations with: + +```bash npm2yarn +npm run sync +``` + +## Usage + +### Sync + +To send new translatable strings and get new translations from Translation.io, and at the same time generate the minified JavaScript catalog files, simply run: + +```bash npm2yarn +npm run sync +``` + +### Sync and Purge + +If you need to remove unused strings from Translation.io, using the current branch as reference. + +As the name says, this operation will also perform a sync at the same time. + +**Warning**: all strings that are not present in the current local branch will be **permanently deleted from Translation.io**. + +```bash npm2yarn +npm run sync_and_purge +``` + +--- + +If you need some help with your project, feel free to contact diff --git a/website/docs/tutorials/cli.md b/website/docs/tutorials/cli.md new file mode 100644 index 000000000..e64fa6425 --- /dev/null +++ b/website/docs/tutorials/cli.md @@ -0,0 +1,167 @@ +# Working with LinguiJS CLI + +`@lingui/cli` provides the `lingui` command for extracting, merging and compiling message catalogs. Follow [setup instructions](/docs/ref/cli.md) to install required packages. + +## Extracting messages + +We're going to use an app we built in a [React tutorial](/docs/tutorials/react.md). The [`extract`](/docs/ref/cli.md#extract) command looks for messages in the source files and extracts them: + +```bash npm2yarn +> npm run extract + +Extracting messages from source files… +Collecting all messages… +Writing message catalogs… +Messages extracted! + +Catalog statistics: +┌──────────┬─────────────┬─────────┐ +│ Language │ Total count │ Missing │ +├──────────┼─────────────┼─────────┤ +│ cs │ 40 │ 40 │ +│ en │ 40 │ 40 │ +└──────────┴─────────────┴─────────┘ + +(use "yarn extract" to update catalogs with new messages) +(use "yarn compile" to compile catalogs for production) +``` + +The message catalog will look like this: + +```json +{ + "Message Inbox": "", + "See all <0>unread messages or <1>mark them as read.": "", + "{messagesCount, plural, one {There's {messagesCount} message in your inbox.} other {There are {messagesCount} messages in your inbox.}}": "", + "Last login on {lastLogin,date}.": "", +} +``` + +It's in a JSON dictionary, where 'key' is message ID and value is an object with some relevant information: translation, defaults and origin for the message. + +This catalog is ready for translation. Let's translate it into Czech by filling the `translation` fields: + +```json +{ + "Message Inbox": "Přijaté zprávy", + "See all <0>unread messages or <1>mark them as read.": "Zobrazit všechny <0>nepřečtené zprávy nebo je <1>označit jako přečtené.", + "{messagesCount, plural, one {There's {messagesCount} message in your inbox.} other {There are {messagesCount} messages in your inbox.}}": "{messagesCount, plural, one {V příchozí poště je {messagesCount} zpráva.} few {V příchozí poště jsou {messagesCount} zprávy. } other {V příchozí poště je {messagesCount} zpráv.}}", + "Last login on {lastLogin,date}.": "Poslední přihlášení {lastLogin,date}", +} +``` + +If we run the [`extract`](/docs/ref/cli.md#extract) command again, we can see in the stats that all messages are translated: + +```bash npm2yarn +> npm run extract + +Catalog statistics: +┌──────────┬─────────────┬─────────┐ +│ Language │ Total count │ Missing │ +├──────────┼─────────────┼─────────┤ +│ cs │ 4 │ 0 │ +│ en │ 4 │ 4 │ +└──────────┴─────────────┴─────────┘ + +Messages extracted! + +(use "yarn extract" to update catalogs with new messages) +(use "yarn compile" to compile catalogs for production) +``` + +[`extract`](/docs/ref/cli.md#extract) merges all translations with new messages, so you can run this command any time without worrying about losing any translations. + +## Preparing catalogs for production + +Once we have all catalogs ready and translated, we can compile the JSON into a minified JS file with the [`compile`](/docs/ref/cli.md#compile) command. This command parses the messages in MessageFormat and compiles them into simple functions. It also adds plural rules to a production ready catalog: + +```bash npm2yarn +> npm run compile + +Compiling message catalogs… +Done! +``` + +The `locale` directory now contains the source catalogs (`messages.json`) and the compiled ones (`messages.js`). + +Messages added to compiled file are collected in specific order: + +1. Translated message from specified locale +2. Translated message from fallback locale for specified locale +3. Translated message from default fallback locale +4. Message key + +It is also possible to merge the translated catalogs into a single file per locale by specifying `catalogsMergePath`. For example if `catalogsMergePath` is assigned `locales/{locale}` then catalogs will be compiled to `/locales/cs.js` and `/locales/en.js`. + +## Cleaning up obsolete messages + +By default, the [`extract`](/docs/ref/cli.md#extract) command merges messages extracted from source files with the existing message catalogs. This is safe as we won't accidentally lose translated messages. + +However, sooner or later some messages will be removed from the source. We can use the [`--clean`](/docs/ref/cli.md#extract-clean) option to clean up our message catalogs: + +```bash npm2yarn +npm run extract --clean +``` + +## Validation of message catalogs + +It might be useful to check if all messages were translated (e.g: in a continuous integration runner). The [`compile`](/docs/ref/cli.md#compile) command has a [`--strict`](/docs/ref/cli.md#compile-strict) option, which does exactly that. + +The example output might look like this: + +```bash npm2yarn +> npm run compile --strict + +Compiling message catalogs… +Error: Failed to compile catalog for locale en! +Missing 42 translation(s) +``` + +## Configuring source locale + +We see that checking for missing translations has one drawback -- English message catalog doesn't require any translations because we're using English in our source code! + +Let's fix it by setting [`sourceLocale`](/docs/ref/conf.md#sourcelocale) in `package.json`: + +```json title="package.json" +{ + "lingui": { + "sourceLocale": "en" + } +} +``` + +Running `extract` again shows the correct statistics: + +```bash npm2yarn +> npm run extract + +Catalog statistics: +┌─────────────┬─────────────┬─────────┐ +│ Language │ Total count │ Missing │ +├─────────────┼─────────────┼─────────┤ +│ cs │ 4 │ 0 │ +│ en (source) │ 4 │ - │ +└─────────────┴─────────────┴─────────┘ +``` + +And compilation in strict mode no longer throws an error: + +```bash npm2yarn +> npm run compile --strict + +Compiling message catalogs… +Done! +``` + +If you use natural language for message IDs (that's the default), set [`sourceLocale`](/docs/ref/conf.md#sourcelocale). You shouldn't use this config if you're using custom IDs (e.g: `Component.title`). + +## Catalogs in VCS and CI + +The `locale/_build` folder and `locale/*/*.js` (compiled catalogs) are safe to be ignored by your VCS. What you do need to keep in VCS are the json files (`locale/*/*.json`) that contain the messages for translators. The JavaScript functions that return the actual translations when your app runs in production are created from those json files. See [Excluding build files](/docs/guides/excluding-build-files.md) guide for more info. + +If you're using a CI, it is a good idea to add the `yarn extract` and `yarn compile` commands to your build process. + +## Further reading + +That's it! Checkout [CLI Reference](/docs/ref/cli.md) documentation for more info about `lingui` commands or [configuration reference](/docs/ref/conf.md) for info about configuration parameters. diff --git a/website/docs/tutorials/javascript.md b/website/docs/tutorials/javascript.md new file mode 100644 index 000000000..e26a0f86d --- /dev/null +++ b/website/docs/tutorials/javascript.md @@ -0,0 +1,107 @@ +# Internationalization of JavaScript apps + +In this tutorial, we'll learn how to use LinguiJS's internationalization features that do not depend on React. We'll take a minimalist approach and cover the main functions from the `@lingui/core` package. + +## Installing LinguiJS + +[LinguiJS](https://github.com/lingui/js-lingui) isn't just a package. It's a set of tools which helps you to internationalize. You can pick whichever tool you want to use in your project. We're trying to use most of them to show the full power of LinguiJS. + +Let's start with the three major packages: + +`@lingui/cli` + +> CLI for i18n management and working with message catalogs + +`@lingui/core` + +> The core library responsible for translation and handling of message catalogs + +`@lingui/macro` + +> Transforms messages wrapped in tagged template literals to ICU MessageFormat and validates them. + +1. Install `@lingui/cli`, `@lingui/macro`, `babel-plugin-macros` and Babel core packages as a development dependencies and `@lingui/core` as a runtime dependency: + + ```bash npm2yarn + npm install --save-dev @lingui/cli @lingui/macro babel-plugin-macros @babel/core + npm install --save @lingui/core + ``` + +2. Add `macros` plugin to Babel config (e.g: `.babelrc`): + + ``` json + { + "plugins": [ + "macros" + ] + } + ``` + + Now we have the environment up and running and we can start internationalizing our app! + +## Setting up i18n + +First we need to setup the i18n singleton, which is pretty simple: + +``` js +import { i18n } from '@lingui/core' + +// messages.js is generated by the cli +import { messages } from 'path-to-locale/en/messages.js'; + +i18n.load('en', messages) +i18n.activate('en') +``` + +## Localizing your app + +Once that is done, we can go ahead and use it! Wrap you text in [`t`](/docs/ref/macro.md#t) macro and pass it to [`i18n._()`](/docs/ref/core.md#i18n._) method: + +``` js +import { t } from "@lingui/macro" + +t`Hello World!` +// becomes "Salut le monde!" + +const name = "Fred" +t`My name is ${ name }` +// becomes "Je m'appelle Fred" +``` + +Plurals and selections are possible using plural and select methods: + +``` js +import { plural } from "@lingui/macro" + +const count = 42 + +plural(count, { + one: "# book", + other: "# books" +}) +// becomes "42 livres" +``` + +It's also possible to nest message formats. Each message format method in i18n has a standalone companion, which only returns message without performing the translation: + +``` js +import { t, select, plural } from "@lingui/macro" + +select(gender, { + offset: 1, + female: plural(numOfGuests, { + offset: 1, + 0: t`${host} does not give a party.`, + 1: t`${host} invites ${guest} to her party.`, + 2: t`${host} invites ${guest} and one other person to her party.`, + other: t`${host} invites ${guest} and # other people to her party.` + }), + male: plural(value, {...}), + other: plural(value, {...}), +}) +``` + +## Further reading + +- [`@lingui/cli` reference documentation](/docs/ref/cli.md) +- [Pluralization Guide](/docs/guides/plurals.md) diff --git a/website/docs/tutorials/react-native.md b/website/docs/tutorials/react-native.md new file mode 100644 index 000000000..3a87a3f33 --- /dev/null +++ b/website/docs/tutorials/react-native.md @@ -0,0 +1,222 @@ +# Internationalization of React Native apps + +In this tutorial, we'll learn how to add internationalization to an existing application in React Native. The React Native tutorial is largely similar to the one for [React](/docs/tutorials/react.md), and we highly recommend you check out that tutorial first because it covers installation, setup and other topics. Here we will cover parts that are relevant for React Native and hopefully answer all questions you may have. + +:::caution Note +The latest version of `@lingui/react` working out-of-the-box for React Native on Android is 2.2. Newer versions depend on the [Intl object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl) which is not available on the JavaScript Core that is used on Android by default. See the [JSC build scripts for Android](https://github.com/react-community/jsc-android-buildscripts) for possible solution or use the [Intl polyfill](https://github.com/andyearnshaw/Intl.js/). +::: + +If you're looking for a working solution, check out the [demo on Expo](https://exp.host/@vonovak/js-lingui-demo). The source code is [available here](https://github.com/vonovak/js-lingui-demo). + +## Let's Start + +We're going to translate the following app: + +```jsx +import React from 'react'; +import { StyleSheet, Text, View, Alert, SafeAreaView, Button } from 'react-native'; + +export default class App extends React.Component { + render() { + return ( + + ); + } + + showAlert = () => { + Alert.alert('', 'Do you want to set all your messages as read?'); + }; +} + +const Inbox = ({ messages, markAsRead, username }) => { + const messagesCount = messages.length; + + return ( + + + Message Inbox + + + See all unread messages or + + +} + +export function LoginLogoutButtons(props) { + return
+ Log in} /> + Log out} /> +
+} +``` + +If you need the prop to be displayed as a string-only translation, you can pass a message tagged with the [`t`](/docs/ref/macro.md#t) macro: + +```jsx +import { t } from "@lingui/macro" + +export default function ImageWithCaption(props) { + return {props.caption} +} + +export function HappySad(props) { + return
+ + +
+} +``` + +### Picking a message based on a variable + +Sometimes you need to pick between different messages to display, depending on the value of a variable. For example, imagine you have a numeric "status" code that comes from an API, and you need to display a message representing the current status. + +A simple way to do this, is to make an object that maps the possible values of "status" to message descriptors (tagged with the [`defineMessage`](/docs/ref/macro.md#definemessage) macro), and render them as needed with lazy translation: + +```jsx +import { defineMessage, Trans } from "@lingui/macro"; + +const STATUS_OPEN = 1, + STATUS_CLOSED = 2, + STATUS_CANCELLED = 4, + STATUS_COMPLETED = 8 + +const statusMessages = { + [STATUS_OPEN]: defineMessage({message: "Open"}), + [STATUS_CLOSED]: defineMessage({message: "Closed"}), + [STATUS_CANCELLED]: defineMessage({message: "Cancelled"}), + [STATUS_COMPLETED]: defineMessage({message: "Completed"}), +} + +export default function StatusDisplay({ statusCode }) { + return
+} +``` diff --git a/website/docs/tutorials/react.md b/website/docs/tutorials/react.md new file mode 100644 index 000000000..e1355744e --- /dev/null +++ b/website/docs/tutorials/react.md @@ -0,0 +1,719 @@ +# Internationalization of React apps + +Through this tutorial, we'll learn how to add internationalization (i18n) to an existing application in React JS. + +## Let's Start + +We're going to translate the following app: + +```jsx title="src/index.js" +import React from 'react' +import { render } from 'react-dom' +import Inbox from './Inbox' + +const App = () => + +render(, document.getElementById('root')) +``` + +```jsx title="src/Inbox.js" +import React from 'react' + +export default function Inbox() { + const messages = [{}, {}] + const messagesCount = messages.length + const lastLogin = new Date() + const markAsRead = () => { alert('Marked as read.') } + + return ( +
+

Message Inbox

+ +

+ See all unread messages{" or "} + mark them as read. +

+ +

+ { + messagesCount === 1 + ? `There's ${messagesCount} message in your inbox.` + : `There are ${messagesCount} messages in your inbox.` + } +

+ +
+ Last login on {lastLogin.toLocaleDateString()}. +
+
+ ) +} +``` + +As you can see, it's a simple mailbox application with only one page. + +## Installing LinguiJS + +Follow setup guide either for projects using [LinguiJS with Create React App](/docs/tutorials/setup-cra.md) or for general [React projects](/docs/tutorials/setup-react.md). + +## Setup + +We will directly start translating the `Inbox` component, but we need to complete one more step to setup our application. + +Components need to read information about current language and message catalogs from `i18n` instance. Initially, you can use the one created and exported from `@lingui/core` and later you can replace with your one if such need arise. + +In order to pass `i18n` around the I18nProvider wraps around React Context. + +Let's add all required imports and wrap our app inside [`I18nProvider`](/docs/ref/react.md#i18nprovider): + +```jsx title="src/index.js" +import React from 'react' +import { render } from 'react-dom' + +import { i18n } from '@lingui/core' +import { I18nProvider } from '@lingui/react' +import { messages } from './locales/en/messages' +import Inbox from './Inbox' + +i18n.load('en', messages) +i18n.activate('en') + +const App = () => ( + + + +) + +render(, document.getElementById('root')) +``` + +:::tip +You might be wondering: how are we going to change the active language? That's what the [`I18n.load`](/docs/ref/core.md#i18n.load) and [`i18n.activate`](/docs/ref/core.md#i18n.activate) calls are for! However, we cannot change the language unless we have the translated message catalog. And to get the catalog, we first need to extract all messages from the source code. + +Let's deal with language switching later... but if you're still curious, take a look at [example](/docs/guides/dynamic-loading-catalogs.md) with Redux and Webpack. +::: + +## Introducing internationalization + +Now we're finally going to *translate* our app. Actually, we aren't going to *translate* from one language to another right now. Instead, we're going to *prepare* our app for translation. This process is called *internationalization* and you should practice saying this word aloud until you're able to say it three times very quickly. + +:::note +From now on, *internationalization* will be shortened to a common numeronym *i18n*. +::: + +Let's start with the basics - static messages. These messages don't have any variables, HTML or components inside. Just some text: + +``` jsx +

Message Inbox

+``` + +All we need to make this heading translatable is wrap it in [`Trans`](/docs/ref/macro.md#trans) macro: + +``` jsx +import { Trans } from '@lingui/macro' + +

Message Inbox

+``` + +### Macros vs. Components + +If you're wondering what Babel macros are and what's the difference between macros and components, this short paragraph is for you. + +In general, macros are executed at compile time and they transform source code in some way. We use this feature in [LinguiJS](https://github.com/lingui/js-lingui) to simplify writing messages. + +Under the hood, all JSX macros are transformed into [`Trans`](/docs/ref/react.md#trans) component. Take a look at this short example. This is what we write: + +``` jsx +import { Trans } from '@lingui/macro' + +Hello {name} +``` + +And this is how the code is transformed: + +``` jsx +import { Trans } from '@lingui/react' + + +``` + +See the difference? [`Trans`](/docs/ref/react.md#trans) component receives `id` prop with a message in ICU MessageFormat syntax. +We could write it manually, but it's just easier and shorter to write JSX as we're used to and let macros to generate message for ourselves. + +### Extracting messages + +Back to our project. It's nice to use JSX and let macros generate messages under the hood. Let's check that it actually works correctly. + +All messages from the source code must be extracted into external message catalogs. Message catalogs are interchange files between developers and translators. We're going to have one file per language. Let's enter command line for a while. + +We're going to use [CLI](/docs/ref/cli.md) again. Run [`extract`](/docs/ref/cli.md#extract) command to extract messages: + +```bash +> lingui extract + +No locales defined! + +Add 'locales' to your configuration. See https://lingui.js.org/ref/conf.html#locales +``` + +We need here to fix the configuration. Create a `.linguirc` file: + +```json title=".linguirc" +{ + "locales": ["cs", "en"], + "catalogs": [{ + "path": "src/locales/{locale}/messages", + "include": ["src"] + }] +} +``` + +After fixing configuration, let's run [`extract`](/docs/ref/cli.md#extract) command again: + +```bash +> lingui extract + +Catalog statistics: +┌──────────┬─────────────┬─────────┐ +│ Language │ Total count │ Missing │ +├──────────┼─────────────┼─────────┤ +│ cs │ 1 │ 1 │ +│ en │ 1 │ 1 │ +└──────────┴─────────────┴─────────┘ + +(use "lingui extract" to update catalogs with new messages) +(use "lingui compile" to compile catalogs for production) +``` + +Nice! It seems it worked, we have two message catalogs (one per each locale) with 1 message each. Let's take a look at file `src/locales/cs/messages.po`: + +```gettext title="src/locales/cs/messages.po" +msgid "" +msgstr "" +"POT-Creation-Date: 2021-07-22 21:44+0900\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: cs\n" + +#: src/Inbox.js:12 +msgid "Message Inbox" +msgstr "" +``` + +That's the message we've wrapped inside [`Trans`](/docs/ref/macro.md#trans) macro! + +Let's add a Czech translation: + +```po title="src/locales/cs/messages.po" +#: src/Inbox.js:12 +msgid "Message Inbox" +msgstr "Příchozí zprávy" +``` + +If we run [`extract`](/docs/ref/cli.md#extract) command again, we'll see that all Czech messages are translated: + +```bash +> lingui extract + +Catalog statistics: +┌──────────┬─────────────┬─────────┐ +│ Language │ Total count │ Missing │ +├──────────┼─────────────┼─────────┤ +│ cs │ 1 │ 0 │ +│ en │ 1 │ 1 │ +└──────────┴─────────────┴─────────┘ + +(use "lingui extract" to update catalogs with new messages) +(use "lingui compile" to compile catalogs for production) +``` + +That's great! So, how we're going to load it into your app? [LinguiJS](https://github.com/lingui/js-lingui) introduces concept of compiled message catalogs. Before we load messages into your app, we need to compile them. As you see in the help in command output, we use [`compile`](/docs/ref/cli.md#compile) for that: + +```bash +> lingui compile + +Compiling message catalogs… +Done! +``` + +What just happened? If you look inside `locales/` directory, you'll see there's a new file for each locale: `messages.js`. This file contains compiled message catalog. + +Let's load this file into our app and set active language to `cs`: + +```jsx title="src/index.js" {6-7,10-14} +import React from 'react' +import { render } from 'react-dom' + +import { i18n } from '@lingui/core' +import { I18nProvider } from '@lingui/react' +import { messages as enMessages } from './locales/en/messages' +import { messages as csMessages } from './locales/cs/messages' +import Inbox from './Inbox' + +i18n.load({ + en: enMessages, + cs: csMessages, +}) +i18n.activate('cs') + +const App = () => ( + + + +) + +render(, document.getElementById('root')) +``` + +When we run the app, we see the inbox header is translated into Czech. + +### Summary of basic workflow + +Let's go through the workflow again: + +1. Add an [`I18nProvider`](/docs/ref/react.md#i18nprovider), this component provides the active language and catalog(s) to other components +2. Wrap messages in [`Trans`](/docs/ref/macro.md#trans) macro +3. Run [`extract`](/docs/ref/cli.md#extract) command to generate message catalogs +4. Translate message catalogs (send them to translators usually) +5. Run [`compile`](/docs/ref/cli.md#compile) to create runtime catalogs +6. Load runtime catalog +7. Profit + +Steps 1 and 7 needs to be done only once per project and locale. Steps 2 to 5 become the common workflow for internationalizing the app. + +It isn't necessary to extract/translate messages one by one. This usually happens in batches. When you finalize your work or PR, run [`extract`](/docs/ref/cli.md#extract) to generate latest message catalogs and before building the app for production, run [`compile`](/docs/ref/cli.md#compile). + +For more info about CLI, checkout the [CLI tutorial](/docs/tutorials/cli.md). + +## Formatting + +Let's move on to another paragraph in our project. This paragraph has some variables, some HTML and components inside: + +```jsx +

+ See all unread messages{" or "} + mark them as read. +

+``` + +Although it looks complex, there's really nothing special here. Just wrap the content of the paragraph in [`Trans`](/docs/ref/macro.md#trans) and let the macro do the magic: + +```jsx +

+ + See all unread messages{" or "} + mark them as read. + +

+``` + +Spooky, right? Let's see how this message actually looks in the message catalog. Run [`extract`](/docs/ref/cli.md#extract) command and take a look at the message: + +``` jsx +See all <0>unread messages or <1>mark them as read. +``` + +You may notice that components and html tags are replaced with indexed tags (*<0>*, *<1>*). This is a little extension to the ICU MessageFormat which allows rich-text formatting inside translations. Components and their props remain in the source code and don't scare our translators. The tags in the extracted message won't scare our translators either: they are used to seeing tags and their tools support them. Also, in case we change a `className`, we don't need to update our message catalogs. How cool is that? + +### JSX to MessageFormat transformations + +It may look a bit *hackish* at first sight, but these transformations are actually very easy, intuitive and feel very *Reactish*. We don't have to think about the MessageFormat, because it's created by the library. We write our components in the same way as we're used to and simply wrap text in the [`Trans`](/docs/ref/macro.md#trans) macro. + +Let's see some examples with MessageFormat equivalents: + +```jsx +// Expressions +

Hello {name}

+// Hello {name} +``` + +Any expressions are allowed, not just simple variables. The only difference is, only the variable name will be included in the extracted message: + +- Simple variable -> named argument: + + ```jsx +

Hello {name}

+ // Hello {name} + ``` + +- Any expression -> positional argument: + + ```jsx +

Hello {user.name}

+ // Hello {0} + ``` + +- Object, arrays, function calls -> positional argument: + + ```jsx +

The random number is {Math.rand()}

+ // The random number is {0} + ``` + +- Components might get tricky, but like we saw, it's really easy: + + ```jsx + Read more. + // Read <0>more. + ``` + + ```jsx + + Dear Watson,
+ it's not exactly what I had in my mind. +
+ // Dear Watson,<0/>it's not exactly what I had in my mind. + ``` + +Obviously, you can also shoot yourself in the foot. Some expressions are *valid* and won't throw any error, yet it doesn't make any sense to write: + +```jsx +// Oh, seriously? + + {isOpen && } + +``` + +If in doubt, imagine how the final message should look like. + +### Message ID + +At this point we're going to explain what message ID is and how to set it manually. + +Translators work with the *message catalogs* we saw above. No matter what format we use (gettext, xliff, json), it's just a mapping of a message ID to the translation. + +Here's an example of a simple message catalog in **Czech** language: + +| Message ID | Translation | +|------------|-------------| +| Monday | Pondělí | +| Tuesday | Úterý | +| Wednesday | Středa | + +... and the same catalog in **French** language: + +| Message ID | Translation | +|------------|-------------| +| Monday | Lundi | +| Tuesday | Mardi | +| Wednesday | Mercredi | + +The message ID is *what all catalogs have in common* – Lundi and Pondělí represent the same message in different languages. It's also the same as the `id` prop in [`Trans`](/docs/ref/macro.md#trans) macro. + +There are two approaches to how a message ID can be created: + +1. Using the source language (e.g. `Monday` from English, as in example above) +2. Using a custom id (e.g. `weekday.monday`) + +Both approaches have their pros and cons and it's not in the scope of this tutorial to compare them. + +By default, [LinguiJS](https://github.com/lingui/js-lingui) generates message ID from the content of [`Trans`](/docs/ref/macro.md#trans) macro, which means it uses the source language. However, we can easily override it by setting the `id` prop manually: + +```jsx +

Message Inbox

+``` + +This will generate: + +```jsx +

+``` + +In our message catalog, we'll see `inbox.title` as message ID, but we also get `Message Inbox` as default translation for English. + +For the rest of this tutorial, we'll use auto-generated message IDs to keep it simple. + +## Plurals + +Let's move on and add i18n to another text in our component: + +```jsx +

+ { + messagesCount === 1 + ? `There's ${messagesCount} message in your inbox.` + : `There are ${messagesCount} messages in your inbox.` + } +

+``` + +This message is a bit special, because it depends on the value of the `messagesCount` variable. Most languages use different forms of words when describing quantities - this is called [pluralization](https://en.wikipedia.org/wiki/Plural). + +What's tricky is that different languages use different number of plural forms. For example, English has only two forms - singular and plural - as we can see in the example above. However, Czech language has three plural forms. Some languages have up to 6 plural forms and some don't have plurals at all! + +:::tip +Plural forms for all languages can be found in the [CLDR repository](http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html). +::: + +Let's load plural data into our app: + +```jsx title="src/index.js" {6,11-14} +import React from 'react' +import { render } from 'react-dom' + +import { i18n } from '@lingui/core' +import { I18nProvider } from '@lingui/react' +import { en, cs } from 'make-plural/plurals' +import { messages as enMessages } from './locales/en/messages' +import { messages as csMessages } from './locales/cs/messages' +import Inbox from './Inbox' + +i18n.loadLocaleData({ + en: { plurals: en }, + cs: { plurals: cs }, +}) + +i18n.load({ + en: enMessages, + cs: csMessages, +}) + +i18n.activate('cs') + +const App = () => ( + + + +) + +render(, document.getElementById('root')) +``` + +### English plural rules + +How do we know which plural form we should use? It's very simple: we, as developers, only need to know plural forms of the language we use in our source. Our component is written in English, so looking at [English plural rules](http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#en) we'll need just two forms: + +`one` + +> Singular form + +`other` + +> Plural form + +We don't need to select these forms manually. We'll use [`Plural`](/docs/ref/macro.md#plural-1) component, which takes a `value` prop and based on the active language, selects the right plural form: + +``` jsx +import { Trans, Plural } from '@lingui/macro' + +

+ +

+``` + +This component will render `There's 1 message in your inbox` when `messageCount = 1` and `There are # messages in your inbox` for any other values of `messageCount`. `#` is a placeholder, which is replaced with `value`. + +Cool! Curious how this component is transformed under the hood and how the message looks in MessageFormat syntax? Run [`extract`](/docs/ref/cli.md#extract) command and find out by yourself: + +```icu-message-format +{messagesCount, plural, + one {There's # message in your inbox} + other {There are # messages in your inbox}} +``` + +In the catalog, you'll see the message in one line. Here we wrapped it to make it more readable. + +The [`Plural`](/docs/ref/macro.md#plural-1) is gone and replaced with [`Trans`](/docs/ref/react.md#trans) again! The sole purpose of [`Plural`](/docs/ref/macro.md#plural-1) is to generate proper syntax in message. + +Things are getting a bit more complicated, but i18n is a complex process. At least we don't have to write this message manually! + +### Beware of zeroes! + +Just a short detour, because it's a common misunderstanding. + +You may wonder why the following code doesn't work as expected: + +```jsx + +``` + +This component will render `There are 0 messages in your inbox` for `messagesCount = 0`. Why so? Because English doesn't have `zero` [plural form](http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#en). + +Looking at [English plural rules](http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html#en), it's: + +| N | Form | +|-----|-----------------------| +| 0 | other | +| 1 | one | +| n | other (anything else) | + +However, decimal numbers (even `1.0`) use `other` form every time: + +``` default +There are 0.0 messages in your inbox. +``` + +Aren't languages beautiful? + +### Exact forms + +Alright, back to our example. What if we really want to render `There are no messages` for `messagesCount = 0`? Exact forms to the rescue! + +```jsx + +``` + +What's that `_0`? MessageFormat allows exact forms, like `=0`. However, React props can't start with `=` and can't be numbers either, so we need to write `_N` instead of `=0`. + +It works with any number, so we can go wild and customize it this way: + +```jsx + +``` + +... and so on. Exact matches always take precedence before plural forms. + +### Variables and components + +Let's go back to our original pluralized message: + +```jsx +

+ +

+``` + +What if we want to use variables or components inside messages? Easy! Either wrap messages in [`Trans`](/docs/ref/macro.md#trans) macro or use template literals (suppose we have a variable `name`): + +```jsx +

+ There are # messages in your inbox, {name}} + /> +

+``` + +We can use nested macros, components, variables, expressions, really anything. + +This gives us enough flexibility for all usecases. + +### Custom message ID + +Let's finish this with a short example of plurals with custom ID. We can pass an `id` prop to [`Plural`](/docs/ref/macro.md#plural-1) as we would to [`Trans`](/docs/ref/macro.md#trans): + +```jsx +

+ +

+``` + +## Formats + +The last message in our component is again a bit specific: + +```jsx +
+ Last login on {lastLogin.toLocaleDateString()}. +
+``` + +`lastLogin` is a date object, and we need to format it properly. Dates are formatted differently in different languages, but we don't have to do this manually. The heavy lifting is done by the [Intl object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl), we'll just use [`i18n.date()`](/docs/ref/core.md#i18n.date) function. The `i18n` object can be accessed by [`useLingui`](/docs/ref/react.md#uselingui) hook: + +```jsx title="src/Inbox.js" +import { useLingui } from '@lingui/react' + +export default function Inbox() { + const { i18n } = useLingui() + // ... + + return ( +
+ {/* ... */} +
+ + Last login on {i18n.date(lastLogin)}. + +
+
+ ) +} +``` + +This will format the date using the conventional format for the active language. + +## Review + +After all modifications, the final component with i18n looks like this: + +``` jsx title="src/Inbox.js" +import React from 'react' +import { Trans, Plural } from '@lingui/macro' +import { useLingui } from '@lingui/react' + +export default function Inbox() { + const { i18n } = useLingui() + const messages = [{}, {}] + const messagesCount = messages.length + const lastLogin = new Date() + const markAsRead = () => { alert('Marked as read.') } + + return ( +
+

Message Inbox

+ +

+ + See all unread messages{" or "} + mark them as read. + +

+ +

+ +

+ +
+ + Last login on {i18n.date(lastLogin)}. + +
+
+ ) +} +``` + +That's all for this tutorial! Checkout the reference documentation or various guides in the documentation for more info and happy internationalizing! + +## Further reading + +- [Common i18n patterns in React](/docs/tutorials/react-patterns.md) +- [`@lingui/react` reference documentation](/docs/ref/react.md) +- [`@lingui/cli` reference documentation](/docs/ref/cli.md) +- [Pluralization Guide](/docs/guides/plurals.md) diff --git a/website/docs/tutorials/setup-cra.md b/website/docs/tutorials/setup-cra.md new file mode 100644 index 000000000..71f0578b7 --- /dev/null +++ b/website/docs/tutorials/setup-cra.md @@ -0,0 +1,75 @@ +# Setup with Create React App + +[Create React App](https://github.com/facebook/create-react-app) is a framework for writing React apps with no build configuration. This guide suppose you use Create React App 2.0 (the default version). + +## Install + +1. Follow [Create React App](https://github.com/facebook/create-react-app) documentation for more info. Bootstrap your project with following commands: + + ```bash + npx create-react-app my-app + cd my-app + ``` + +2. Install `@lingui/cli`, `@lingui/macro` and Babel core packages as a development dependencies and `@lingui/react` as a runtime dependency. + + ```bash npm2yarn + npm install --save-dev @lingui/cli @lingui/macro + npm install --save @lingui/react + ``` + + In case you get errors with `import/no-extraneous-dependencies` eslint rule feel free to add the dependencies as non-dev + + ```bash npm2yarn + npm install --save-dev @lingui/cli + npm install --save @lingui/macro @lingui/react + ``` + +3. Create `.linguirc` file with LinguiJS configuration in root of your project (next to `package.json`): + + ``` json title=".linguirc" + { + "locales": ["en", "cs", "fr"], + "sourceLocale": "en", + "catalogs": [{ + "path": "src/locales/{locale}/messages", + "include": ["src"] + }], + "format": "po" + } + ``` + + This configuration will extract messages from source files inside `src` directory and write them into message catalogs in `src/locales` (English catalog would be in e.g: `src/locales/en/messages.po`). Finally, PO format is recommended. + See [`format`](/docs/ref/catalog-formats.md) documentation for other available formats. + +4. Optionally, add following scripts to your `package.json` for convenience: + + ```json title="package.json" + { + "scripts": { + "extract": "lingui extract", + "compile": "lingui compile" + } + } + ``` + +5. Check the installation by running extract command: + + ```bash npm2yarn + npm run extract + ``` + + There should be no error and you can find extracted messages in `src/locales`. + +Congratulations! You've successfully set up project with LinguiJS. Now it's good time to follow [React tutorial](/docs/tutorials/react.md) or read about [ICU Message Format](/docs/ref/message-format.md) which is used in messages. + +## Further reading + +Checkout these reference guides for full documentation: + +- [Internationalization of React apps](/docs/tutorials/react.md) +- [Common i18n patterns in React](/docs/tutorials/react-patterns.md) +- [`@lingui/react` reference documentation](/docs/ref/react.md) +- [ICU Message Format](/docs/ref/message-format.md) +- [CLI reference](/docs/ref/cli.md) +- [Configuration reference](/docs/ref/conf.md) diff --git a/website/docs/tutorials/setup-react.md b/website/docs/tutorials/setup-react.md new file mode 100644 index 000000000..910993524 --- /dev/null +++ b/website/docs/tutorials/setup-react.md @@ -0,0 +1,102 @@ +# Setup with React project + +:::info +If you use Create React App, even ejected, follow [LinguiJS and Create React App](/docs/tutorials/setup-cra.md) setup guide. +::: + +This setup guide is for any project which uses React. + +## Install + +1. Install `@lingui/cli`, `@lingui/macro`, *babel-plugin-macros* and Babel core packages as a development dependencies and `@lingui/react` as a runtime dependency. + + ```bash npm2yarn + npm install --save-dev @lingui/cli @babel/core + npm install --save-dev @lingui/macro babel-plugin-macros # required for macros + npm install --save @lingui/react + ``` + + In case you get errors with `import/no-extraneous-dependencies` eslint rule feel free to add the dependencies as non-dev + + ```bash npm2yarn + npm install --save-dev @lingui/cli @babel/core + npm install --save-dev babel-plugin-macros # required for macros + npm install --save @lingui/macro @lingui/react + ``` + +2. Add `macros` plugin to Babel config (e.g: `.babelrc`): + + ``` json + { + "plugins": [ + "macros" + ] + } + ``` + + :::info + If you use any preset, check first if it contains `macros` plugin. These presets already includes `macros` plugin: `react-scripts` + ::: + +3. Create `.linguirc` file with LinguiJS configuration in root of your project (next to `package.json`). Replace `src` with a directory name where you have source files: + + ```json title=".linguirc" + { + "locales": ["en", "cs", "fr"], + "catalogs": [{ + "path": "src/locales/{locale}/messages", + "include": ["src"] + }], + "format": "po" + } + ``` + + PO format is recommended for message catalogs. See [`format`](/docs/ref/catalog-formats.md) documentation for other available formats. + +4. Add following scripts to your `package.json`: + + ```json title="package.json" + { + "scripts": { + "extract": "lingui extract", + "compile": "lingui compile", + } + } + ``` + +5. Check the installation by running: + + ```bash npm2yarn + npm run extract + ``` + + There should be no error and you should see output similar following: + + ```bash npm2yarn + > npm run extract + + Catalog statistics: + ┌──────────┬─────────────┬─────────┐ + │ Language │ Total count │ Missing │ + ├──────────┼─────────────┼─────────┤ + │ cs │ 0 │ 0 │ + │ en │ 0 │ 0 │ + │ fr │ 0 │ 0 │ + └──────────┴─────────────┴─────────┘ + + (use "lingui extract" to update catalogs with new messages) + (use "lingui compile" to compile catalogs for production) + ``` + +Congratulations! You've successfully set up project with LinguiJS. Now it's good time to follow [React tutorial](/docs/tutorials/react.md) or read about [ICU Message Format](/docs/ref/message-format.md) which is used in messages. + +## Further reading + +Checkout these reference guides for full documentation: + +- [Internationalization of React apps](/docs/tutorials/react.md) +- [Common i18n patterns in React](/docs/tutorials/react-patterns.md) +- [`@lingui/react` reference documentation](/docs/ref/react.md) +- [ICU Message Format](/docs/ref/message-format.md) +- [CLI reference](/docs/ref/cli.md) +- [Configuration reference](/docs/ref/conf.md) diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js new file mode 100644 index 000000000..055e74ff5 --- /dev/null +++ b/website/docusaurus.config.js @@ -0,0 +1,131 @@ +const copyright = `Copyright © 2017-2022 Tom Ehrlich, © 2022-${new Date().getFullYear()} Crowdin.`; +const url = process.env['SITE_URL'] || 'https://lingui.dev'; + +/** @type {import('@docusaurus/types').DocusaurusConfig} */ +module.exports = { + title: 'Lingui', + tagline: 'Professional localization framework for global products', + url: url, + baseUrl: '/', + onBrokenLinks: 'throw', + favicon: 'img/favicon.ico', + organizationName: 'lingui', + themeConfig: { + colorMode: { + disableSwitch: false, + respectPrefersColorScheme: true, + }, + navbar: { + title: '', + logo: { + alt: 'Lingui', + src: 'img/logo-small.svg', + }, + items: [ + { + to: '/introduction', + activeBasePath: '/introduction', + label: 'Docs', + position: 'left', + }, + { + href: 'https://github.com/lingui/js-lingui', + position: 'right', + className: 'header-github-link', + 'aria-label': 'GitHub repository', + }, + ], + }, + footer: { + style: 'dark', + copyright, + links: [ + { + title: 'Docs', + items: [ + { + label: 'Introduction', + to: '/introduction/', + }, + { + label: 'CLI Reference', + to: '/ref/cli', + }, + { + label: 'Configuration', + to: '/ref/conf', + }, + ], + }, + { + title: 'Community', + items: [ + { + label: 'Discord', + href: 'https://discord.gg/gFWwAYnMtA', + }, + { + label: 'Stack Overflow', + href: 'https://stackoverflow.com/questions/tagged/linguijs', + }, + { + label: 'Discussions', + href: 'https://github.com/lingui/js-lingui/discussions', + }, + ], + }, + { + title: 'More', + items: [ + { + label: 'GitHub', + href: 'https://github.com/lingui/js-lingui', + }, + { + label: 'Twitter', + href: 'https://twitter.com/LinguiJS', + }, + { + label: 'ICU Playground', + href: 'https://format-message.github.io/icu-message-format-for-translators/editor.html', + }, + ], + }, + ], + }, + algolia: { + appId: 'JJFVB18YWS', + apiKey: '50e12ed6fd44188e9abd4e0e9d2cb935', + indexName: 'lingui', + }, + prism: { + theme: require('prism-react-renderer/themes/github'), + darkTheme: require('prism-react-renderer/themes/palenight'), + additionalLanguages: ['bash', 'docker', 'gettext', 'icu-message-format', 'ignore'], + }, + }, + presets: [ + [ + '@docusaurus/preset-classic', + { + docs: { + sidebarPath: require.resolve('./sidebars.ts'), + sidebarCollapsible: false, + breadcrumbs: false, + routeBasePath: '/', + editUrl: 'https://github.com/lingui/js-lingui/tree/main/website', + remarkPlugins: [[require('@docusaurus/remark-plugin-npm2yarn'), { sync: true }]], + }, + sitemap: { + changefreq: 'weekly', + priority: 0.5, + filename: 'sitemap.xml', + }, + theme: { + customCss: require.resolve('./src/css/custom.scss'), + }, + }, + ], + ], + plugins: ['docusaurus-plugin-sass'], +}; diff --git a/website/linkcheck-ignore.txt b/website/linkcheck-ignore.txt new file mode 100644 index 000000000..a5ace2765 --- /dev/null +++ b/website/linkcheck-ignore.txt @@ -0,0 +1,2 @@ +http://localhost:\d{4} +https://.*.algolia.net diff --git a/website/package.json b/website/package.json new file mode 100644 index 000000000..8c09cc540 --- /dev/null +++ b/website/package.json @@ -0,0 +1,71 @@ +{ + "name": "js-lingui-website", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "lint": "eslint src *.js *.ts && remark . --ext md,mdx --quiet --frail --rc-path .remarkrc.mjs && editorconfig-checker", + "lintFix": "eslint --fix src *.js *.ts", + "checkFormat": "prettier --check .", + "fixFormat": "prettier --write ." + }, + "dependencies": { + "@docusaurus/core": "2.2.0", + "@docusaurus/preset-classic": "2.2.0", + "@docusaurus/remark-plugin-npm2yarn": "^2.2.0", + "@mdx-js/react": "1.6.22", + "clsx": "1.2.1", + "docusaurus-plugin-sass": "^0.2.3", + "react": "17.0.0", + "react-dom": "17.0.0", + "sass": "^1.57.1" + }, + "browserslist": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "devDependencies": { + "@docusaurus/eslint-plugin": "2.2.0", + "@docusaurus/module-type-aliases": "2.2.0", + "@docusaurus/utils": "2.2.0", + "@tsconfig/docusaurus": "1.0.6", + "@types/react": "17.0.0", + "@types/react-helmet": "6.1.6", + "@types/react-router-dom": "5.3.3", + "@typescript-eslint/eslint-plugin": "5.48.1", + "@typescript-eslint/parser": "5.48.1", + "editorconfig-checker": "4.0.0", + "eslint": "8.31.0", + "eslint-plugin-react": "7.32.0", + "eslint-plugin-react-hooks": "4.6.0", + "prettier": "2.8.2", + "remark-cli": "11.0.0", + "remark-heading-id": "^1.0.0", + "remark-lint-match-punctuation": "0.2.1", + "remark-lint-no-duplicate-headings-in-section": "3.1.1", + "remark-lint-no-tabs": "3.1.1", + "remark-lint-no-trailing-spaces": "2.0.1", + "remark-preset-lint-consistent": "5.1.1", + "remark-preset-lint-markdown-style-guide": "5.1.2", + "remark-preset-lint-recommended": "6.1.2", + "remark-retext": "5.0.1", + "remark-validate-links": "12.1.0", + "retext-diacritics": "4.2.0", + "retext-english": "4.1.0", + "retext-indefinite-article": "4.2.0", + "retext-redundant-acronyms": "4.3.0", + "retext-repeated-words": "4.2.0", + "retext-sentence-spacing": "5.2.0", + "retext-syntax-mentions": "3.1.0", + "retext-syntax-urls": "3.1.2", + "typescript": "4.9.4", + "typescript-plugin-css-modules": "^4.1.1", + "unified": "10.1.2" + } +} diff --git a/website/sidebars.ts b/website/sidebars.ts new file mode 100644 index 000000000..b59b2f6fa --- /dev/null +++ b/website/sidebars.ts @@ -0,0 +1,175 @@ +const sidebar = [ + { + type: 'doc', + label: 'Introduction', + id: 'introduction', + }, + { + type: 'category', + label: 'Installation', + items: [ + { + type: 'doc', + label: 'Create React App', + id: 'tutorials/setup-cra', + }, + { + type: 'doc', + label: 'React project', + id: 'tutorials/setup-react', + }, + ], + }, + { + type: 'category', + label: 'Tutorials', + items: [ + { + type: 'doc', + label: 'React', + id: 'tutorials/react', + }, + { + type: 'doc', + label: 'React - common patterns', + id: 'tutorials/react-patterns', + }, + { + type: 'doc', + label: 'React Native', + id: 'tutorials/react-native', + }, + { + type: 'doc', + label: 'JavaScript', + id: 'tutorials/javascript', + }, + { + type: 'doc', + label: 'CLI', + id: 'tutorials/cli', + }, + ], + }, + { + type: 'category', + label: 'Guides', + items: [ + { + type: 'doc', + label: 'Testing', + id: 'guides/testing', + }, + { + type: 'doc', + label: 'TypeScript', + id: 'guides/typescript', + }, + { + type: 'doc', + label: 'Excluding build files', + id: 'guides/excluding-build-files', + }, + { + type: 'doc', + label: 'Dynamic loading', + id: 'guides/dynamic-loading-catalogs', + }, + { + type: 'doc', + label: 'Optimized components', + id: 'guides/optimized-components', + }, + { + type: 'doc', + label: 'Pluralization', + id: 'guides/plurals', + }, + { + type: 'doc', + label: 'Monorepo', + id: 'guides/monorepo', + }, + { + type: 'doc', + label: 'Pseudolocalization', + id: 'guides/pseudolocalization', + }, + ], + }, + { + type: 'category', + label: 'API Reference', + items: [ + { + type: 'doc', + label: '@lingui/core', + id: 'ref/core', + }, + { + type: 'doc', + label: '@lingui/react', + id: 'ref/react', + }, + { + type: 'doc', + label: '@lingui/macro', + id: 'ref/macro', + }, + { + type: 'doc', + label: '@lingui/cli', + id: 'ref/cli', + }, + { + type: 'doc', + label: '@lingui/locale-detector', + id: 'ref/locale-detector', + }, + { + type: 'doc', + label: '@lingui/loader', + id: 'ref/loader', + }, + { + type: 'doc', + label: '@lingui/snowpack-plugin', + id: 'ref/snowpack-plugin', + }, + { + type: 'doc', + label: 'Lingui Configuration', + id: 'ref/conf', + }, + { + type: 'doc', + label: 'Catalog formats', + id: 'ref/catalog-formats', + }, + { + type: 'doc', + label: 'ICU MessageFormat', + id: 'ref/message-format', + }, + ], + }, + { + type: 'category', + label: 'Sync & Collaboration Tools', + items: ['tools/introduction', 'tools/crowdin', 'tools/translation-io'], + }, + { + type: 'category', + label: 'Resources', + items: ['misc/community', 'misc/resources', 'misc/showroom', 'misc/react-intl', 'misc/tooling'], + }, + { + type: 'category', + label: 'Releases', + items: ['releases/migration-3'], + }, +]; + +module.exports = { + sidebar, +}; diff --git a/website/src/components/Button.tsx b/website/src/components/Button.tsx new file mode 100644 index 000000000..a8bf3f281 --- /dev/null +++ b/website/src/components/Button.tsx @@ -0,0 +1,21 @@ +import React from 'react'; +import Link from '@docusaurus/Link'; + +type ButtonProps = { + href: string; + children: string; + isOutline?: boolean; +}; + +const Button = (props: ButtonProps): React.ReactElement => { + return ( + + {props.children} + + ); +}; + +export default Button; diff --git a/website/src/components/Features.module.scss b/website/src/components/Features.module.scss new file mode 100644 index 000000000..34a8fa405 --- /dev/null +++ b/website/src/components/Features.module.scss @@ -0,0 +1,101 @@ +.features { + &--wrap { + display: grid; + gap: 1.5rem; + row-gap: 0; + grid-template-columns: repeat(1, 1fr); + + @media screen and (min-width: 581px) { + grid-template-columns: repeat(2, 1fr); + } + + @media only screen and (min-width: 851px) { + grid-template-columns: repeat(3, 1fr); + } + } + + &--left-img { + position: relative; + grid-row: 2; + grid-column: 1 / -1; + height: 0; + z-index: 0; + + img { + bottom: -40px; + position: absolute; + left: -150px; + width: 900px; + height: 680px; + } + } + + &--right-img { + position: relative; + grid-row: 4; + grid-column: 1 / -1; + height: 0; + z-index: 0; + + img { + top: -70px; + position: absolute; + right: -150px; + width: 900px; + height: 680px; + } + } +} + +.linkFeatures { + margin-top: 2rem; + text-align: center; +} + +.featureCard { + background-color: var(--lingui-card-bg); + backdrop-filter: blur(10px); + border-radius: 15px; + padding: 1.5rem; + display: grid; + z-index: 1; + position: relative; + border: 1px solid; + border-color: var(--lingui-card-border-color); + margin-bottom: 1.5rem; + grid-template-columns: 1fr; + grid-template-rows: 64px 1fr; + + &CellWide { + @media screen and (min-width: 851px) { + grid-column-start: auto; + grid-column-end: span 2; + } + } + + img { + width: 4rem; + } + + &Content { + margin-top: 1rem; + } + + h3 { + color: var(--ifm-heading-color); + font-weight: normal; + font-size: 1.375rem; + } + + p { + color: var(--p-color); + font-size: var(--font-size); + } +} + +@media only screen and (max-width: 600px) { + .featureCard { + text-align: left; + column-gap: 2rem; + } +} diff --git a/website/src/components/Features.tsx b/website/src/components/Features.tsx new file mode 100644 index 000000000..3d17d69b5 --- /dev/null +++ b/website/src/components/Features.tsx @@ -0,0 +1,197 @@ +import React from 'react'; +import { useBaseUrlUtils } from '@docusaurus/useBaseUrl'; + +import styles from './Features.module.scss'; +import Button from './Button'; +import clsx from 'clsx'; + +interface FeatureDetails { + title: string; + description: JSX.Element; + image: string; + additionalClass: string; +} + +const FEATURES: FeatureDetails[] = [ + { + title: 'Universal', + description: ( +

+ Use it everywhere. @lingui/core provides the essential intl functionality which works in any + JavaScript project, while @lingui/react offers components for leveraging React rendering. +

+ ), + image: 'universal.svg', + additionalClass: '', + }, + { + title: 'Powerful Tooling', + description: ( +

+ Manage the whole intl workflow using Lingui CLI. It extracts messages from source code, validates messages from + translators and checks that all messages are translated before shipping to production. +

+ ), + image: 'tooling.png', + additionalClass: '', + }, + { + title: 'Full Rich-Text Support', + description: ( +

+ Use React components inside localized messages without any limitations. Writing rich-text messages is as easy as + writing JSX. +

+ ), + image: 'rich-text.svg', + additionalClass: '', + }, + { + title: 'Headache-Free Professional Localization', + description: ( +
+
+ Candidate knows 1 language, but{' '} + + Candidate knows 10 languages + + . +
+

+ You don't have to know how many plurals the language has. Create a product in one language, and deliver a + perfect translation to users. Lingui follows Unicode ICU standards to handle plurals, genders, and selects. +

+
+ ), + image: 'clean-and-readable.png', + additionalClass: styles.featureCardCellWide, + }, + { + title: 'Suitable for All Localization Platforms', + description: ( +

+ Integrate Lingui into your existing workflow. It supports message keys as well as auto-generated messages. + Translations are stored in JSON or standard PO file, which is supported in almost all translation tools. +

+ ), + image: 'all-platforms.svg', + additionalClass: '', + }, + { + title: 'Verified by Thousands of People', + description: ( +

+ Lingui has been used and tested by thousands of satisfied users and has been proven to provide accurate and + efficient i18n and l10n results. Join the thousands of satisfied customers. +

+ ), + image: 'verified.svg', + additionalClass: '', + }, + { + title: 'Battle-Proven & Future Proof', + description: ( +

+ During the last 7 years, we've seen a lot of localization projects and developed a tool to handle them all. +
+ If your team needs to edit source texts without developer involvement, or you want the ability to deliver the + most recent translations directly to your customers – we've got you covered. +

+ ), + image: 'time.svg', + additionalClass: styles.featureCardCellWide, + }, + { + title: 'Fully Fledged', + description: ( +

+ Lingui is a general-purpose framework with bindings for React. Use it on a server in Node.js or Vanilla + JavaScript. +
A set of optional modules would implement lazy loading of language packs, user locale detection, and more. +

+ ), + image: 'fledged.svg', + additionalClass: styles.featureCardCellWide, + }, + { + title: 'Free and Fully Supported', + description: ( +

+ With Lingui, you have access to a powerful i18n tool at no cost and our team is always available to assist you + with any questions. +

+ ), + image: 'free.svg', + additionalClass: '', + }, +]; + +const FeatureCard = ({ title, description, image, additionalClass }: FeatureDetails): React.ReactElement => ( +
+ Feature Logo +
+

{title}

+
{description}
+
+
+); + +const Features = (): React.ReactElement => { + const { withBaseUrl } = useBaseUrlUtils(); + + return ( +
+
+
+
+

Why Choose Lingui for Your Localization Projects?

+
+
+
+ {FEATURES.slice(0, 4).map((feature: FeatureDetails, idx) => ( + + ))} +
+ +
+ {FEATURES.slice(4, 6).map((feature: FeatureDetails, idx) => ( + + ))} +
+ +
+ {FEATURES.slice(6).map((feature: FeatureDetails, idx) => ( + + ))} +
+
+
+
+
+ +
+
+ ); +}; + +export default Features; diff --git a/website/src/components/Header.module.scss b/website/src/components/Header.module.scss new file mode 100644 index 000000000..15d6b1ae7 --- /dev/null +++ b/website/src/components/Header.module.scss @@ -0,0 +1,73 @@ +.heroBanner { + text-align: center; + position: relative; + + &Holder { + padding: 0; + overflow: hidden; + background: var(--ifm-hero-background-bg); + border-radius: 0 0 var(--lingui-card-raduis) var(--lingui-card-raduis); + display: flex; + flex: 1; + position: relative; + + @media screen and (max-width: 850px) { + border-radius: 0 0 var(--lingui-card-raduis-sm) var(--lingui-card-raduis-sm); + } + + &:before, + &:after { + content: ''; + display: block; + position: absolute; + width: 562px; + height: 100%; + background-repeat: no-repeat; + background-size: cover; + top: 0; + z-index: 0; + + @media screen and (max-width: 850px) { + opacity: 0.5; + } + } + + &:before { + left: 0; + background-image: url('/img/header/left-bg.svg'); + } + + &:after { + right: 0; + background-image: url('/img/header/right-bg.svg'); + } + } + + &Container { + position: relative; + z-index: 1; + padding-bottom: 4rem; + padding-top: 4rem; + + @media screen and (max-width: 850px) { + backdrop-filter: blur(10px); + } + } +} + +.heroTitle { + font-size: 3rem; + font-weight: 700; +} + +.heroBannerLogo { + max-width: 170px; + max-height: 170px; + margin-left: -10px; +} + +.heroButtons { + display: flex; + justify-content: center; + align-items: center; +} diff --git a/website/src/components/Header.tsx b/website/src/components/Header.tsx new file mode 100644 index 000000000..f9503953d --- /dev/null +++ b/website/src/components/Header.tsx @@ -0,0 +1,47 @@ +import React from 'react'; +import clsx from 'clsx'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import Button from './Button'; + +import styles from './Header.module.scss'; + +const Header = (): React.ReactElement => { + return ( +
+
+
+
+
+ Lingui +

Internationalization Framework for Global Products

+

+ JavaScript library for internalization (i18n) of JavaScript projects, including React, Vue, Node.js, and + Angular. +

+ +
+ + +
+