diff --git a/assets/blog/2022-11-22-translation.png b/assets/blog/2022-11-22-translation.png new file mode 100644 index 00000000..988e51c5 Binary files /dev/null and b/assets/blog/2022-11-22-translation.png differ diff --git a/blog.html b/blog.html index 5b3411ef..c6d668fd 100644 --- a/blog.html +++ b/blog.html @@ -64,6 +64,14 @@ +
+

+ Translating InvenTree +

+ How we provide translation support for InvenTree in multiple languages + 22 Nov 2021 | oliver +
+

Starting with templates diff --git a/blog/2021/11/22/translation.html b/blog/2021/11/22/translation.html new file mode 100644 index 00000000..ea5a5301 --- /dev/null +++ b/blog/2021/11/22/translation.html @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + +InvenTree - Translating InvenTree + + + +Translating InvenTree | InvenTree + + + + + + + + + + + + + + + + + + + + +
+
+
+ + logo + InvenTree + + +
+ + + + +
+
+ + + go back + Back + + +
+ +
+

Translating InvenTree

+

+ 22 Nov 2021 + + + - Oliver + +

+

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. Here you can view the current status of the translation efforts:

+ +

Translations

+ +

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 framework, which provides a translation framweork “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!

+ +

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

+ +

The crucial piece of the puzzle is the integration with Crowdin - an online translation service which provides community contributed translation, and supports open source projects.

+ +

Crowdin monitors the InvenTree GitHub repository 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! 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.

+ + +
+
+ +
+
+ +
+ + + \ No newline at end of file diff --git a/blog/feed.atom b/blog/feed.atom index 5dc3bfa7..324e6c0a 100644 --- a/blog/feed.atom +++ b/blog/feed.atom @@ -1 +1 @@ -Jekyll2022-11-18T23:30:32+00:00/blog/feed.atomInvenTreeInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.Starting with templates2021-10-25T00:00:00+00:002021-10-25T00:00:00+00:00/blog/2021/10/25/startingmatmair \ No newline at end of file +Jekyll2022-11-24T22:26:28+00:00/blog/feed.atomInvenTreeInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.Translating InvenTree2021-11-22T00:00:00+00:002021-11-22T00:00:00+00:00/blog/2021/11/22/translationoliverStarting with templates2021-10-25T00:00:00+00:002021-10-25T00:00:00+00:00/blog/2021/10/25/startingmatmair \ No newline at end of file diff --git a/extend/app.html b/extend/app.html index a85a1253..7d748483 100644 --- a/extend/app.html +++ b/extend/app.html @@ -263,6 +263,8 @@ + + diff --git a/functions.html b/functions.html index 8da32bc9..57cc7d22 100644 --- a/functions.html +++ b/functions.html @@ -174,6 +174,8 @@ + + diff --git a/matmair.html b/matmair.html index 1dfdb2a3..336b6761 100644 --- a/matmair.html +++ b/matmair.html @@ -27,11 +27,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-11-24T22:26:28+00:00","datePublished":"2022-11-24T22:26:28+00:00","description":"I try to build an ecosystem of reusable plugins and integrations for InvenTree. Code once and KISS!","headline":"Matmair","mainEntityOfPage":{"@type":"WebPage","@id":"/matmair"},"url":"/matmair"} diff --git a/news/feed.atom b/news/feed.atom index a7bd375e..0534dc10 100644 --- a/news/feed.atom +++ b/news/feed.atom @@ -1 +1 @@ -Jekyll2022-11-18T23:30:32+00:00/news/feed.atomInvenTree | NewsInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.New Website2022-11-14T00:00:00+00:002022-11-14T00:00:00+00:00/news/2022/11/14/websiteoliverWe have news now!2022-04-23T00:00:00+00:002022-04-23T00:00:00+00:00/news/2022/04/23/news-are-startingmatmair \ No newline at end of file +Jekyll2022-11-24T22:26:28+00:00/news/feed.atomInvenTree | NewsInvenTree is an open-source inventory management system which provides intuitive parts management and stock control. It is at the center of an ecosystem of addins for EDA tools, API wrapper, deeply integrated plugins and 3rd party tools.New Website2022-11-14T00:00:00+00:002022-11-14T00:00:00+00:00/news/2022/11/14/websiteoliverWe have news now!2022-04-23T00:00:00+00:002022-04-23T00:00:00+00:00/news/2022/04/23/news-are-startingmatmair \ No newline at end of file diff --git a/repo/shopify.html b/repo/shopify.html index 09d9dc5d..91ae34c7 100644 --- a/repo/shopify.html +++ b/repo/shopify.html @@ -27,11 +27,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-11-24T22:26:28+00:00","datePublished":"2022-11-24T22:26:28+00:00","description":"A simple Integration into Shopify.","headline":"Shopify","mainEntityOfPage":{"@type":"WebPage","@id":"/repo/shopify.html"},"url":"/repo/shopify.html"} diff --git a/schrodingersgat.html b/schrodingersgat.html index 12fc3d96..d396f683 100644 --- a/schrodingersgat.html +++ b/schrodingersgat.html @@ -27,11 +27,11 @@ - + +{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2022-11-24T22:26:28+00:00","datePublished":"2022-11-24T22:26:28+00:00","description":"Maintainer of InvenTree.","headline":"Schrodingersgat","mainEntityOfPage":{"@type":"WebPage","@id":"/schrodingersgat"},"url":"/schrodingersgat"} diff --git a/sitemap.xml b/sitemap.xml index c4705628..3a230d30 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -13,16 +13,20 @@ 2021-10-25T00:00:00+00:00 +/blog/2021/11/22/translation +2021-11-22T00:00:00+00:00 + + /matmair -2022-11-18T23:30:32+00:00 +2022-11-24T22:26:28+00:00 /schrodingersgat -2022-11-18T23:30:32+00:00 +2022-11-24T22:26:28+00:00 /repo/shopify.html -2022-11-18T23:30:32+00:00 +2022-11-24T22:26:28+00:00 /404