MantisBT - Doomseeker
View Issue Details
0003486Doomseeker[All Projects] Localizationpublic2018-09-02 21:192018-12-04 00:35
Pol M 
Pol M 
normalfeatureN/A
closedfixed 
LinuxArchx86-64
1.1 
1.21.2 
0003486: Translate Doomseeker to Spanish
Since I know Spanish (and Catalan), I thought it would be a good idea to help translate Doomseeker to one of the most used languages in the world. (I'll also consider the translation to Catalan, but let's focus for now on stuff that people use :) )

I've already started translating some lines to Spanish, And all the changes prior to a future pull request will be found in'https://bitbucket.org/Pol_M/doomseeker-translation-to-spanish/src/default/ [^]'

Also, I think that this is a good opportunity to suggest a creation of a CONTRIBUTING.md/TRANSLATION.md, so non-programmers that don't know how to search in the Qt documentation (http://doc.qt.io/archives/qt-5.5/cmake-manual.html (last section)) and read the CMakeLists.txt can contribute without major problems.
It should address the creation of a blank .ts file and how to update it for future changes, the part of not doing make clean to prevent deleting the translations, mention Qt Linguist as a possible tool and finally make the pull request. I think this way more people will be able to translate Doomseeker.

I'll make an estimate of time this will take in the following days
No tags attached.
parent of 0003534closed Zalewa Qt4's assumption of Latin-1 encoding decodes UTF-8 characters in Doomseeker built with Qt4 incorrectly (language configuration) 
related to 0003483closed Blzut3 Doomseeker 1.2 release 
Issue History
2018-09-02 21:19Pol MNew Issue
2018-09-02 21:19Pol MStatusnew => assigned
2018-09-02 21:19Pol MAssigned To => Pol M
2018-09-02 21:21Pol MNote Added: 0019480
2018-09-02 22:02Pol MNote Added: 0019481
2018-09-03 00:57Pol MDescription Updatedbug_revision_view_page.php?rev_id=11763#r11763
2018-09-03 06:37ZalewaNote Added: 0019485
2018-09-03 08:54Pol MNote Added: 0019486
2018-09-03 09:33Pol MNote Added: 0019487
2018-09-03 10:08Pol MNote Edited: 0019487bug_revision_view_page.php?bugnote_id=19487#r11765
2018-09-03 10:10Pol MNote Edited: 0019487bug_revision_view_page.php?bugnote_id=19487#r11766
2018-09-12 15:29ZalewaRelationship addedrelated to 0003483
2018-09-13 20:18Pol MNote Added: 0019521
2018-09-13 20:20ZalewaNote Added: 0019522
2018-09-15 08:35ZalewaNote Added: 0019525
2018-09-15 08:35ZalewaStatusassigned => needs testing
2018-09-15 21:28Pol MNote Added: 0019526
2018-09-15 21:43Pol MNote Added: 0019527
2018-09-15 21:45Pol MNote Edited: 0019526bug_revision_view_page.php?bugnote_id=19526#r11789
2018-09-15 21:46Pol MNote Edited: 0019527bug_revision_view_page.php?bugnote_id=19527#r11791
2018-09-18 11:48WubTheCaptainProduct Version1.2 => 1.1
2018-09-18 12:17WubTheCaptainNote Added: 0019541
2018-09-18 12:17WubTheCaptainStatusneeds testing => assigned
2018-09-19 21:44Pol MNote Added: 0019576
2018-09-19 23:49WubTheCaptainStatusassigned => needs review
2018-09-21 20:56Pol MNote Added: 0019602
2018-09-21 20:56Pol MStatusneeds review => assigned
2018-09-23 15:04Pol MNote Added: 0019686
2018-09-23 15:05Pol MStatusassigned => needs review
2018-09-23 15:06ZalewaNote Added: 0019687
2018-09-23 15:10ZalewaNote Added: 0019688
2018-09-23 15:17Pol MNote Added: 0019689
2018-09-23 15:20Pol MNote Added: 0019690
2018-09-23 15:24Pol MNote Added: 0019691
2018-09-23 15:33Pol MStatusneeds review => needs testing
2018-09-23 15:34Pol MNote Added: 0019692
2018-09-25 03:37WubTheCaptainNote Added: 0019750
2018-09-25 03:37WubTheCaptainStatusneeds testing => assigned
2018-09-25 03:37WubTheCaptainNote Edited: 0019750bug_revision_view_page.php?bugnote_id=19750#r11999
2018-09-25 03:41WubTheCaptainNote Added: 0019751
2018-09-25 04:05WubTheCaptainNote Added: 0019752
2018-09-25 04:06WubTheCaptainNote Edited: 0019752bug_revision_view_page.php?bugnote_id=19752#r12001
2018-09-25 15:48Pol MNote Added: 0019755
2018-09-25 15:53Pol MNote Added: 0019756
2018-09-25 15:54Pol MNote Edited: 0019756bug_revision_view_page.php?bugnote_id=19756#r12006
2018-09-25 16:06Pol MNote Edited: 0019756bug_revision_view_page.php?bugnote_id=19756#r12007
2018-09-25 16:06Pol MStatusassigned => needs testing
2018-10-06 09:27WubTheCaptainRelationship addedparent of 0003534
2018-10-06 09:29WubTheCaptainNote Added: 0019922
2018-10-09 10:26WubTheCaptainNote Added: 0020050
2018-10-09 13:26Pol MNote Added: 0020058
2018-10-13 14:43ZalewaNote Added: 0020096
2018-10-13 15:22Pol MNote Added: 0020097
2018-10-13 15:28Pol MNote Edited: 0020097bug_revision_view_page.php?bugnote_id=20097#r12252
2018-10-13 15:33Pol MNote Edited: 0020097bug_revision_view_page.php?bugnote_id=20097#r12253
2018-10-13 17:22WubTheCaptainStatusneeds testing => needs review
2018-10-13 18:15WubTheCaptainNote Added: 0020112
2018-10-13 20:55Pol MNote Added: 0020118
2018-10-14 13:01WubTheCaptainNote Added: 0020123
2018-10-14 13:01WubTheCaptainStatusneeds review => resolved
2018-10-14 13:01WubTheCaptainFixed in Version => 1.2
2018-10-14 13:01WubTheCaptainResolutionopen => fixed
2018-10-27 22:53WubTheCaptainStatusresolved => closed
2018-12-04 00:35WubTheCaptainCategorySuggestion => Localization

Notes
(0019480)
Pol M   
2018-09-02 21:21   
[Completly unrelated]
Well, I needed these days to work hard on other things, but I'm back! (to probably leave in a few days/weeks because college starts in some days XD)
(0019481)
Pol M   
2018-09-02 22:02   
I've made some translations, and taking a look at the number of context entries in qt Linguist, I assume that this could take around 20 to 30 days (I hope I'm not being optimistic)
(0019485)
Zalewa   
2018-09-03 06:37   
Quote from "Pol M"
Also, I think that this is a good opportunity to suggest a creation of a CONTRIBUTING.md/TRANSLATION.md, so non-programmers that don't know how to search in the Qt documentation (http://doc.qt.io/archives/qt-5.5/cmake-manual.html (last section)) and read the CMakeLists.txt can contribute without major problems.
It should address the creation of a blank .ts file and how to update it for future changes, the part of not doing make clean to prevent deleting the translations, mention Qt Linguist as a possible tool and finally make the pull request. I think this way more people will be able to translate Doomseeker.

In this case another solution would be to do what qBittorrent does and use a site for crowd-sourced translations. This should ease stuff a bit for people. I'm not sure if Transifex would be the best choice here, though, as they do not make it very clear what is the "pricing model" for Open Source projects. All I can find in this regard is some site with strange domain prefix and no HTTPS that has a dead link to SIGN UP FOR FREE site.
(0019486)
Pol M   
2018-09-03 08:54   
Weah, this also would do the job. I'll halt the translation and I'll try to find a way to do this.
(0019487)
Pol M   
2018-09-03 09:33   
(edited on: 2018-09-03 10:10)
I've created a test example here'https://www.transifex.com/test-doomseeker/test-doomseeker-mainproject/dashboard/ [^]' and since I marked that this is an opensource project they did not show any pricing. I can assume that it's free.

the only problem is that I don't know what I've messed up but the translations don't show up in the editor, as if no translations had been made, and the text to translate is part in English and part in Spanish. I can assume that this is a consequence of first loading the Spanish translation

[EDIT]: I could not solve this weird issue. It always seems to assume that the
original language is the one being translated

(0019521)
Pol M   
2018-09-13 20:18   
first pull request
(0019522)
Zalewa   
2018-09-13 20:20   
Thanks for checking out Transifex, I'll give it a look some time later.
(0019525)
Zalewa   
2018-09-15 08:35   
I doubt anyone can "test" the translation, but at least we can test if it gets deployed properly on various platforms.
(0019526)
Pol M   
2018-09-15 21:28   
(edited on: 2018-09-15 21:45)
The translation of the plugins is on its way, the Zandronum plugin is bigger than I thought and right now I have quite less time (that's the main reason I rushed the translation of core)

I've been reviewing if everything was translated, and I've found that the textbox that appears when you put your mouse over the Server Filter button on the top is not being translated. I'm reviewing the translation file to try to guess what's going on with that.

EDIT: Also, it does also happen in the menu 'view'

(0019527)
Pol M   
2018-09-15 21:43   
(edited on: 2018-09-15 21:46)
OK, I've checked if it translates in polish, and it doesn't seem like it does so...
I'm gonna open a ticket with this

(0019541)
WubTheCaptain   
2018-09-18 12:17   
Quote
I doubt anyone can "test" the translation, but at least we can test if it gets deployed properly on various platforms.


I don't know what you mean by this, but Spanish is an option in Configuration menu on GNU/Linux.

There's nothing to test here, and it's still being worked on (incomplete). Setting this ticket back to "assigned".
(0019576)
Pol M   
2018-09-19 21:44   
second pull request
(0019602)
Pol M   
2018-09-21 20:56   
Working on Zandronum translation
(0019686)
Pol M   
2018-09-23 15:04   
pull request

Quote from the pull request

And with that, my pals, Spanish is fully supported! 😜 🎉 🎊 🎉
I’ve checked that all the texts in Zandronum with a lowercase letter at the begging corresponded to a text with a lowercase letter at the begging. (regex: “^[a-z”])

Addresses ticket 0003486 from Pol Marcet Sardà (me)

OFF TOPIC:

I have to thank you all for showing me the marvellous world of the mercurial bookmarks/branches. They actually save some time and are in fact really useful. I’m very thankful for that.
The book “clean code” that Zalewa suggested is very interesting and is actually what I was looking for. Thank you.
You’re all incredible.😌
(0019687)
Zalewa   
2018-09-23 15:06   
One last thing that should be formalized is the continuous support of this translation. As the program will change, so will the strings in it and there's no doubt that the translation will gradually devolve.

Pol, will you be willing to provide us with continuous support for this translation? I'm not saying it needs to be updated everytime a single string changes, but it would be good to at least update the translation before an official release happens (which under the current weather is about once a year anyway :)). I normally update the Polish translation before making a beta release, but I can do that on-the-go as I also control when this release happens, but I won't expect the same from you.
(0019688)
Zalewa   
2018-09-23 15:10   
Finally, I understand that translating a program is not a fun thing to do and I know that there are lots of strings in Doomseeker. For your effort, accept my special thanks. I also think that translation contributions deserve a special place in the about dialog, which I will add.
(0019689)
Pol M   
2018-09-23 15:17   
Quote from Zalewa
will you be willing to provide us with continuous support for this translation?

Yes, I will!
I'll make a roundup translation once a month (aprox), and if you tell me a little bit before a beta I'll translate any missing strings for those too (there are only 3 times a year where I'm two entire weeks uncommunicated, which I'll not post here for privacy reasons, but that I can send you through a PM if you want)

In case that it is impossible for me to get the translation done for the beta, I'll make a pull request with whatever is done and inform that it won't be ready for the beta. That said, I don't think this will ever happen.
(0019690)
Pol M   
2018-09-23 15:20   
Quote from Zalewa
Finally, I understand that translating a program is not a fun thing to do and I know that there are lots of strings in Doomseeker. For your effort, accept my special thanks. I also think that translation contributions deserve a special place in the about dialog, which I will add.


Awwww, Thanks!!!
I appreciate a lot what you do, and since I love Doom this is the least I could do. I don't find translating strings that boring, if so I would have never started doing so :)
(0019691)
Pol M   
2018-09-23 15:24   
As a final note, a Catalan translation will happen. Eventually.

But for the moment, the nearest future and for the 1.2 release, it won't.
Catalan is a quite small language, and I'd be surprised if there were even 12 other people that speak Catalan and also play Doom.

But I like a lot Catalan, it's a language that deserves its place, so believe me that that pull request will arrive! >:)
(0019692)
Pol M   
2018-09-23 15:34   
commit
(0019750)
WubTheCaptain   
2018-09-25 03:37   
I don't speak Spanish, but I found few strings in my review.

Quote from Ayuda → Argumentos del programma
--create-game
    Launches Doomseeker in "Create Game" mode.


Quote from Acerca de Doomseeker
GeoLite2 available at:


Quote from Acerca de Doomseeker
This program uses icons (or derivates of) from following sources:


Quote from Acerca de Doomseeker
This library is distributed under the terms of the LGPL v2.1 or later.


Quote from Crear juego
Host command line


Quote from Crear juego
Offline command line


These are from your commit:

Quote
Unable to save game setup configuration!


Quote
No game selected


Quote
Configure


Quote
Starting Create Game box.


Quote
doomseeker: `--connect`, `--create-game` and `--rcon` are mutually exclusive


I don't think this is Spanish, yet it's marked as finished translation:

Quote
Form


This one is Spanish too, but is marked as unfinished:

Quote
Games


Is it meant to be there's translations for ../../../build/src/core/ui_createserverdialog.h, instead of ../ui_createserverdialog.h?

Thank you a ton for the enormous contribution.

(0019751)
WubTheCaptain   
2018-09-25 03:41   
Quote
Run game command line


Quote
Host server command line
(0019752)
WubTheCaptain   
2018-09-25 04:05   
(edited on: 2018-09-25 04:06)
Marked as unfinished, but seems like a complete string:

Quote
Parámetros de línea de comandos disponibles:


Quote from Crear juego
< NADA >


$ grep -ir "unfinished" es_ES.ts | wc -l
18
$ grep -ir "unfinished" zandronum_es_ES.ts | wc -l
0


(0019755)
Pol M   
2018-09-25 15:48   
Yeah, most of those are due to new changes in the source, It is surprising how fast it changes. About:
Quote from Wub
Form

This needs to be properly translated. It should be translated to "Formulario".
About the ones showing as unfinished, I've found that sometimes (and I have to emphasize sometimes) QtLinguist does the job for me filling in repeated translations, so I wouldn't be surprised if there was another entry with that same string. It marks those as unfinished. As I tend to always mark everything as finished, I don't know why those aren't now.
Quote from Wub

 Is it meant to be there's translations for ../../../build/src/core/ui_createserverdialog.h, instead of ../ui_createserverdialog.h?

Looking at the raw file with the translation, I can't find any reference to "../ui_createserverdialog.h". That said, I've been fixing the strings you mentioned, so It would not surprise me that a "cmake -DUPDATE_TRANSLATIONS=true .." fixed it.

I'm gonna make a commit with all you mentioned.
(0019756)
Pol M   
2018-09-25 15:53   
(edited on: 2018-09-25 16:06)
Thank you too for being so good at testing stuff :D
commit

(0019922)
WubTheCaptain   
2018-10-06 09:29   
I wonder if there are more UTF-8 bugs in Qt4 builds as a result of this translation. Needs more testing.
(0020050)
WubTheCaptain   
2018-10-09 10:26   
Do we want to make sure this translation is 100% complete at time of 1.2 release, or are we done here?
(0020058)
Pol M   
2018-10-09 13:26   
Well, the strings for the program change quite fast. Probably it already has a few untranslated lines. I can push a final commit the day before the release, or whenever I'm explicitly asked to.

As you can see, the Polish translation also has a few missing lines. Zalewa will probably do a commit updating those before the release.
Quote from Zalewa
I normally update the Polish translation before making a beta release, but I can do that on-the-go as I also control when this release happens


So since the objective of this ticket is complete, Wich was to have Doomseeker translated (and with a maintaner), it can be resolved. I'll wait to see what you think before doing so.
(0020096)
Zalewa   
2018-10-13 14:43   
I noticed capitalization discrepancy in translation of "max. clients" and "max. players"


    <message>
        <location filename="../../../build/src/core/ui_gamerulespanel.h" line="130"/>
        <source>Max. clients:</source>
        <translation>Max. clientes:</translation>
    </message>
    <message>
        <location filename="../../../build/src/core/ui_gamerulespanel.h" line="131"/>
        <source>Max. players:</source>
        <translation>Max. Jugadores:</translation>
    </message>
(0020097)
Pol M   
2018-10-13 15:22   
(edited on: 2018-10-13 15:33)
Ok, I'll take a look with some fancy regex for other discrepancies
REGEX: (^|[.!?:-]\s+)([a-z])
(not the best regex in the world)

(0020112)
WubTheCaptain   
2018-10-13 18:15   
I don't see more other issues on 1.2 roadmap requiring changes to this translation, so we should be good after solving any remaining issues in this ticket.
(0020118)
Pol M   
2018-10-13 20:55   
All reported issues are solved. If there are more errors, this ticket could be reopened.
(0020123)
WubTheCaptain   
2018-10-14 13:01   
Hopefully resolved, per Pol M.