Вы все правильно поняли, и ваш вариант вполне уместный, но это по моему мнению кастыль, а не решение самой CMS.
По сути я так и делал год назад, только для "цветов" я использовал инфоблок в качестве справочника, в котором в полях с именем NAME_RU, NAME_EN задавал локализацию свойств, но клиент был недоволен, что так сложно добавляются новые свойства (имена свойств надо было задавать строго в формате, с указанием EN, RU и т.п.), ваше решение по сути тоже самое, просто локализация не в дополнительных полях, в файл локализации.
Этот вариант не устроит клиента, а как сделать по другому я не знаю.
По сути я так и делал год назад, только для "цветов" я использовал инфоблок в качестве справочника, в котором в полях с именем NAME_RU, NAME_EN задавал локализацию свойств, но клиент был недоволен, что так сложно добавляются новые свойства (имена свойств надо было задавать строго в формате, с указанием EN, RU и т.п.), ваше решение по сути тоже самое, просто локализация не в дополнительных полях, в файл локализации.
Этот вариант не устроит клиента, а как сделать по другому я не знаю.