1 | /* |
2 | * Copyright (C) 2007-2009 Petri Damstén <damu@iki.fi> |
3 | * |
4 | * This program is free software; you can redistribute it and/or modify |
5 | * it under the terms of the GNU Library General Public License as |
6 | * published by the Free Software Foundation; either version 2, or |
7 | * (at your option) any later version. |
8 | * |
9 | * This program is distributed in the hope that it will be useful, |
10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 | * GNU General Public License for more details |
13 | * |
14 | * You should have received a copy of the GNU Library General Public |
15 | * License along with this program; if not, write to the |
16 | * Free Software Foundation, Inc., |
17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
18 | */ |
19 | |
20 | #include "area.h" |
21 | #include "converter.h" |
22 | #include <klocale.h> |
23 | |
24 | using namespace KUnitConversion; |
25 | |
26 | Area::Area() : UnitCategory(AreaCategory) |
27 | { |
28 | setName(i18nc("Unit Category: two dimensional size of a surface" , "Area" )); |
29 | // i18n: Used when converting to symbol string e.g. 2.34 m² |
30 | setSymbolStringFormat(ki18nc("%1 value, %2 unit symbol (area)" , "%1 %2" )); |
31 | |
32 | U(SquareYottameter, 1e+48, |
33 | // i18n: Used when unit symbol is needed. |
34 | i18nc("area unit symbol" , "Ym²" ), |
35 | // i18n: unit as it will be shown to user wherever units are to |
36 | // be explicitly selected (listbox, radio buttons, checkboxes...). |
37 | // E.g. an application may give option "Unit of wind speed: [unit-list-box]" |
38 | i18nc("unit description in lists" , "square yottameters" ), |
39 | // i18n: Messages such as this one provide synonyms for each unit, |
40 | // in order to guess the unit from the text that the user inputs. |
41 | // Synonyms are semicolon-separated, and you can add as many as |
42 | // you need (either equal to, more, or less than in the original). |
43 | // Note that any gramatical inflections of unit names |
44 | // (such as plural and cases) should also be listed. |
45 | i18nc("unit synonyms for matching user input" , |
46 | "square yottameter;square yottameters;Ym²;Ym/-2;Ym^2;Ym2" ), |
47 | // i18n: This is used when a real-valued amount in units is given, |
48 | // such as "0.37 miles". |
49 | ki18nc("amount in units (real)" , "%1 square yottameters" ), |
50 | // i18n: This is used when a integer-valued amount in units is given, |
51 | // such as "1 mile" or "21 miles". |
52 | ki18ncp("amount in units (integer)" , "%1 square yottameter" , "%1 square yottameters" ) |
53 | ); |
54 | U(SquareZettameter, 1e+42, |
55 | i18nc("area unit symbol" , "Zm²" ), |
56 | i18nc("unit description in lists" , "square zettameters" ), |
57 | i18nc("unit synonyms for matching user input" , |
58 | "square zettameter;square zettameters;Zm²;Zm/-2;Zm^2;Zm2" ), |
59 | ki18nc("amount in units (real)" , "%1 square zettameters" ), |
60 | ki18ncp("amount in units (integer)" , "%1 square zettameter" , "%1 square zettameters" ) |
61 | ); |
62 | U(SquareExameter, 1e+36, |
63 | i18nc("area unit symbol" , "Em²" ), |
64 | i18nc("unit description in lists" , "square exameters" ), |
65 | i18nc("unit synonyms for matching user input" , |
66 | "square exameter;square exameters;Em²;Em/-2;Em^2;Em2" ), |
67 | ki18nc("amount in units (real)" , "%1 square exameters" ), |
68 | ki18ncp("amount in units (integer)" , "%1 square exameter" , "%1 square exameters" ) |
69 | ); |
70 | U(SquarePetameter, 1e+30, |
71 | i18nc("area unit symbol" , "Pm²" ), |
72 | i18nc("unit description in lists" , "square petameters" ), |
73 | i18nc("unit synonyms for matching user input" , |
74 | "square petameter;square petameters;Pm²;Pm/-2;Pm^2;Pm2" ), |
75 | ki18nc("amount in units (real)" , "%1 square petameters" ), |
76 | ki18ncp("amount in units (integer)" , "%1 square petameter" , "%1 square petameters" ) |
77 | ); |
78 | U(SquareTerameter, 1e+24, |
79 | i18nc("area unit symbol" , "Tm²" ), |
80 | i18nc("unit description in lists" , "square terameters" ), |
81 | i18nc("unit synonyms for matching user input" , |
82 | "square terameter;square terameters;Tm²;Tm/-2;Tm^2;Tm2" ), |
83 | ki18nc("amount in units (real)" , "%1 square terameters" ), |
84 | ki18ncp("amount in units (integer)" , "%1 square terameter" , "%1 square terameters" ) |
85 | ); |
86 | U(SquareGigameter, 1e+18, |
87 | i18nc("area unit symbol" , "Gm²" ), |
88 | i18nc("unit description in lists" , "square gigameters" ), |
89 | i18nc("unit synonyms for matching user input" , |
90 | "square gigameter;square gigameters;Gm²;Gm/-2;Gm^2;Gm2" ), |
91 | ki18nc("amount in units (real)" , "%1 square gigameters" ), |
92 | ki18ncp("amount in units (integer)" , "%1 square gigameter" , "%1 square gigameters" ) |
93 | ); |
94 | U(SquareMegameter, 1e+12, |
95 | i18nc("area unit symbol" , "Mm²" ), |
96 | i18nc("unit description in lists" , "square megameters" ), |
97 | i18nc("unit synonyms for matching user input" , |
98 | "square megameter;square megameters;Mm²;Mm/-2;Mm^2;Mm2" ), |
99 | ki18nc("amount in units (real)" , "%1 square megameters" ), |
100 | ki18ncp("amount in units (integer)" , "%1 square megameter" , "%1 square megameters" ) |
101 | ); |
102 | U(SquareKilometer, 1e+06, |
103 | i18nc("area unit symbol" , "km²" ), |
104 | i18nc("unit description in lists" , "square kilometers" ), |
105 | i18nc("unit synonyms for matching user input" , |
106 | "square kilometer;square kilometers;km²;km/-2;km^2;km2" ), |
107 | ki18nc("amount in units (real)" , "%1 square kilometers" ), |
108 | ki18ncp("amount in units (integer)" , "%1 square kilometer" , "%1 square kilometers" ) |
109 | ); |
110 | U(SquareHectometer, 10000, |
111 | i18nc("area unit symbol" , "hm²" ), |
112 | i18nc("unit description in lists" , "square hectometers" ), |
113 | i18nc("unit synonyms for matching user input" , |
114 | "square hectometer;square hectometers;hm²;hm/-2;hm^2;hm2;hectare;hectares" ), |
115 | ki18nc("amount in units (real)" , "%1 square hectometers" ), |
116 | ki18ncp("amount in units (integer)" , "%1 square hectometer" , "%1 square hectometers" ) |
117 | ); |
118 | U(SquareDecameter, 100, |
119 | i18nc("area unit symbol" , "dam²" ), |
120 | i18nc("unit description in lists" , "square decameters" ), |
121 | i18nc("unit synonyms for matching user input" , |
122 | "square decameter;square decameters;dam²;dam/-2;dam^2;dam2" ), |
123 | ki18nc("amount in units (real)" , "%1 square decameters" ), |
124 | ki18ncp("amount in units (integer)" , "%1 square decameter" , "%1 square decameters" ) |
125 | ); |
126 | setDefaultUnit(UP(SquareMeter, 1, |
127 | i18nc("area unit symbol" , "m²" ), |
128 | i18nc("unit description in lists" , "square meters" ), |
129 | i18nc("unit synonyms for matching user input" , "square meter;square meters;m²;m/-2;m^2;m2" ), |
130 | ki18nc("amount in units (real)" , "%1 square meters" ), |
131 | ki18ncp("amount in units (integer)" , "%1 square meter" , "%1 square meters" ) |
132 | )); |
133 | U(SquareDecimeter, 0.01, |
134 | i18nc("area unit symbol" , "dm²" ), |
135 | i18nc("unit description in lists" , "square decimeters" ), |
136 | i18nc("unit synonyms for matching user input" , |
137 | "square decimeter;square decimeters;dm²;dm/-2;dm^2;dm2" ), |
138 | ki18nc("amount in units (real)" , "%1 square decimeters" ), |
139 | ki18ncp("amount in units (integer)" , "%1 square decimeter" , "%1 square decimeters" ) |
140 | ); |
141 | U(SquareCentimeter, 0.0001, |
142 | i18nc("area unit symbol" , "cm²" ), |
143 | i18nc("unit description in lists" , "square centimeters" ), |
144 | i18nc("unit synonyms for matching user input" , |
145 | "square centimeter;square centimeters;cm²;cm/-2;cm^2;cm2" ), |
146 | ki18nc("amount in units (real)" , "%1 square centimeters" ), |
147 | ki18ncp("amount in units (integer)" , "%1 square centimeter" , "%1 square centimeters" ) |
148 | ); |
149 | U(SquareMillimeter, 1e-06, |
150 | i18nc("area unit symbol" , "mm²" ), |
151 | i18nc("unit description in lists" , "square millimeters" ), |
152 | i18nc("unit synonyms for matching user input" , |
153 | "square millimeter;square millimeters;mm²;mm/-2;mm^2;mm2" ), |
154 | ki18nc("amount in units (real)" , "%1 square millimeters" ), |
155 | ki18ncp("amount in units (integer)" , "%1 square millimeter" , "%1 square millimeters" ) |
156 | ); |
157 | U(SquareMicrometer, 1e-12, |
158 | i18nc("area unit symbol" , "µm²" ), |
159 | i18nc("unit description in lists" , "square micrometers" ), |
160 | i18nc("unit synonyms for matching user input" , |
161 | "square micrometer;square micrometers;µm²;um²;µm/-2;µm^2;µm2" ), |
162 | ki18nc("amount in units (real)" , "%1 square micrometers" ), |
163 | ki18ncp("amount in units (integer)" , "%1 square micrometer" , "%1 square micrometers" ) |
164 | ); |
165 | U(SquareNanometer, 1e-18, |
166 | i18nc("area unit symbol" , "nm²" ), |
167 | i18nc("unit description in lists" , "square nanometers" ), |
168 | i18nc("unit synonyms for matching user input" , |
169 | "square nanometer;square nanometers;nm²;nm/-2;nm^2;nm2" ), |
170 | ki18nc("amount in units (real)" , "%1 square nanometers" ), |
171 | ki18ncp("amount in units (integer)" , "%1 square nanometer" , "%1 square nanometers" ) |
172 | ); |
173 | U(SquarePicometer, 1e-24, |
174 | i18nc("area unit symbol" , "pm²" ), |
175 | i18nc("unit description in lists" , "square picometers" ), |
176 | i18nc("unit synonyms for matching user input" , |
177 | "square picometer;square picometers;pm²;pm/-2;pm^2;pm2" ), |
178 | ki18nc("amount in units (real)" , "%1 square picometers" ), |
179 | ki18ncp("amount in units (integer)" , "%1 square picometer" , "%1 square picometers" ) |
180 | ); |
181 | U(SquareFemtometer, 1e-30, |
182 | i18nc("area unit symbol" , "fm²" ), |
183 | i18nc("unit description in lists" , "square femtometers" ), |
184 | i18nc("unit synonyms for matching user input" , |
185 | "square femtometer;square femtometers;fm²;fm/-2;fm^2;fm2" ), |
186 | ki18nc("amount in units (real)" , "%1 square femtometers" ), |
187 | ki18ncp("amount in units (integer)" , "%1 square femtometer" , "%1 square femtometers" ) |
188 | ); |
189 | U(SquareAttometer, 1e-36, |
190 | i18nc("area unit symbol" , "am²" ), |
191 | i18nc("unit description in lists" , "square attometers" ), |
192 | i18nc("unit synonyms for matching user input" , |
193 | "square attometer;square attometers;am²;am/-2;am^2;am2" ), |
194 | ki18nc("amount in units (real)" , "%1 square attometers" ), |
195 | ki18ncp("amount in units (integer)" , "%1 square attometer" , "%1 square attometers" ) |
196 | ); |
197 | U(SquareZeptometer, 1e-42, |
198 | i18nc("area unit symbol" , "zm²" ), |
199 | i18nc("unit description in lists" , "square zeptometers" ), |
200 | i18nc("unit synonyms for matching user input" , |
201 | "square zeptometer;square zeptometers;zm²;zm/-2;zm^2;zm2" ), |
202 | ki18nc("amount in units (real)" , "%1 square zeptometers" ), |
203 | ki18ncp("amount in units (integer)" , "%1 square zeptometer" , "%1 square zeptometers" ) |
204 | ); |
205 | U(SquareYoctometer, 1e-48, |
206 | i18nc("area unit symbol" , "ym²" ), |
207 | i18nc("unit description in lists" , "square yoctometers" ), |
208 | i18nc("unit synonyms for matching user input" , |
209 | "square yoctometer;square yoctometers;ym²;ym/-2;ym^2;ym2" ), |
210 | ki18nc("amount in units (real)" , "%1 square yoctometers" ), |
211 | ki18ncp("amount in units (integer)" , "%1 square yoctometer" , "%1 square yoctometers" ) |
212 | ); |
213 | U(Acre, 4046.86, |
214 | i18nc("area unit symbol" , "acre" ), |
215 | i18nc("unit description in lists" , "acres" ), |
216 | i18nc("unit synonyms for matching user input" , "acre;acres" ), |
217 | ki18nc("amount in units (real)" , "%1 acres" ), |
218 | ki18ncp("amount in units (integer)" , "%1 acre" , "%1 acres" ) |
219 | ); |
220 | U(SquareFoot, 0.092903, |
221 | i18nc("area unit symbol" , "ft²" ), |
222 | i18nc("unit description in lists" , "square feet" ), |
223 | i18nc("unit synonyms for matching user input" , |
224 | "square foot;square feet;ft²;square ft;sq foot;sq ft;sq feet;feet²" ), |
225 | ki18nc("amount in units (real)" , "%1 square feet" ), |
226 | ki18ncp("amount in units (integer)" , "%1 square foot" , "%1 square feet" ) |
227 | ); |
228 | U(SquareInch, 0.00064516, |
229 | i18nc("area unit symbol" , "in²" ), |
230 | i18nc("unit description in lists" , "square inches" ), |
231 | i18nc("unit synonyms for matching user input" , |
232 | "square inch;square inches;in²;square inch;square in;sq inches;sq inch;sq in;inch²" ), |
233 | ki18nc("amount in units (real)" , "%1 square inches" ), |
234 | ki18ncp("amount in units (integer)" , "%1 square inch" , "%1 square inches" ) |
235 | ); |
236 | U(SquareMile, 2.58999e+06, |
237 | i18nc("area unit symbol" , "mi²" ), |
238 | i18nc("unit description in lists" , "square miles" ), |
239 | i18nc("unit synonyms for matching user input" , |
240 | "square mile;square miles;mi²;square mi;sq miles;sq mile;sq mi;mile²" ), |
241 | ki18nc("amount in units (real)" , "%1 square miles" ), |
242 | ki18ncp("amount in units (integer)" , "%1 square mile" , "%1 square miles" ) |
243 | ); |
244 | |
245 | setMostCommonUnits(QList<int>() << |
246 | SquareKilometer << SquareMeter << SquareHectometer << Acre << SquareFoot << SquareMile); |
247 | } |
248 | |