Introducing Mycroft Translate

Hello,

I just registered on Mycroft translate. I hope I will be able to make some contributions soon.

I have several questions first :

  • It seems the roles described here are not enforced. For example, just after registering, I am already able to put translations, without validation ( Language Chair role)

  • Is there a way to validate a suggestion ? Pootle documentation seems to show a green check to validate one, but I cannot see anything like this in my interface.

  • If we are all able to provide direct translation without going in “suggestion mode”, what is the correct (polite ?) behavior or workflow we should use ? Translation or suggestion first ? The first one make the work faster, the second one is more quality focused. (In my humble opinion, direct translation are a good choice for the beginning, in order to have a fully functional translated project fast. Quality could come after)

  • What is the process to merge translation in the main (git) project ? Is there some automatic tool we should wait for ? What is the frequency ? Should we make some git pull request with the translation files inside ? If so, what is the best way to retrieve data from Pootle and integrate it in the project source code ?

  • Related to the last question : could you enable the API access to Pootle data (https://pootle.readthedocs.io/en/stable-2.5.1/api/index.html) ? This should be useful for us to retrieve data automatically, and maybe make some tooling to put back translation file intto Mycroft.

Many thanks

On the sentence

tell me (the|our) (current )?(?P<Entity>.*) (status|state|value|sensor)

I need to put a word between (current) and (?P<Entity>.*), would it end like

(actual) de ?(?P<Entity>.*)

@forslund is the regex King :crown:, so he will have a better idea, however, I would combine actual and de;

(actual de) ?(?P<Entity>.*)

Best, K.

Did you put a blank space intentionally after the first question mark? I supposed ?(?P<Entity>.*) was an indivisible block.

Apologies, edited to have the correct syntax.

I’m in no way an expert but I think in the original:

(the|our) (current )?(?P<Entity>.*) (status|state|value|sensor)

the sequence "current " is optional using the ? (non-greedy)

So Something like this maybe:
(german) (optional-german )?word (?P<Entity>.*) (other german)

Not sure if all these german fields are sane but that’s the gist of it.

1 Like

I didn’t know about optional (it seems ? is always greedy) (my regex skills are very limited, just to grep some logs :stuck_out_tongue: ). It seems pretty useful, but it arises a question regarding the translations.

What we need to do to write a real question mark in pootle, perhaps a scape character like \?

In a .rx file it would be escaped as you suggest with a ? the other file types don’t use regexes…

well the spotify skill uses regexes in dialog files just to be confusing (and having a way of translating non-adapt regexes)

My regex skills are also very limited. There’s so much you can do with them.

I translated just a few german words/sentences. But now it seems that all phrases have already been translated to german. Is there nothing more to translate or do i miss something?

Regards
Thorsten

Exactly, currently there are no more german translation left…

German translation is completed for now, but we intend to upload new Skill data very soon. We are working on getting this automated.

I’m sorry to “repost”, but is it possible my questions got lost in the thread ?
@KathyReid, maybe you could help me ?

Hi there @dalgwen, firstly my apologies, I did miss your message in the thread.

Roles

We plan to implement the Roles that are outlined over the next few weeks - our initial release of Mycroft Translate was very much a minimum viable product. We also need to grow each language Community so that there are people involved who may wish to take on the Language Chair role for each language. So, yes, this will be enforced soon.

Workflow

We’re very intereted in hearing from the Translate Community around what sort of workflow the Community feels is most appropriate; we take a lot of the cues for what we do from our Community - after all our Community is a huge part of the success of the Mycroft ecosystem. Personally, I think you’ve captured a great approach - focus on quantity of translations first, then we can go back and refine for quality later on.

Exporting translations from Pootle to GitHub

My esteemed colleage @forslund has recently been working on an automation for this part of the workflow. The automation will take the translated phrases from Pootle, then using the GitHub API, will open PRs on the relevant Skills. If the Skills are under Mycroft control, then they will be auto-merged, or if not, it will be up to the Skill Author to accept the merge request - as always giving the Skill Author control over their work.

API access to Pootle data

Great question. We’re using version 2.8.2 of Pootle which doesn’t seem to have the API documented, so I don’t have a clear answer for you on this one yet I’m afraid.

Kind regards, Kathy

Great !
Thank you for your reply.

Just one question remains (maybe other people in this thread can answer):

  • Is there a way to validate a suggestion ? Pootle documentation seems to show a green check to validate one, but I cannot see anything like this in my interface.

Is this check also missing on your interface, or is it just me ?

@dalgwen you’re very welcome.

Validation won’t be available unfortunately until we implement the permissions framework.

More German translations now available :slight_smile:

Fantastisch!

https://translate.mycroft.ai/de/mycroft-skills/

Great. It’s a simple way to support the mycroft project.

Los geht’s mit der Übersetzung :slight_smile: .

@KathyReid
I’m unsure about the kind of tranlation of plugins.
When i should translate >>> “FindTaskOnList”: [ <<< i am not sure if this should be translated?
It seems more like a constant or variable name from the source code of the plugin.

Should i skip these kind of translations?
If it should be translated which of the following options would be the best?

a) “FindTaskOnList”: [ --> “FindeAufgabeAufListe”: [
b) “FindTaskOnList”: [ --> “Finde Aufgabe auf Liste”: [

Ciao @KathyReid

the italian translation is almost completed on https://translate.mycroft.ai/it/mycroft-skills/
but i do not see any merge in the periodic skills update

what is missing ?

Ciao @aleale99

Thanks so much for all your work on the Italian translations! I’ve only started this week (taking over from Kathy) and I’m still getting my bearings, but I’ll jump in and take a look at why they aren’t merging over the next few days.