dyne / tomb

the Crypto Undertaker
https://dyne.org/software/tomb
GNU General Public License v3.0
1.32k stars 151 forks source link

Fixed tomb listing failure message: localization friendly #512

Closed nerun closed 3 months ago

nerun commented 7 months ago

Resubmission of PR #506: it had conflicts that I didn't know how to resolve, so I did it again.

1. Tomb Listing issue

When listing tombs with tomb list, if there are no tombs open, this failure message is shown:

Line 2668:

_failure "I can't see any ::1 status:: tomb, may they all rest in peace." ${1:-open} }

The problem is that the ::1 status:: is always open. So the message shown will be always:

I can't see any open tomb, may they all rest in peace.

But the word open cannot be translated because it is a variable. In other languages, it sounds bad.

The phrase I can't see any open tomb, may they all rest in peace. is used twice along tomb script, in lines 2832 (index_tombs) and 2946 (search_tombs). So we can safely adopt this phrase also for list_tombs in line 2668.

2. Update POT and translation PO files

About this, @jaromil said:

shouldn't we change the .pot file then and update some translations? perhaps this can be done inside this PR

Yes, you're right! I will update the POT. This also raises other questions though.

As I explained in extras / translations / README ALL .po files are outdated (except pt_BR-2.10.po). They are for Tomb 2.3 not 2.10+. I created that tomb-2.10.pot for this reason in a very old PR already merged if you remember, but the old tomb.pot (for v2.3) was not deleted. I think we should delete that one too, and rename the tomb-2.10.pot to just tomb.pot. Will be a good idea to update the translation PO files with the new version, so translators can choose to update what is needed:

$ git rm tomb.pot
$ git rm tomb-2.10.pot
$ perl generate_translatable_strings.pl > tomb.pot
$ git add tomb.pot
$ git rm pt_BR.po
$ git mv pt_BR-2.10.po pt_BR.po
$ msgmerge --update de.po tomb.pot
$ msgmerge --update es.po tomb.pot
$ msgmerge --update fr.po tomb.pot
$ msgmerge --update it.po tomb.pot
$ msgmerge --update pt_BR.po tomb.pot
$ msgmerge --update ru.po tomb.pot
$ msgmerge --update sv.po tomb.pot
$ msgmerge --update zh_Hans.po tomb.pot
$ git add *po
jaromil commented 3 months ago

cheers!!