Localización de interpolación de cadenas C # 6.0

C # 6.0 tiene uninterpolación de cuerdas - Una buena característica para formatear cadenas como:

 var name = "John";
 WriteLine($"My name is {name}");

El ejemplo se convierte a

 var name = "John";
 WriteLine(String.Format("My name is {0}", name));

Desde el punto de vista de la localización, es mucho mejor almacenar cadenas como:

"My name is {name} {middlename} {surname}" 

que en String.Notación de formato:

"My name is {0} {1} {2}"

¿Cómo usar la interpolación de cadenas para la localización .NET? ¿Habrá una manera de poner $ "..." en los archivos de recursos? ¿O las cadenas deben almacenarse como "... {nombre}" y de alguna manera interpolarse al vuelo?

PD Esta pregunta NO trata sobre "cómo hacer una cadena. Extensión de formato" (hay MUCHAS bibliotecas, respuestas SO, etc.). Esta pregunta trata sobre algo como la extensión de Roslyn para la "interpolación de cadenas" en el contexto de "localización" (ambos son términos en vocabulario MS .NET), o el uso dinámico como lo propuso Dylan.

Respuestas a la pregunta(8)

Su respuesta a la pregunta