Thank you for your interest in contributing to the Uniswap interface! 🦄 # Coding **Please open all pull requests against the `main` branch.** CI checks will run against all PRs. See [README.md](https://github.com/Uniswap/uniswap-interface/blob/main/README.md) for instructions on running the app locally. Start with issues with label [good first issue](https://github.com/Uniswap/uniswap-interface/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). # Translations Help Uniswap cover more languages! Uniswap interface uses PO file to manage translations. See [Working with PO Files](https://www.gnu.org/software/trans-coord/manual/gnun/html_node/PO-Files.html#PO-Files) ## Starting a New Translation Uniswap interface uses [LinguiJS](https://lingui.js.org/) to manage locales and translations. - Follow instructions in [README.md](https://github.com/Uniswap/uniswap-interface/blob/main/README.md) for instructions on running the app locally - Add `locale` to locales array in [lingui.config.js](https://github.com/Uniswap/uniswap-interface/blob/main/lingui.config.js#L14) - Add `locale` to locales array in [i18n.tsx](https://github.com/Uniswap/uniswap-interface/blob/main/src/i18n.tsx#L7) - Run `yarn i18n:extract` to generate [src/locales/{locale}.po](https://github.com/Uniswap/uniswap-interface/tree/main/src/locales) - Continue to [Existing Translation](#existing-translation) below ## Existing Translation - Edit [src/locales](https://github.com/Uniswap/uniswap-interface/tree/main/src/locales)/{locale}.po either manually or with a PO editor (see [Editing PO Files](https://www.gnu.org/software/trans-coord/manual/web-trans/html_node/PO-Editors.html)). - Run `yarn i18n:compile` to generate src/locales/{locale}.js - Run `yarn start` to start a server locally to verify changes (append `?lng={locale}` query param) - Submit PR against main