string ExpandingLocalize(string original)
{
StringBuilder sb = new StringBuilder(original.Length);
foreach (char currChar in original) {
switch (currChar) {
case 'A':
sb.Append('Å');
break;
case 'B':
sb.Append("ßß");
break;
case 'C':
sb.Append("CC");
break;
case 'D':
sb.Append("ĐĐ");
break;
case 'E':
sb.Append('Ē');
break;
case 'F':
sb.Append("FF");
break;
case 'G':
sb.Append("ĞĞ");
break;
case 'H':
sb.Append("ĦĦ");
break;
case 'I':
sb.Append('Ĩ');
break;
case 'J':
sb.Append("ĴĴ");
break;
case 'K':
sb.Append("ĶĶ");
break;
case 'L':
sb.Append('Ŀ');
break;
case 'M':
sb.Append("MM");
break;
case 'N':
sb.Append("ŃŃ");
break;
case 'O':
sb.Append('Ø');
break;
case 'P':
sb.Append('P');
break;
case 'Q':
sb.Append("QQ");
break;
case 'R':
sb.Append('Ŗ');
break;
case 'S':
sb.Append('Ŝ');
break;
case 'T':
sb.Append("ŦŦ");
break;
case 'U':
sb.Append('Ů');
break;
case 'V':
sb.Append("VV");
break;
case 'W':
sb.Append("ŴŴ");
break;
case 'X':
sb.Append("XX");
break;
case 'Y':
sb.Append('Ÿ');
break;
case 'Z':
sb.Append("ŻŻ");
break;
case 'a':
sb.Append('ä');
break;
case 'b':
sb.Append("þþ");
break;
case 'c':
sb.Append("čč");
break;
case 'd':
sb.Append("đđ");
break;
case 'e':
sb.Append('ę');
break;
case 'f':
sb.Append("ƒƒ");
break;
case 'g':
sb.Append("ģģ");
break;
case 'h':
sb.Append("ĥĥ");
break;
case 'i':
sb.Append('į');
break;
case 'j':
sb.Append("ĵĵ");
break;
case 'k':
sb.Append("ĸĸ");
break;
case 'l':
sb.Append('ľ');
break;
case 'm':
sb.Append("mm");
break;
case 'n':
sb.Append("ʼnʼn");
break;
case 'o':
sb.Append('ő');
break;
case 'p':
sb.Append("pp");
break;
case 'q':
sb.Append("qq");
break;
case 'r':
sb.Append("řř");
break;
case 's':
sb.Append('ş');
break;
case 't':
sb.Append("ŧŧ");
break;
case 'u':
sb.Append('ū');
break;
case 'v':
sb.Append("vv");
break;
case 'w':
sb.Append("ŵŵ");
break;
case 'x':
sb.Append("χχ");
break;
case 'y':
sb.Append('y');
break;
case 'z':
sb.Append("žž");
break;
default:
sb.Append(currChar);
break;
}
}
return sb.ToString();
}