aboutsummaryrefslogtreecommitdiff
path: root/docs/tutorial-extras/translate-your-site.md
diff options
context:
space:
mode:
authorNikita Tchayka <nikitatchayka@gmail.com>2023-08-27 13:01:29 +0100
committerNikita Tchayka <nikitatchayka@gmail.com>2023-08-27 13:01:29 +0100
commit659aeff39ded6bf6bd0dfc40ccc5ff07ffc10f51 (patch)
treeeca686ecb16ff82a1fd1f731aa237841acdfb982 /docs/tutorial-extras/translate-your-site.md
downloadneohaskell.github.io-659aeff39ded6bf6bd0dfc40ccc5ff07ffc10f51.tar.gz
neohaskell.github.io-659aeff39ded6bf6bd0dfc40ccc5ff07ffc10f51.tar.bz2
neohaskell.github.io-659aeff39ded6bf6bd0dfc40ccc5ff07ffc10f51.zip
Update
Diffstat (limited to 'docs/tutorial-extras/translate-your-site.md')
-rw-r--r--docs/tutorial-extras/translate-your-site.md88
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/tutorial-extras/translate-your-site.md b/docs/tutorial-extras/translate-your-site.md
new file mode 100644
index 0000000..caeaffb
--- /dev/null
+++ b/docs/tutorial-extras/translate-your-site.md
@@ -0,0 +1,88 @@
+---
+sidebar_position: 2
+---
+
+# Translate your site
+
+Let's translate `docs/intro.md` to French.
+
+## Configure i18n
+
+Modify `docusaurus.config.js` to add support for the `fr` locale:
+
+```js title="docusaurus.config.js"
+module.exports = {
+ i18n: {
+ defaultLocale: 'en',
+ locales: ['en', 'fr'],
+ },
+};
+```
+
+## Translate a doc
+
+Copy the `docs/intro.md` file to the `i18n/fr` folder:
+
+```bash
+mkdir -p i18n/fr/docusaurus-plugin-content-docs/current/
+
+cp docs/intro.md i18n/fr/docusaurus-plugin-content-docs/current/intro.md
+```
+
+Translate `i18n/fr/docusaurus-plugin-content-docs/current/intro.md` in French.
+
+## Start your localized site
+
+Start your site on the French locale:
+
+```bash
+npm run start -- --locale fr
+```
+
+Your localized site is accessible at [http://localhost:3000/fr/](http://localhost:3000/fr/) and the `Getting Started` page is translated.
+
+:::caution
+
+In development, you can only use one locale at a same time.
+
+:::
+
+## Add a Locale Dropdown
+
+To navigate seamlessly across languages, add a locale dropdown.
+
+Modify the `docusaurus.config.js` file:
+
+```js title="docusaurus.config.js"
+module.exports = {
+ themeConfig: {
+ navbar: {
+ items: [
+ // highlight-start
+ {
+ type: 'localeDropdown',
+ },
+ // highlight-end
+ ],
+ },
+ },
+};
+```
+
+The locale dropdown now appears in your navbar:
+
+![Locale Dropdown](./img/localeDropdown.png)
+
+## Build your localized site
+
+Build your site for a specific locale:
+
+```bash
+npm run build -- --locale fr
+```
+
+Or build your site to include all the locales at once:
+
+```bash
+npm run build
+```