views:

56

answers:

2

I have an application I'd like to localise. However, the strings to be localised occasionally contain parts I'd like to provide at runtime, such as action links.

For example, I have a string like this: Please <a href="/help">click here</a> for help. I can't just split it into two resources since in different languages it'll be in a different location.

Is there any way to do this or should I stick to hard-coding the link to the controller/action in the resource itself?

+1  A: 

You should modify your string this way:

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

Now, the first string "Please {0]click here{1} for help" can be easily translated/localized, even if the order of your text changes:

"Für Hilfe klicken Sie bitte {0}hier{1}."
Doc Brown
+1  A: 

The approach I ended up taking was creating a resource string like this:

"Please {0} for help."

Which would then be filled at run-time using a String.Format and a resource for "Click Here" which I already had defined.

Arda Xi