The main goal of this PR is to ensure that all strings get a
comment. While I used to naively think that most string were clear,
and that translators would be able to figure out what they were
translating, I realized, looking at the French translation, that it's
not actually the case.
Instead of just fixing the French translation, I prefer to improve the
process so that AnkiDroid can be correctly translated in all
languages.
In particular, some strings are used in multiple context. E.g. as a
button and the title of the dialog/view opened by this button. In
English, it's certainly correct. In French it usually is too. I have
no idea whether it's correct in all other languages. By letting the
translators know that the strings is used in both context, they can
provide feedback if ever they need us to split the string in two.
As an example, I recently split "Search" in two strings, one for the
verb and one for the noun "search", because, in French, we need to use
distinct words to consider the search action, and the content of the
search request.
I should note that this task requires to look at all the strings, and
look for all its usage in the codebase. Which means this task can only
be done by a developer that knows the codebase and the app enough to
understand all usages of each string. Worse, either reviewing
such changes will be very painful, or the reviewer will have to have a
high trust in the person doing this work. Which means, and I'm quite sad
about it, that it can't really be delegated.
As a secondary goal, the commit reorders the string, so that they
strings appearing in the same view get shown together. This is not
probably not important for translators, but I find it cleaner.
I don't exactly expect this PR to be merged as-is. I mostly open it to
gather feedback. If you are against this change (e.g. because it'll
destroy the history of all our string files), I can stop and not spend
more time on it.
Or, if you have any idea of a better way to write comment, I can use
your idea in the future comments.
Once we agree this work is worthwhile and can eventually be merged, if
you find typos, gramattical errors, or general improvement, I'd
appreciate if you could directly push the correction as an additional
commit, or provide the correction as a suggestion in github review
system. Because, discussing every comment individually would be a
nightmare of bikeshedding