Cjkjvfnby wrote:That was my question. Give me rules how to understand if key is used by system. How can I find out that this hotkeys is not outdated?...
May be someone can point keys that really can be removed, and we just remove them?
I think it is fairly clear now that no one has it definitively in their memory just what keys can be removed. The path we've been on for determining which can be removed would be an iterative process -- doing the steps you've taken so far, reviewing the code for suspicious repeats like I did with "_LABEL" and "DESC_VAR_" before and "DESC_VAL_" and "HOTKEY_" now to see if the keys are being automatically determined from other tokens in some way, and then following up on what's revealed in the code to figure out the set of those tokens, then removing all the now-known-to-be-ok keys from the list, and again reviewing for any remaining suspicious repeats, etc. Finally some playtesting would need to be done.
Another, probably more reliable approach, would be to review the code for every occurrence of UserString("X") for fixed keys and every occurrence of UserString( something_more_complicated ) for not-necessarily-fixed strings and then closely examining the generation of all those not-necessarily-fixed strings to see whence they come. I would think that you probably have enough programming background to manage that even if you aren't trained in C++ (and now is a good time to learn
)
As result of this thread I expect two things: Remove outdated keys and create document how keys are produced.
These are laudable and valuable goals, but to me the time cost is appearing to be on the high side relative to the benefits. It's making me think I need to hurry up and finish reviewing/committing your AI python cleanup patches from a couple weeks ago so that you can get refocused on more of that
This is also reminding me of the
Debian contribution social guidelines I recently encountered, I am really thinking we should have our own similar guidelines or perhaps even link to theirs. As I have already pointed out, you've already received a fair bit of help with this and you seem to be reaching the limits of how much effort you are willing to put into this sub-project. Rather than asking explicitly if anyone else is motivated by this goal enough to contribute more their time to helping you do these remaining parts (which frankly seem to me to be the most difficult/tedious parts), you instead seem to be treating it as if it would be a simple thing for someone to waltz in and finish this and so you sort of seem to be repeatedly saying that you expect someone to do just that. I think you need to recognize that this would be a nontrivial task for anyone. You've taken on a lot a helpful tasks for the FO project and I don't at all want to discourage you in general, but I think you need to look hard at your approach to this particular task.
I use en.txt as template and just write it line by line to new file, replacing values with values present in current translation. When blank lines in files does not match if will produce diff line.
I'm not understanding the problem with dealing with multiple blank lines, and on hearing of your plan here I'll further encourage you to be sure to coordinate with adrian. I expect he'll chime in here when he has the chance, but I recommend you pm him to be sure he knows this is a topic worth him checking in on, the boards have been quite busy lately.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0