• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category User Interface → Language
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by nls - 2007-08-10
Last edited by bagder - 2007-08-10

FS#7574 - Genlang produces lng files with ID number gaps in some cases

If I run the following genlang command on the attached testlang.lang file it produces a .lng file with an ID gap. Yes gets ID 0, No gets 1 but Off gets ID 3 and there’s no string with ID 2.

./genlang -b=testlang.lng -e=testlang.lang -t=player -i=1 testlang.lang

Closed by  bagder
2007-08-10 22:10
Reason for closing:  Fixed
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Committed a fix right now: r14274

From examining an english.lng file for archos player I can confirm that there ID gaps. They are inserted for every string that is not to be included for a target. For the built-in language it just works by coincidence - none of ID numbers are literally included in the .c or .h file, they just form an enum.

In order to correct this, the way IDs are generated by counting english.lang entries must take into account whether we're building for a specific target or upgrading a .lang file.
When invoked with -p and -b, it must not count entries which evaluate to 'none' for that target, with -u it has to count all entries.


Available keyboard shortcuts


Task Details

Task Editing