mirror of
https://github.com/squidfunk/mkdocs-material.git
synced 2024-06-14 11:52:32 +03:00
237 lines
11 KiB
Markdown
237 lines
11 KiB
Markdown
|
# Adding a translation
|
|||
|
|
|||
|
We can't believe it ourselves but with the help of community contribution,
|
|||
|
Material for MkDocs already supports 50+ languages. As you can imagine, it's
|
|||
|
impossible for us maintainers to keep all languages up-to-date (we just don't
|
|||
|
speak 50+ languages). That's why we need the help of our international community
|
|||
|
to help us add new or update translations, as new feature releases sometimes
|
|||
|
require new translations.
|
|||
|
|
|||
|
If you would like to help us to make Material for MkDocs more globally
|
|||
|
accessible and have noticed a missing translation in your language or want to
|
|||
|
add a new one. In that case, we have simplified the contributing process for you.
|
|||
|
Just follow the few steps of the guide below.
|
|||
|
|
|||
|
## Before adding a translation
|
|||
|
|
|||
|
Given the constant expansion of our project and the frequent translation updates,
|
|||
|
it is essential to check the following things before submitting a translation
|
|||
|
contribution.
|
|||
|
|
|||
|
### List of supported languages
|
|||
|
|
|||
|
Chances are your language is already supported by Material for MkDocs. To check
|
|||
|
if your language is supported or needs improvements and updates, we would advise
|
|||
|
you to check the [list of supported languages].
|
|||
|
|
|||
|
[:material-earth-plus: Search for your language][Search for your language]{ .md-button .md-button--primary }
|
|||
|
|
|||
|
[list of supported languages]: https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language
|
|||
|
[Search for your language]: https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language
|
|||
|
|
|||
|
In case your language is already supported, you can add **missing translations**,
|
|||
|
displayed below each language. If your language is not on the list of supported
|
|||
|
languages, you can contribute translations by opening a new issue and
|
|||
|
[adding a translation] by following the guide below.
|
|||
|
|
|||
|
> __Please note,__ that we use region designators in conjunction with regions,
|
|||
|
> and cluster all languages using language designators with regions. Language
|
|||
|
> region designators consist of codes that represent countries and follow the
|
|||
|
> [ISO 3166-1 standard], which employs two-letter capitalized codes. If you need
|
|||
|
> to specify a particular dialect, please utilize this system by hyphenating a
|
|||
|
> language designator with a region designator. For instance, to specify the
|
|||
|
> British English, use the "en" language designator and indicate the locale as
|
|||
|
> "en-GB."
|
|||
|
|
|||
|
[Adding a translation]: https://github.com/squidfunk/mkdocs-material/issues/new?assignees=&labels=change+request&template=04-add-a-translation.yml&title=Add+translations+for+...
|
|||
|
[ISO 3166-1 standard]: https://lingohub.com/developers/supported-locales/language-designators-with-regions
|
|||
|
|
|||
|
### Issue tracker
|
|||
|
|
|||
|
Our issue tracker might already contain an open issue with a contribution with
|
|||
|
missing translations for your language that still needs to be integrated by us
|
|||
|
maintainers. To avoid investing your time in duplicated work, please search the
|
|||
|
[issue tracker] beforehand.
|
|||
|
|
|||
|
[:octicons-issue-opened-24: Search our issue tracker][Search our issue tracker]{ .md-button .md-button--primary }
|
|||
|
|
|||
|
[issue tracker]: https://github.com/squidfunk/mkdocs-material/issues
|
|||
|
[search our issue tracker]: https://github.com/squidfunk/mkdocs-material/issues
|
|||
|
|
|||
|
### Update supported languages
|
|||
|
|
|||
|
Have you noticed that other users haven't yet updated your language? You are
|
|||
|
welcome to contribute and add any missing translations by clicking the link
|
|||
|
provided underneath each language in the [list of supported languages]. This
|
|||
|
link will direct you to a new issue template that is pre-filled with all the
|
|||
|
necessary information. Any fields that can be adjusted will be highlighted for
|
|||
|
your convenience.
|
|||
|
|
|||
|
[:material-translate-variant: Add missing translations][Update your translations]{ .md-button .md-button--primary }
|
|||
|
|
|||
|
[List of supported languages]: https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language
|
|||
|
[Update your translations]: https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
At this point, when you have made sure that Material for MkDocs doesn't already
|
|||
|
support your language you can add translations for it by following the issue
|
|||
|
template.
|
|||
|
|
|||
|
## Issue template
|
|||
|
|
|||
|
We have created a new issue template to make contributing translations for new
|
|||
|
languages as simple as possible. It is the result of our experience with 50+
|
|||
|
language contributions and updates over the last couple of years. We recently
|
|||
|
simplified the language contribution process, and the new template consists of the
|
|||
|
following parts:
|
|||
|
|
|||
|
- [Title]
|
|||
|
- [Translations]
|
|||
|
- [Country flag] <small>optional</small>
|
|||
|
- [Checklist]
|
|||
|
|
|||
|
[Title]: #title
|
|||
|
[Translations]: #translations
|
|||
|
[Country flag]: #country-flag
|
|||
|
[Checklist]: #checklist
|
|||
|
|
|||
|
### Title
|
|||
|
|
|||
|
Translation issue titles are simple. When adding a new language, the first part
|
|||
|
of the title with "Add translations for..." is already pre-filled in the
|
|||
|
template, and you need to replace the three dots with your language name. If
|
|||
|
adding missing translations for a language from the [list of supported languages],
|
|||
|
the title is already set with no need for adjustment.
|
|||
|
|
|||
|
| <!-- --> | Example |
|
|||
|
| -------- | -------- |
|
|||
|
| :material-check:{ style="color: #4DB6AC" } __Clear__ | Add translations for German
|
|||
|
| :material-close:{ style="color: #EF5350" } __Unclear__ | Add translations ...
|
|||
|
| :material-close:{ style="color: #EF5350" } __Generic__ | German
|
|||
|
|
|||
|
[List of supported languages]: https://squidfunk.github.io/mkdocs-material/setup/changing-the-language/#site-language
|
|||
|
|
|||
|
### Translations
|
|||
|
|
|||
|
With the preliminary work done, you can now add all missing translations for
|
|||
|
your language. Each label on the right side containing the `⬅️ icon` is missing
|
|||
|
a translation. To ensure the accuracy of your translation, consider double-checking
|
|||
|
the context of the words by looking at the [English version].
|
|||
|
|
|||
|
After adding the translation, remove the `⬅️ icon` from each translated line. If
|
|||
|
you don't know how to translate specific fields, simply leave them for other
|
|||
|
contributors to complete.
|
|||
|
|
|||
|
[English version]: https://github.com/squidfunk/mkdocs-material/tree/master/src/partials/languages/en.html
|
|||
|
|
|||
|
#### Translation context
|
|||
|
|
|||
|
TO DO MARTIN - explain the translation context
|
|||
|
.
|
|||
|
.
|
|||
|
|
|||
|
|
|||
|
### Country flag
|
|||
|
|
|||
|
Congratulations on contributing translations for a new language! To make it
|
|||
|
easier for you and others to find the language in our list of supported
|
|||
|
languages, please select the best-fitting flag for your language from our
|
|||
|
documentation's [Icons, Emojis site] by entering the command `flag` in the
|
|||
|
search field.
|
|||
|
|
|||
|
!!! warning "Icon limitation by Twemoji"
|
|||
|
|
|||
|
Please note that only icons provided by Twemoji can be used. If your flag is
|
|||
|
not available on the list on the [Icons, Emojis site], please choose an
|
|||
|
alternative.
|
|||
|
|
|||
|
> __Why this might be helpful__: adding a country flag next to the country name
|
|||
|
> can be helpful for you and for others to find the language in the list of
|
|||
|
> supported languages faster and easier. If your country's flag is not supported
|
|||
|
> by Temoji, it is best that you provide us with an alternative instead of us
|
|||
|
> choosing one for you.
|
|||
|
|
|||
|
[Icons, Emojis site]: https://squidfunk.github.io/mkdocs-material/reference/icons-emojis/#search
|
|||
|
|
|||
|
### Checklist
|
|||
|
|
|||
|
Thanks for following the guide and creating a high-quality and complete
|
|||
|
translation issue – you are almost done. The checklist ensures that you have read
|
|||
|
this guide and have worked to your best knowledge to provide us with everything
|
|||
|
we need to know to integrate your contribution to Material for MkDocs.
|
|||
|
|
|||
|
__We'll take it from here.__
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## Authors credits
|
|||
|
|
|||
|
Authors who submit a translation using the template above will be
|
|||
|
__credited as co-authors__ in commits for Material for MkDocs. To list your
|
|||
|
account as a co-author without knowing or revealing your email address, we will
|
|||
|
use your GitHub-provided no-reply email, following
|
|||
|
[GitHub's recommended workaround] to protect your privacy. This way, your
|
|||
|
commit will count as a contribution without opening a pull request.
|
|||
|
|
|||
|
[GitHub's recommended workaround]: https://docs.github.com/en/pull-requests/committing-changes-to-your-project/creating-and-editing-commits/creating-a-commit-with-multiple-authors
|
|||
|
|
|||
|
## Contributing via pull request
|
|||
|
|
|||
|
If you want to contribute missing translations by creating a pull request to be
|
|||
|
listed as the sole author of the commit, you can open a PR after submitting the
|
|||
|
translation issue. Ensure you thoroughly read the pull request guide below to
|
|||
|
prevent breaking functionality in the translation file.
|
|||
|
|
|||
|
1. Fill out a [translation issue] according to the guide and submit it in the
|
|||
|
[issue tracker].
|
|||
|
|
|||
|
2. Tick the box for the last point in the "Before submitting..." section.
|
|||
|
- [x] __Optional__: I want to integrate this translation myself and create a
|
|||
|
pull request following the [contribution guide](https://github.com/squidfunk/mkdocs-material/blob/master/CONTRIBUTING.md).
|
|||
|
|
|||
|
3. Fork the Material for MkDocs repository, set up a [development environment]
|
|||
|
and create a separate git branch on which you make all your changes.
|
|||
|
|
|||
|
4. Please review all [existing language files] in the repository and search for
|
|||
|
your language. If a file for your language already exists, please use it for
|
|||
|
your edits or create a new file if your language is not listed by copying one of
|
|||
|
the existing files.
|
|||
|
|
|||
|
5. Add the missing translations for your language to the best of your knowledge
|
|||
|
and save the changes.
|
|||
|
|
|||
|
!!! warning "Important"
|
|||
|
Only add the translations that are different from the defaults. For
|
|||
|
example, if your language is left-to-right, don't add the `direction`
|
|||
|
translation, as English is also left-to-right. The following
|
|||
|
translations are for technical purposes, and __should not be updated__.
|
|||
|
If they're missing from your language, it's for a good reason:
|
|||
|
|
|||
|
- `search.config.lang`
|
|||
|
- `search.config.pipeline`
|
|||
|
- `search.config.separator`
|
|||
|
|
|||
|
6. Open the [English translations] file and compare your translations with the
|
|||
|
up-to-date English translations file.
|
|||
|
|
|||
|
7. Before submitting a pull request, build the theme. This is a mandatory
|
|||
|
requirement for your PR to get accepted, as the theme should be installable
|
|||
|
through GitHub at all times.
|
|||
|
|
|||
|
8. After building the theme, commit the compiled output, push your branch to
|
|||
|
GitHub and send a PR to mkdocs-material:master. If we suggest changes, make the
|
|||
|
required updates, rebase your branch, and push the changes to your GitHub
|
|||
|
repository, which will automatically update your PR.
|
|||
|
|
|||
|
9. After your PR is merged, you can safely delete your branch and pull the
|
|||
|
changes from the main (upstream) repository.
|
|||
|
|
|||
|
[translation issue]: https://github.com/squidfunk/mkdocs-material/issues/new?assignees=&labels=change+request&template=04-add-a-translation.yml&title=Add+translations+for+...
|
|||
|
[issue tracker]: https://github.com/squidfunk/mkdocs-material/issues/new/choose
|
|||
|
[existing language files]: https://github.com/squidfunk/mkdocs-material/tree/master/src/partials/languages
|
|||
|
[English translations]: https://github.com/squidfunk/mkdocs-material/tree/master/src/partials/languages/en.html
|
|||
|
[development environment]: https://squidfunk.github.io/mkdocs-material/customization/#environment-setup
|
|||
|
|
|||
|
__After your PR was merged by us maintainers, you can start using the new language.__
|