mirror of
https://github.com/inventree/inventree-website.git
synced 2025-04-28 05:26:44 +00:00
Merge branch 'main' into 0.9.0.release-blog
This commit is contained in:
commit
62a20612c4
58
_posts/2021-11-22-translation.md
Normal file
58
_posts/2021-11-22-translation.md
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
author: oliver
|
||||
title: Translating InvenTree
|
||||
---
|
||||
|
||||
How we provide translation support for InvenTree in multiple languages
|
||||
|
||||
### Community Contributed Translations
|
||||
|
||||
At the time of writing, InvenTree provides language translations for 25 languages (in addition to English), with over 11,000 translated words! This is thanks to the sustained efforts of 130+ InvenTree users, who have contributed their time to make our software better for everyone.
|
||||
|
||||
Translation progress can be viewed on our [Crowdin project page](https://crowdin.com/project/inventree). Here you can view the current status of the translation efforts:
|
||||
|
||||

|
||||
|
||||
### Translation Pipeline
|
||||
|
||||
As translations are entirely community contributed, we need a software framework that allows non-technical users to submit and proofread translations, and a way to bring those translations back into the InvenTree software.
|
||||
|
||||
#### Backend - Django
|
||||
|
||||
At its core, InvenTree is built on the [Django](https://www.djangoproject.com/) framework, which provides a [translation framweork](https://docs.djangoproject.com/en/4.1/topics/i18n/translation/) "out of the box".
|
||||
|
||||
The Django translation framework provides a toolkit for marking certain text strings as "translatable". Translation strings are able to be replaced by a translated string from a language specified by the user - *if a translation for the text is available in that language*.
|
||||
|
||||
There are many files within the InvenTree project which can provide these translation strings:
|
||||
|
||||
- Python source files
|
||||
- Javascript source files
|
||||
- HTML template files
|
||||
|
||||
Additionally, translation support is provided for the [InvenTree Mobile App](/extend/app.md)!
|
||||
|
||||
#### Exporting Translations - GitHub
|
||||
|
||||
On every commit to the InvenTree main branch, the source code is analyzed to discover and extract translation strings. This information is then pushed to a separate code branch, which is monitored by the [translation service](#community-translation---crowdin)
|
||||
|
||||
#### Community Translation - Crowdin
|
||||
|
||||
The crucial piece of the puzzle is the integration with [Crowdin](https://crowdin.com/) - an online translation service which provides community contributed translation, and supports open source projects.
|
||||
|
||||
Crowdin monitors the [InvenTree GitHub repository](https://github.com/inventree/inventree) for any changes to translation files, and provides a user interface for translators to suggest appropriate translated strings.
|
||||
|
||||
Suggested translations are then approved (again, by the InvenTree user community), and periodically pushed back to the InvenTree GitHub repo.
|
||||
|
||||
#### Merging Translations - GitHub
|
||||
|
||||
Updated translated strings are periodically merged back into the main code branch, keeping the InvenTree code base up to date.
|
||||
|
||||
### Contributing
|
||||
|
||||
The translation framework is provided by the InvenTree team to make our software more useful and appealing to a greater number of people. The entire translation effort is driven by the InvenTree community. Any contributions, no matter how large or small, are greatly encouraged!
|
||||
|
||||
If you would like to see improved translations in a particular language, read the [contribution guide](/contribute.md#translate)! The InvenTree project benefits greatly from your efforts, and you get a great piece of open source software in your native language.
|
||||
|
||||
#### Adding New Languages
|
||||
|
||||
If you would like to see support for a new language, [raise an issue on our GitHub page](https://github.com/inventree/InvenTree/issues/new?assignees=&labels=enhancement%2Ctriage%3Anot-checked&template=feature_request.yaml&title=%5BFR%5D+title).
|
BIN
assets/blog/2022-11-22-translation.png
Normal file
BIN
assets/blog/2022-11-22-translation.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
@ -17,6 +17,10 @@ Refer to the [docker installation guide](https://docs.inventree.org/en/latest/st
|
||||
|
||||
A [bare metal installation guide](https://docs.inventree.org/en/latest/start/intro/) is provided for users who are looking for a low-level or custom installation.
|
||||
|
||||
### Cloud
|
||||
|
||||
A member of the team provides a [1-click app for InvenTree](https://marketplace.digitalocean.com/apps/inventree?refcode=d6172576d014&action=deploy) on the DigitalOcean marketplace.
|
||||
|
||||
### Other Options
|
||||
|
||||
The core InvenTree server is built using the widely used python-based framework [Django](https://djangoproject.com/). Therefore there are deployment methods for nearly all plattforms and architectures. If you want to read more about InvenTree's structure and a typical installation read the [architecture overview](../contribute/code/architecture).
|
||||
|
@ -2,7 +2,9 @@
|
||||
title: Plugins
|
||||
---
|
||||
We supply core-dev and community built plugins to get you started with extending InvenTree's functionality. Plugins can hook into many parts of the UI, buisness logic and webserver.
|
||||
We expose some internal python APIs to speed up your development and keep the instance running while you discover the possibilities. [Learn more](https://docs.inventree.org/en/latest/extend/plugins/)
|
||||
We expose some internal python APIs to speed up your development and keep the instance running while you discover the possibilities.
|
||||
|
||||
You can read more about the plugin architecture, including information on developing new plugins, on our [documentation](https://docs.inventree.org/en/latest/extend/plugins/)
|
||||
|
||||
### Highlights
|
||||
|
||||
|
@ -11,7 +11,8 @@ Private questions (via DM, email, etc.) are generally not answered, use the publ
|
||||
## Custom Features
|
||||
If you require a custom feature you can either:
|
||||
- Suggest the feature on the issue tracker as a [Feature Request](https://github.com/inventree/InvenTree/issues/new?template=feature_request.yaml)
|
||||
- Create a [plugin](extend/plugin/index.md)
|
||||
- Implement the feature yourself, and contribute back to the project. InvenTree developers will happily help you work through any issues.
|
||||
- Create a [plugin](/extend/plugin/index.md)
|
||||
- Request a paid customisation
|
||||
|
||||
## Paid Customisation / Support
|
||||
|
Loading…
x
Reference in New Issue
Block a user