Как заполнить строку ресурса во время выполнения?

У меня есть приложение, которое я хочу локализовать. Однако строки, которые нужно локализовать, иногда содержат части, которые я хотел бы предоставить во время выполнения, например ссылки действий.

Например, у меня есть такая строка: Please <a href="/help">click here</a> for help. Я не могу просто разделить ее на два ресурса, так как на разных языках она будет в другом месте.

Есть ли способ сделать это или я должен жестко закодировать ссылку на контроллер/действие в самом ресурсе?


person Arda Xi    schedule 01.08.2010    source источник


Ответы (2)


Вы должны изменить свою строку следующим образом:

 string.Format("Please {0]click here{1} for help", "<a href="/help">","</a>")

Теперь первую строку "Please {0]click here{1} for help" можно легко перевести/локализировать, даже если порядок вашего текста изменится:

"Für Hilfe klicken Sie bitte {0}hier{1}."
person Doc Brown    schedule 01.08.2010

Подход, который я выбрал, заключался в создании такой строки ресурса:

"Please {0} for help."

Который затем будет заполнен во время выполнения с использованием String.Format и ресурса для "Click Here", который я уже определил.

person Arda Xi    schedule 02.08.2010