Program Languages - Translations

Hello everyone,

I have had reason to view Seamly2D in Portuguese and noticed that not everything gets translated from English. This also applies to other languages:

image

Is there anyone here who can help to update the translations?

Which part of updating the translations are you referring to? Running an actual update and subsequent submitting of the changes to the translation files to the repo or actually translating the files created from Lupdate?

1 Like

Well… Either way, I have no idea how this is done, but I think that we need it to be brought up to date with all the wonderful changes that you’ve made and are still making, so I’m thinking that if there’s someone on the forum who can help with this part, it won’t ALL be on your shoulders.

2 Likes

Well… from my understanding it’s kind of 4 part deal… 5 if you count the actual translation coding in the source. 1) Each string to be translated calls the tr() function in the source. 2) Then the lupdate utility is run ( either in a command line or directly in Creator). This produces the ts files that linguists can then edit the translations for. 3) Files are translated… could be done by anyone or a service like Transfix. 4) The ts files are the run through lrelease, which converts them to the qm binary files used by the app to look up and replace the translations on the fly when a language is changed. 5) The qm files are pushed to the repo. I can do 1, 2, 4, or 5… maybe some (3) French translations.

In any case the translations are dependent on the availability of people to translate to a given language.

1 Like

While adding a Delete confirmation messagebox for the Background Image feature I’m working on, I realized that many, if not all the message box popups do not translate the buttons… YES / NO / CANCEL … etc.

I’m going to create an issue on Github to address missing translations in the code. Unfortunately, unless one looks at the code, it’s difficult to determine if the code is missing the translation or rather a given language simply doesn’t have a given translation yet.

2 Likes

Olá Para mim as ferramentas e funções na área de trabalho estão todas em inglês .

2 Likes

Procurei por atualização e não achei . Como posso resolver?

1 Like

When I switch my prefs to Portuguese a few of the toolboxes & menus are translated, but not the tools nor most of the menu items.

1 Like

We’ve been in the process of overhauling the interface to correct terminology / grammar / to conform to gui standards, and such. We’ve also added some new features… all of which requires the language translations to be updated. To that extent there’s not much you can do with newer vers of the app(s) until we can produce the TS translation files and have people edit them to add / update translations. Either we need to pursue setting a service like Transifex under Seamly (as opposed to the original Valentina project) or enlist a group of users than can translate to the various languages.

2 Likes

Understood. Question is, are the missing translations simply in need of an update due to changes in the gui OR translations that are missing in the code. Like I said I’ve discovered the fact that message boxes are likely to not translate the buttons due to the fact that RT did not account for that in the code. If you add widgets through Creator, by default any text is translated… if you hand code it in the source you have to wrap any instance of text in the tr() function… that includes dialog or message box buttons.

If there’s an item that doesn’t translate to any language there’s a chance it’s code related, but even that’s hard to tell. For example changing the term from “passmark” to “notch” means that none of the translation files will have an updated translation for it yet.

That being said… I can search the code and fix any place where text will not currently be able to translate, what I can’t do is translate the text. With my minimum knowledge of French I could probably translate some basic stuff , but would get lost in the more complex & esoteric terminology. Then again Google translate might be useful for some terms.

1 Like

Looking at the 20200730 release, most everything is translated into Russian, so they’re mostly in need of update due to the GUI changes. I mean the tr() should be there, but few languages had nearly as complete a translation as Russian or French.

1 Like

No surprise there. After investigating the Trasifex site I have a better understanding why any given language is not fully 100% translated. Being done as a free open source project you rely on a translator looking for a project to work on… for which they may choose to translate only certain parts. It’s not like paying them to translate the whole site in a given language. Theoretically the idea with Transifex as an open source account is crowd sourcing the translators, but that assumes to some extent there’s translators out there interested in sewing & pattern making. It’s like I found Valentina / Seamly2D not because I was looking for an open source C++ project to work on, but rather I had a vested interest in the application. We may have just as good a chance finding translators on the forums here.

2 Likes

Hey Grace… Might not be such a bad idea after all. In the sense that there may be someone interested in helping translate, but does not have Qt Linguist installed or wish to. They may be more familar though with using an Excel spreadsheet. I found a tool qTsConverter that will take a TS file and export it as an .csv or .xlsx file which could be used in any office suite.

Or for that matter if put on the Wiki, users could edit translation spreadsheet files there. Then it would be a matter of taking a spreadsheet and integrating that data back into a TS file to export the necessary QM file(s). Would be nice is there is a exceltoTs converter. :slight_smile:

That being said… I would think the fields (columns) required should be Context, Source, Translation, Dev comment, Translator comment. The context is the group that a text is in… For ex: the Move dialog… the context would be “Move” and contain all the text items in that dialog. The dev comment would be comments by developers - such as avoid using math symbols or spaces in translation. The translation comment is for comments to help the translator. trans

1 Like

Ok, if you send it to me, I’ll set it up :smiley:, put it on the wiki in an easy form that can be edited by the world at large and then we can deal with how it will be put back :grin: Perhaps I can copy & paste to the correct places & send the .ts files to you for uploading.

I’m really happy to help in any way that I can.

I tried to compile the qTsConverter app, but it’s set up to only build a Linux package. I’ve gotten spoiled with using Qt Creator and compiling Qt projects… so I found another app that is a Qt project that also converts to csv / xlsx or vice versa.

So we should be able to produce a set of spreadsheets from the TS files after running lupdate on the source. Have to see exactly what results the app produces going back to TS. Or like you said, could always cut and paste from the spreadsheet file to QtLiguist to update the TS files. Ideally it would be nice if the converter aoo merges changes into an existing TS file, but that may be expecting too much. :slight_smile:

In any case… I think we need to wait till I push the several branches I have to get committed before running an lupdate. Doesn’t make sense to have any translations ahead of the apps. :slight_smile:

1 Like

Yes, I’m thinking it should be the last thing before you go on holiday (if you have time). :slight_smile: That way, when you come back, (hopefully) we will have some translations to upload before you start on the next part.

Perhaps there’s another way to do this…

What if we let the translator translate everything and then ask the users to let us know if something isn’t translating correctly? Then they can give us the correct translation so that we can manually edit it?

1 Like

No where to come back from… simply off from work for awhile. :slight_smile:

What ever way the translations are done, getting feedback from users as to the correctness of translations is a good thing. Once a current update is run on the source, editing a few translations is not a problem in QtLiguist.

1 Like

Discovered you can Export a Qt TR file as a XLIFF ( XML Localization Interchange File Format ) in Qt Linguist, then load that into LibreOffice Calc and save as one of the various spreadsheet file formats. :slight_smile:

2 Likes

Oh, wonderful :clap:t2: :clap:t2: :clap:t2: :star_struck: