[Logo]
Forums Register Login
Internationalizing Strings
In my previous life as an object-oriented Pascal programmer for the Macintosh, we learned to internationalize by using full sentences like: "Sorry, you cannot ^1 because ^2". We learned not to use String concatenation, but to use parameter substitution instead. One problem that we solved is that different languages can have different word orders. String concatenation assumes a particular language's word order, whereas parameter substitution works for languages with a different word order.

In Pascal, the code looked like:

string2 := Param4(string1,param1,param2,param3);

In Java should I just use: String.replace(String,String) and call String.replace() once for each parameter?

Is there an easy way to do this with regular expressions or with the Pattern class? With Java 5.0, I could write my own function using varargs to take any number of parameters.

In Unicode is there a better character to indicate parameter substitution than the caret "^"?

-- Kaydell
If you use JDK 5 you can use format strings (e.g. the format() methods added to PrintWriter) to do this, along with a many other features. Or in JDK 1.3 or 1.4, you can use java.text.MessageFormat instead.
It runs on an internal combustion engine. This ad does not:
ScroogeXHTML 7.1 - RTF to HTML5 / XHTML converter
https://coderanch.com/t/690611/ScroogeXHTML-RTF-HTML-XHTML-converter


This thread has been viewed 703 times.

All times above are in ranch (not your local) time.
The current ranch time is
Feb 22, 2018 01:36:11.