Хоть я и задал вопрос, в чем смысл их поведения, ответ я на него и так знаю, на самом деле:
Проблема в том, что программист подходит к задаче по-своему, по-программистски. Мозги заточены на декомпозицию сложного кода на мелкие, переиспользуемые куски. Когда дело доходит до ресурсных строк, то очень сложно не поддаться искушению и не вынести общие части фраз в отдельную. Вот реально смотришь на повторяющиеся фразы и понимаешь, что "это некрасиво, это надо как-то оптимизировать" — сам такой был. А все потому, что в программировании практически всегда вдалбливают, что нужно как можно меньше повторяющегося кода.
Говоря программистским языком, люди вместо копирования вводят лишние *зависимости*. Перевод куска одной фразы начинает влиять на смысл и качество всех фраз, где этот кусок встречается. Однако в отличие от кода, в разных контекстах перевод одной и той же фразы может быть разным (и вариативность даже приветствуется, потому что повторения приводят к скучному однообразному тексту).
Короче, разработчикам надо просто посоветовать "простить и отпустить". Принять как должное, что лучше лишний раз продублировать текст, если только они не программируют для микроконтроллеров, где каждый байт на счету. По поводу зависимостей рекомендую по утрам мантру "A little copying is better than a little dependency." и периодически слушать умного человека:
https://www.youtube.com/watch?v=PAAkCSZUG1c&t=9m28s