1 | /* |
2 | * Copyright (C) 2010 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 "frequency.h" |
21 | #include "converter.h" |
22 | #include <klocale.h> |
23 | |
24 | using namespace KUnitConversion; |
25 | |
26 | Frequency::Frequency() : UnitCategory(FrequencyCategory) |
27 | { |
28 | setName(i18n("Frequency" )); |
29 | setSymbolStringFormat(ki18nc("%1 value, %2 unit symbol (frequency" , "%1 %2" )); |
30 | |
31 | U(Yottahertz, 1e+24, |
32 | i18nc("frequency unit symbol" , "YHz" ), |
33 | i18nc("unit description in lists" , "yottahertzs" ), |
34 | i18nc("unit synonyms for matching user input" , "yottahertz;yottahertzs;YHz" ), |
35 | ki18nc("amount in units (real)" , "%1 yottahertzs" ), |
36 | ki18ncp("amount in units (integer)" , "%1 yottahertz" , "%1 yottahertzs" ) |
37 | ); |
38 | U(Zettahertz, 1e+21, |
39 | i18nc("frequency unit symbol" , "ZHz" ), |
40 | i18nc("unit description in lists" , "zettahertzs" ), |
41 | i18nc("unit synonyms for matching user input" , "zettahertz;zettahertzs;ZHz" ), |
42 | ki18nc("amount in units (real)" , "%1 zettahertzs" ), |
43 | ki18ncp("amount in units (integer)" , "%1 zettahertz" , "%1 zettahertzs" ) |
44 | ); |
45 | U(Exahertz, 1e+18, |
46 | i18nc("frequency unit symbol" , "EHz" ), |
47 | i18nc("unit description in lists" , "exahertzs" ), |
48 | i18nc("unit synonyms for matching user input" , "exahertz;exahertzs;EHz" ), |
49 | ki18nc("amount in units (real)" , "%1 exahertzs" ), |
50 | ki18ncp("amount in units (integer)" , "%1 exahertz" , "%1 exahertzs" ) |
51 | ); |
52 | U(Petahertz, 1e+15, |
53 | i18nc("frequency unit symbol" , "PHz" ), |
54 | i18nc("unit description in lists" , "petahertzs" ), |
55 | i18nc("unit synonyms for matching user input" , "petahertz;petahertzs;PHz" ), |
56 | ki18nc("amount in units (real)" , "%1 petahertzs" ), |
57 | ki18ncp("amount in units (integer)" , "%1 petahertz" , "%1 petahertzs" ) |
58 | ); |
59 | U(Terahertz, 1e+12, |
60 | i18nc("frequency unit symbol" , "THz" ), |
61 | i18nc("unit description in lists" , "terahertzs" ), |
62 | i18nc("unit synonyms for matching user input" , "terahertz;terahertzs;THz" ), |
63 | ki18nc("amount in units (real)" , "%1 terahertzs" ), |
64 | ki18ncp("amount in units (integer)" , "%1 terahertz" , "%1 terahertzs" ) |
65 | ); |
66 | U(Gigahertz, 1e+09, |
67 | i18nc("frequency unit symbol" , "GHz" ), |
68 | i18nc("unit description in lists" , "gigahertzs" ), |
69 | i18nc("unit synonyms for matching user input" , "gigahertz;gigahertzs;GHz" ), |
70 | ki18nc("amount in units (real)" , "%1 gigahertzs" ), |
71 | ki18ncp("amount in units (integer)" , "%1 gigahertz" , "%1 gigahertzs" ) |
72 | ); |
73 | U(Megahertz, 1e+06, |
74 | i18nc("frequency unit symbol" , "MHz" ), |
75 | i18nc("unit description in lists" , "megahertzs" ), |
76 | i18nc("unit synonyms for matching user input" , "megahertz;megahertzs;MHz" ), |
77 | ki18nc("amount in units (real)" , "%1 megahertzs" ), |
78 | ki18ncp("amount in units (integer)" , "%1 megahertz" , "%1 megahertzs" ) |
79 | ); |
80 | U(Kilohertz, 1000, |
81 | i18nc("frequency unit symbol" , "kHz" ), |
82 | i18nc("unit description in lists" , "kilohertzs" ), |
83 | i18nc("unit synonyms for matching user input" , "kilohertz;kilohertzs;kHz" ), |
84 | ki18nc("amount in units (real)" , "%1 kilohertzs" ), |
85 | ki18ncp("amount in units (integer)" , "%1 kilohertz" , "%1 kilohertzs" ) |
86 | ); |
87 | U(Hectohertz, 100, |
88 | i18nc("frequency unit symbol" , "hHz" ), |
89 | i18nc("unit description in lists" , "hectohertzs" ), |
90 | i18nc("unit synonyms for matching user input" , "hectohertz;hectohertzs;hHz" ), |
91 | ki18nc("amount in units (real)" , "%1 hectohertzs" ), |
92 | ki18ncp("amount in units (integer)" , "%1 hectohertz" , "%1 hectohertzs" ) |
93 | ); |
94 | U(Decahertz, 10, |
95 | i18nc("frequency unit symbol" , "daHz" ), |
96 | i18nc("unit description in lists" , "decahertzs" ), |
97 | i18nc("unit synonyms for matching user input" , "decahertz;decahertzs;daHz" ), |
98 | ki18nc("amount in units (real)" , "%1 decahertzs" ), |
99 | ki18ncp("amount in units (integer)" , "%1 decahertz" , "%1 decahertzs" ) |
100 | ); |
101 | setDefaultUnit(UP(Hertz, 1, |
102 | i18nc("frequency unit symbol" , "Hz" ), |
103 | i18nc("unit description in lists" , "hertzs" ), |
104 | i18nc("unit synonyms for matching user input" , "hertz;hertzs;Hz" ), |
105 | ki18nc("amount in units (real)" , "%1 hertzs" ), |
106 | ki18ncp("amount in units (integer)" , "%1 hertz" , "%1 hertzs" ) |
107 | )); |
108 | U(Decihertz, 0.1, |
109 | i18nc("frequency unit symbol" , "dHz" ), |
110 | i18nc("unit description in lists" , "decihertzs" ), |
111 | i18nc("unit synonyms for matching user input" , "decihertz;decihertzs;dHz" ), |
112 | ki18nc("amount in units (real)" , "%1 decihertzs" ), |
113 | ki18ncp("amount in units (integer)" , "%1 decihertz" , "%1 decihertzs" ) |
114 | ); |
115 | U(Centihertz, 0.01, |
116 | i18nc("frequency unit symbol" , "cHz" ), |
117 | i18nc("unit description in lists" , "centihertzs" ), |
118 | i18nc("unit synonyms for matching user input" , "centihertz;centihertzs;cHz" ), |
119 | ki18nc("amount in units (real)" , "%1 centihertzs" ), |
120 | ki18ncp("amount in units (integer)" , "%1 centihertz" , "%1 centihertzs" ) |
121 | ); |
122 | U(Millihertz, 0.001, |
123 | i18nc("frequency unit symbol" , "mHz" ), |
124 | i18nc("unit description in lists" , "millihertzs" ), |
125 | i18nc("unit synonyms for matching user input" , "millihertz;millihertzs;mHz" ), |
126 | ki18nc("amount in units (real)" , "%1 millihertzs" ), |
127 | ki18ncp("amount in units (integer)" , "%1 millihertz" , "%1 millihertzs" ) |
128 | ); |
129 | U(Microhertz, 1e-06, |
130 | i18nc("frequency unit symbol" , "µHz" ), |
131 | i18nc("unit description in lists" , "microhertzs" ), |
132 | i18nc("unit synonyms for matching user input" , "microhertz;microhertzs;µHz;uHz" ), |
133 | ki18nc("amount in units (real)" , "%1 microhertzs" ), |
134 | ki18ncp("amount in units (integer)" , "%1 microhertz" , "%1 microhertzs" ) |
135 | ); |
136 | U(Nanohertz, 1e-09, |
137 | i18nc("frequency unit symbol" , "nHz" ), |
138 | i18nc("unit description in lists" , "nanohertzs" ), |
139 | i18nc("unit synonyms for matching user input" , "nanohertz;nanohertzs;nHz" ), |
140 | ki18nc("amount in units (real)" , "%1 nanohertzs" ), |
141 | ki18ncp("amount in units (integer)" , "%1 nanohertz" , "%1 nanohertzs" ) |
142 | ); |
143 | U(Picohertz, 1e-12, |
144 | i18nc("frequency unit symbol" , "pHz" ), |
145 | i18nc("unit description in lists" , "picohertzs" ), |
146 | i18nc("unit synonyms for matching user input" , "picohertz;picohertzs;pHz" ), |
147 | ki18nc("amount in units (real)" , "%1 picohertzs" ), |
148 | ki18ncp("amount in units (integer)" , "%1 picohertz" , "%1 picohertzs" ) |
149 | ); |
150 | U(Femtohertz, 1e-15, |
151 | i18nc("frequency unit symbol" , "fHz" ), |
152 | i18nc("unit description in lists" , "femtohertzs" ), |
153 | i18nc("unit synonyms for matching user input" , "femtohertz;femtohertzs;fHz" ), |
154 | ki18nc("amount in units (real)" , "%1 femtohertzs" ), |
155 | ki18ncp("amount in units (integer)" , "%1 femtohertz" , "%1 femtohertzs" ) |
156 | ); |
157 | U(Attohertz, 1e-18, |
158 | i18nc("frequency unit symbol" , "aHz" ), |
159 | i18nc("unit description in lists" , "attohertzs" ), |
160 | i18nc("unit synonyms for matching user input" , "attohertz;attohertzs;aHz" ), |
161 | ki18nc("amount in units (real)" , "%1 attohertzs" ), |
162 | ki18ncp("amount in units (integer)" , "%1 attohertz" , "%1 attohertzs" ) |
163 | ); |
164 | U(Zeptohertz, 1e-21, |
165 | i18nc("frequency unit symbol" , "zHz" ), |
166 | i18nc("unit description in lists" , "zeptohertzs" ), |
167 | i18nc("unit synonyms for matching user input" , "zeptohertz;zeptohertzs;zHz" ), |
168 | ki18nc("amount in units (real)" , "%1 zeptohertzs" ), |
169 | ki18ncp("amount in units (integer)" , "%1 zeptohertz" , "%1 zeptohertzs" ) |
170 | ); |
171 | U(Yoctohertz, 1e-24, |
172 | i18nc("frequency unit symbol" , "yHz" ), |
173 | i18nc("unit description in lists" , "yoctohertzs" ), |
174 | i18nc("unit synonyms for matching user input" , "yoctohertz;yoctohertzs;yHz" ), |
175 | ki18nc("amount in units (real)" , "%1 yoctohertzs" ), |
176 | ki18ncp("amount in units (integer)" , "%1 yoctohertz" , "%1 yoctohertzs" ) |
177 | ); |
178 | U(RPM, 1.0 / 60.0, |
179 | i18nc("frequency unit symbol" , "RPM" ), |
180 | i18nc("unit description in lists" , "revolutions per minute" ), |
181 | i18nc("unit synonyms for matching user input" , |
182 | "revolutions per minute;revolution per minute;RPM" ), |
183 | ki18nc("amount in units (real)" , "%1 revolutions per minute" ), |
184 | ki18ncp("amount in units (integer)" , "%1 revolution per minute" , "%1 revolutions per minute" ) |
185 | ); |
186 | |
187 | setMostCommonUnits(QList<int>() << |
188 | Kilohertz << Megahertz << Gigahertz << Hertz << RPM); |
189 | } |
190 | |
191 | |