OSDN Git Service

[Refactor] #38662 Moved util.* to util/
[hengband/hengband.git] / src / locale / english.c
1 
2 #include "system/angband.h"
3 #include "util/util.h"
4 #include "japanese.h"
5
6
7 /*!
8  * @brief 英単語、句、説を複数形を変換する / Pluralize a monster name
9  * @param Name 変換したい文字列の参照ポインタ
10  * @return なし
11  */
12 void plural_aux(char *Name)
13 {
14         int NameLen = strlen(Name);
15
16         if (my_strstr(Name, "Disembodied hand"))
17         {
18                 strcpy(Name, "Disembodied hands that strangled people");
19         }
20         else if (my_strstr(Name, "Colour out of space"))
21         {
22                 strcpy(Name, "Colours out of space");
23         }
24         else if (my_strstr(Name, "stairway to hell"))
25         {
26                 strcpy(Name, "stairways to hell");
27         }
28         else if (my_strstr(Name, "Dweller on the threshold"))
29         {
30                 strcpy(Name, "Dwellers on the threshold");
31         }
32         else if (my_strstr(Name, " of "))
33         {
34                 concptr aider = my_strstr(Name, " of ");
35                 char dummy[80];
36                 int i = 0;
37                 concptr ctr = Name;
38
39                 while (ctr < aider)
40                 {
41                         dummy[i] = *ctr;
42                         ctr++; i++;
43                 }
44
45                 if (dummy[i - 1] == 's')
46                 {
47                         strcpy(&(dummy[i]), "es");
48                         i++;
49                 }
50                 else
51                 {
52                         strcpy(&(dummy[i]), "s");
53                 }
54
55                 strcpy(&(dummy[i + 1]), aider);
56                 strcpy(Name, dummy);
57         }
58         else if (my_strstr(Name, "coins"))
59         {
60                 char dummy[80];
61                 strcpy(dummy, "piles of ");
62                 strcat(dummy, Name);
63                 strcpy(Name, dummy);
64                 return;
65         }
66         else if (my_strstr(Name, "Manes"))
67         {
68                 return;
69         }
70         else if (streq(&(Name[NameLen - 2]), "ey"))
71         {
72                 strcpy(&(Name[NameLen - 2]), "eys");
73         }
74         else if (Name[NameLen - 1] == 'y')
75         {
76                 strcpy(&(Name[NameLen - 1]), "ies");
77         }
78         else if (streq(&(Name[NameLen - 4]), "ouse"))
79         {
80                 strcpy(&(Name[NameLen - 4]), "ice");
81         }
82         else if (streq(&(Name[NameLen - 2]), "us"))
83         {
84                 strcpy(&(Name[NameLen - 2]), "i");
85         }
86         else if (streq(&(Name[NameLen - 6]), "kelman"))
87         {
88                 strcpy(&(Name[NameLen - 6]), "kelmen");
89         }
90         else if (streq(&(Name[NameLen - 8]), "wordsman"))
91         {
92                 strcpy(&(Name[NameLen - 8]), "wordsmen");
93         }
94         else if (streq(&(Name[NameLen - 7]), "oodsman"))
95         {
96                 strcpy(&(Name[NameLen - 7]), "oodsmen");
97         }
98         else if (streq(&(Name[NameLen - 7]), "eastman"))
99         {
100                 strcpy(&(Name[NameLen - 7]), "eastmen");
101         }
102         else if (streq(&(Name[NameLen - 8]), "izardman"))
103         {
104                 strcpy(&(Name[NameLen - 8]), "izardmen");
105         }
106         else if (streq(&(Name[NameLen - 5]), "geist"))
107         {
108                 strcpy(&(Name[NameLen - 5]), "geister");
109         }
110         else if (streq(&(Name[NameLen - 2]), "ex"))
111         {
112                 strcpy(&(Name[NameLen - 2]), "ices");
113         }
114         else if (streq(&(Name[NameLen - 2]), "lf"))
115         {
116                 strcpy(&(Name[NameLen - 2]), "lves");
117         }
118         else if (suffix(Name, "ch") ||
119                 suffix(Name, "sh") ||
120                 suffix(Name, "nx") ||
121                 suffix(Name, "s") ||
122                 suffix(Name, "o"))
123         {
124                 strcpy(&(Name[NameLen]), "es");
125         }
126         else
127         {
128                 strcpy(&(Name[NameLen]), "s");
129         }
130 }