1 #include "locale/english.h"
2 #include "util/string-processor.h"
5 * @brief 英単語、句、説を複数形を変換する / Pluralize a monster name
6 * @param Name 変換したい文字列の参照ポインタ
9 void plural_aux(char *Name)
11 int NameLen = strlen(Name);
13 if (angband_strstr(Name, "Disembodied hand"))
15 strcpy(Name, "Disembodied hands that strangled people");
17 else if (angband_strstr(Name, "Colour out of space"))
19 strcpy(Name, "Colours out of space");
21 else if (angband_strstr(Name, "stairway to hell"))
23 strcpy(Name, "stairways to hell");
25 else if (angband_strstr(Name, "Dweller on the threshold"))
27 strcpy(Name, "Dwellers on the threshold");
29 else if (angband_strstr(Name, " of "))
31 concptr aider = angband_strstr(Name, " of ");
42 if (dummy[i - 1] == 's')
44 strcpy(&(dummy[i]), "es");
49 strcpy(&(dummy[i]), "s");
52 strcpy(&(dummy[i + 1]), aider);
55 else if (angband_strstr(Name, "coins"))
58 strcpy(dummy, "piles of ");
63 else if (angband_strstr(Name, "Manes"))
67 else if (streq(&(Name[NameLen - 2]), "ey"))
69 strcpy(&(Name[NameLen - 2]), "eys");
71 else if (Name[NameLen - 1] == 'y')
73 strcpy(&(Name[NameLen - 1]), "ies");
75 else if (streq(&(Name[NameLen - 4]), "ouse"))
77 strcpy(&(Name[NameLen - 4]), "ice");
79 else if (streq(&(Name[NameLen - 2]), "us"))
81 strcpy(&(Name[NameLen - 2]), "i");
83 else if (streq(&(Name[NameLen - 6]), "kelman"))
85 strcpy(&(Name[NameLen - 6]), "kelmen");
87 else if (streq(&(Name[NameLen - 8]), "wordsman"))
89 strcpy(&(Name[NameLen - 8]), "wordsmen");
91 else if (streq(&(Name[NameLen - 7]), "oodsman"))
93 strcpy(&(Name[NameLen - 7]), "oodsmen");
95 else if (streq(&(Name[NameLen - 7]), "eastman"))
97 strcpy(&(Name[NameLen - 7]), "eastmen");
99 else if (streq(&(Name[NameLen - 8]), "izardman"))
101 strcpy(&(Name[NameLen - 8]), "izardmen");
103 else if (streq(&(Name[NameLen - 5]), "geist"))
105 strcpy(&(Name[NameLen - 5]), "geister");
107 else if (streq(&(Name[NameLen - 2]), "ex"))
109 strcpy(&(Name[NameLen - 2]), "ices");
111 else if (streq(&(Name[NameLen - 2]), "lf"))
113 strcpy(&(Name[NameLen - 2]), "lves");
115 else if (suffix(Name, "ch") ||
116 suffix(Name, "sh") ||
117 suffix(Name, "nx") ||
121 strcpy(&(Name[NameLen]), "es");
125 strcpy(&(Name[NameLen]), "s");
130 * Check a char for "vowel-hood"
132 bool is_a_vowel(int ch)