In this chapter, we discussed one of the most complex and challenging aspects of programmingthe problem of internationalizing code. This topic builds on the previous two chapters because I18N is largely concerned with strings and regular expressions.
We saw how Ruby makes some aspects of this fairly easy with the jcode library and related tools. We also got an overview of character sets in general and Unicode in particular.
We looked at how regular expressions are generally more "Unicode-aware" than strings and examined pack and unpack in terms of their usefulness in manipulating Unicode strings.
Finally, we looked at message catalogs in some detail. We know why they exist and how to create and maintain them.
Now that we have seen strings and regular expressions in detail, let's go back to the main path of our discussion. Chapter 5, "Performing Numerical Calculations," will deal with numbers and numeric processing in Ruby.