Как вы заполняете строку ресурса во время выполнения? - PullRequest
2 голосов
/ 02 августа 2010

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

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

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

Ответы [ 2 ]

1 голос
/ 02 августа 2010

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

"Please {0} for help."

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

1 голос
/ 02 августа 2010

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

 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}."
...