В С# 6.0 есть интерполяция строк - хорошая возможность для форматирования строк, таких как:
var name = "John";
WriteLine($"My name is {name}");
Пример конвертируется в
var name = "John";
WriteLine(String.Format("My name is {0}", name));
С точки зрения локализации, гораздо лучше хранить строки вроде:
"My name is {name} {middlename} {surname}"
чем в нотации String.Format:
"My name is {0} {1} {2}"
Как использовать интерполяцию строк для локализации .NET? Будет ли способ поместить $ "..." в файлы ресурсов? Или строки должны храниться как "... {name}" и как-то интерполироваться на лету?
PS Этот вопрос НЕ о том, "как сделать расширение string.FormatIt" (таких программ очень много, ТАК ответы и т.д.). Этот вопрос о чем-то вроде расширения Roslyn для "интерполяции строк" в контексте "локализации" (оба являются терминами в словаре MS.NET) или динамического использования, как предложил Дилан.