Difference between revisions of "Weblate"

From GnuCash
Jump to: navigation, search
(Setup: ;Glossary:)
(use {{GitURL}}, {{URL:wl}}, {{URL:wl_git}}, {{URL:wl_set}}, {{URL:wl_doc}})
Line 1: Line 1:
On 2020-12-14 https://hosted.weblate.org/projects/gnucash was created.
+
Weblate is a web based translation tool. On 2020-12-14 {{URL:wl}} was created.
 
;Status: consider it still as experimental.
 
;Status: consider it still as experimental.
The page is organized by roles.
+
This page is organized by roles.
  
 
[[Category:I18N]][[Category:L10N]]
 
[[Category:I18N]][[Category:L10N]]
Line 7: Line 7:
 
==General==
 
==General==
 
Many pages @ weblate link context sensitive help by <code>i</code> in a circle.
 
Many pages @ weblate link context sensitive help by <code>i</code> in a circle.
:[https://docs.weblate.org/en/latest/index.html Weblate Documentation]
+
:[{{URL:wl_doc}}index.html Weblate Documentation]
  
 
===Setup===
 
===Setup===
Line 16: Line 16:
 
! scope="col"| Notes
 
! scope="col"| Notes
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
| [https://hosted.weblate.org/projects/gnucash/glossary/ Glossary]
+
| [{{URL:wl}}glossary/ Glossary]
| [https://github.com/Gnucash/gnucash/tree/maint/po/glossary gnucash:po/glossary]
+
| [{{GitURL}}/gnucash/tree/maint/po/glossary gnucash:po/glossary]
 
| linked project, part of Program
 
| linked project, part of Program
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
| [https://hosted.weblate.org/projects/gnucash/gnucash/ Program]
+
| [{{URL:wl}}gnucash/ Program]
| [https://github.com/Gnucash/gnucash/tree/maint/po gnucash:po]
+
| [{{GitURL}}/gnucash/tree/maint/po gnucash:po]
 
|  
 
|  
  
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
| [https://hosted.weblate.org/projects/gnucash/website/ Website]
+
| [{{URL:wl}}website/ Website]
| [https://github.com/Gnucash/gnucash-htdocstree/master/po gnucash-htdocs:po]
+
| [{{GitURL}}/gnucash-htdocstree/master/po gnucash-htdocs:po]
 
|  
 
|  
 
|}
 
|}
Line 47: Line 47:
 
==Coder==
 
==Coder==
 
With weblate you get feedback, where Translators have problems with your messages.
 
With weblate you get feedback, where Translators have problems with your messages.
[https://hosted.weblate.org/projects/gnucash/gnucash/en/ Overview Program Source Messages]
+
[{{URL:wl}}gnucash/en/ Overview Program Source Messages]
 
Tasks by priority:
 
Tasks by priority:
# [https://hosted.weblate.org/translate/gnucash/gnucash/en/?q=label:%22Source%20needs%20review%22 label:"Source needs review"]
+
# [{{URL:wl}}gnucash/en/?q=label:%22Source%20needs%20review%22 label:"Source needs review"]
# [https://hosted.weblate.org/translate/gnucash/gnucash/en/?offset=1&q=check%3Amultiple_failures&sort_by=-num_failing_checks Multiple failing checks] This is usually an indication that something could be done to improve the source string. [https://docs.weblate.org/en/latest/user/checks.html#check-multiple-failures Info]
+
# [{{URL:wl}}gnucash/en/?offset=1&q=check%3Amultiple_failures&sort_by=-num_failing_checks Multiple failing checks] This is usually an indication that something could be done to improve the source string. [{{URL:wl_doc}}user/checks.html#check-multiple-failures Info]
 
:;Tip:In both cases at the bottom select
 
:;Tip:In both cases at the bottom select
 
:# <tt>Comments</tt>,  
 
:# <tt>Comments</tt>,  
Line 61: Line 61:
  
 
;Project settings: Some are derived from our status as <tt>libre hosted</tt> project.
 
;Project settings: Some are derived from our status as <tt>libre hosted</tt> project.
:https://hosted.weblate.org/settings/gnucash/#access is set public meaning:
+
:{{URL:wl_set}}#access is set public meaning:
 
:* visible for all,
 
:* visible for all,
 
:* every registered user can translate,
 
:* every registered user can translate,
 
:* unregistered can attach suggestions.
 
:* unregistered can attach suggestions.
  
:To avoid chaos in https://hosted.weblate.org/settings/gnucash/#workflow
+
:To avoid chaos in {{URL:wl_set}}#workflow
:* [https://docs.weblate.org/en/latest/workflows.html#reviews Review] is activated, ideally a Gnucash Language :Team should have at least 2 reviewers (and unlimited users), confirming each others changes.
+
:* [{{URL:wl_doc}}workflows.html#reviews Review] is activated, ideally a Gnucash Language :Team should have at least 2 reviewers (and unlimited users), confirming each others changes.
  
 
;Component settings:
 
;Component settings:
Line 78: Line 78:
  
 
===Workflow===
 
===Workflow===
As long as Pushs of Pull Requests are not enabled, get the current status of commits at https://hosted.weblate.org/projects/gnucash/#repository or do it separate for real components.
+
As long as Pushs of Pull Requests are not enabled, get the current status of commits at {{URL:wl}}#repository or do it separate for real components.
:;Tip: <syntaxhighlight lang="sh">
+
:;Tip: Set URL={{URL:wl_git}}gnucash/ # for gnucash (program and glossary) or
URL=https://hosted.weblate.org/git/gnucash/gnucash/ # program and glossary
+
:::URL={{URL:wl_git}}website/ # for ht-docs, then <syntaxhighlight lang="sh">
# or
 
URL=https://hosted.weblate.org/git/gnucash/website/
 
# then
 
 
git remote add weblate $URL
 
git remote add weblate $URL
 
</syntaxhighlight> to your repo. Then you can ''preview'' pending commits by: <syntaxhighlight lang="sh">git fetch weblate</syntaxhighlight>
 
</syntaxhighlight> to your repo. Then you can ''preview'' pending commits by: <syntaxhighlight lang="sh">git fetch weblate</syntaxhighlight>
 
If there are pending commits
 
If there are pending commits
 
# Only required, if ''GitHub'' <tt>Settings->Hooks</tt> are misconfigured: '''rebase''' the weblate repo(s):
 
# Only required, if ''GitHub'' <tt>Settings->Hooks</tt> are misconfigured: '''rebase''' the weblate repo(s):
#*all together: https://hosted.weblate.org/projects/gnucash/#repository
+
#*all together: {{URL:wl}}#repository
#*or per component: https://hosted.weblate.org/projects/gnucash/gnucash/#repository …
+
#*or per component: {{URL:wl}}gnucash/#repository …
 
#:you need to zoom the window to see the buttons;
 
#:you need to zoom the window to see the buttons;
 
#:''Reason'': merge conflicts would lock the repository;
 
#:''Reason'': merge conflicts would lock the repository;

Revision as of 03:41, 31 December 2020

Weblate is a web based translation tool. On 2020-12-14 https://hosted.weblate.org/projects/gnucash/ was created.

Status
consider it still as experimental.

This page is organized by roles.

General

Many pages @ weblate link context sensitive help by i in a circle.

Weblate Documentation

Setup

WebLate Component GitHub Repository:location Notes
Glossary gnucash:po/glossary linked project, part of Program
Program gnucash:po
Website gnucash-htdocs:po
Glossary
It tries to collect the common GnuCash specific terminology of all other components.
After it is completed, it can be uploaded into Weblates Gnucash glossary.
Currently it is using and ancient style of context "context: term" as MsgId.
Questions and tasks
  1. Should MsgId "context: term" be converted to MsgContext, MsgId? Pros and cons?
  2. Review of sources for updated lists
  3. Other missing conventions?

Translator

Everybody
can add suggestions as anomymous.
Everybody with a weblate account
can translate and gets mentioned in the po file. In the current configuration a review is required.
Our former language maintainers
are asked to tell us their weblate name, to get Review rights.

Ideally no checks should fail. In some cases, the mistake is in the source string. Then please report them by a comment or label.

Coder

With weblate you get feedback, where Translators have problems with your messages. Overview Program Source Messages Tasks by priority:

  1. label:"Source needs review"
  2. Multiple failing checks This is usually an indication that something could be done to improve the source string. Info
Tip
In both cases at the bottom select
  1. Comments,
  2. Other languages
to get an impression of the problem.

Maintainer

Concept

Weblate is more anarchistic than our hierarchical thinking with core devs accepting or rejecting patches:

Project settings
Some are derived from our status as libre hosted project.
https://hosted.weblate.org/settings/gnucash/#access is set public meaning:
  • visible for all,
  • every registered user can translate,
  • unregistered can attach suggestions.
To avoid chaos in https://hosted.weblate.org/settings/gnucash/#workflow
  • Review is activated, ideally a Gnucash Language :Team should have at least 2 reviewers (and unlimited users), confirming each others changes.
Component settings
Suggestions are enabled, but Suggestion voting and Autoaccept suggestions are currently not.
Lazy commits
The changes in this mode are committed once any of the following conditions are fulfilled:
  • Somebody else changes an already changed string.
  • A merge from upstream occurs.
  • An explicit commit is requested.
  • Change is older than period defined as Age of changes to commit on Component configuration.

Workflow

As long as Pushs of Pull Requests are not enabled, get the current status of commits at https://hosted.weblate.org/projects/gnucash/#repository or do it separate for real components.

Tip
Set URL=https://hosted.weblate.org/git/gnucash/gnucash/ # for gnucash (program and glossary) or
URL=https://hosted.weblate.org/git/gnucash/website/ # for ht-docs, then
git remote add weblate $URL
to your repo. Then you can preview pending commits by:
git fetch weblate

If there are pending commits

  1. Only required, if GitHub Settings->Hooks are misconfigured: rebase the weblate repo(s):
    you need to zoom the window to see the buttons;
    Reason: merge conflicts would lock the repository;
  2. push, to create PRs;
  3. review at github
    Note
    Because not all weblate users must be github users, it would be nicer to comment on the changes at weblate. This needs more research.
  4. merge the PRs via code.gnucash.org;
  5. rebase weblate. Now all lines should show 0.