Substituindo Variáveis ​​em uma Cadeia

Eu estou trabalhando em um site multilíngüe em PHP e nos meus arquivos de idiomas muitas vezes tenho seqüências que contêm várias variáveis ​​que serão posteriormente preenchidas para completar as frases.

Atualmente estou colocando{VAR_NAME} na cadeia e substituindo manualmente cada ocorrência pelo valor correspondente quando usado.

Então, basicamente :

{X} created a thread on {Y}

torna-se :

Dany created a thread on Stack Overflow

Eu já pensei emsprintf mas acho inconveniente porque depende da ordem das variáveis ​​que podem mudar de uma linguagem para outra.

E eu já verifiqueiComo substituir variável em string com valor em php? e por enquanto eu basicamente uso esse método.

Mas eu estou interessado em saber se existe uma maneira conveniente (ou talvez não) embutida no PHP para fazer isso considerando que eu já tenho variáveis ​​nomeadas exatamente como X e Y no exemplo anterior, mais como $ para uma variável variável .

Então, ao invés de fazer str_replace na string, eu poderia chamar uma função assim:

$X = 'Dany';
$Y = 'Stack Overflow';
$lang['example'] = '{X} created a thread on {Y}';

echo parse($lang['example']);

também imprimia:

Dany created a thread on Stack Overflow

Obrigado!

Editar

As strings servem como modelos e podem ser usadas várias vezes com entradas diferentes.

Então basicamente fazendo"{$X} ... {$Y}" não vai fazer o truque porque eu vou perder o modelo e a string será inicializada com os valores iniciais de$X e$Y que ainda não estão determinados.

questionAnswers(12)

yourAnswerToTheQuestion