File indexing completed on 2024-04-21 03:58:30

0001 /*
0002  *   SPDX-FileCopyrightText: 2010 Petri Damstén <damu@iki.fi>
0003  *   SPDX-FileCopyrightText: 2014 John Layt <jlayt@kde.org>
0004  *
0005  *   SPDX-License-Identifier: LGPL-2.0-or-later
0006  */
0007 
0008 #include "frequency_p.h"
0009 #include "unit_p.h"
0010 
0011 #include <KLocalizedString>
0012 
0013 namespace KUnitConversion
0014 {
0015 
0016 UnitCategory Frequency::makeCategory()
0017 {
0018     auto c = UnitCategoryPrivate::makeCategory(FrequencyCategory, i18n("Frequency"), i18n("Frequency"));
0019     auto d = UnitCategoryPrivate::get(c);
0020     KLocalizedString symbolString = ki18nc("%1 value, %2 unit symbol (frequency", "%1 %2");
0021 
0022     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0023                        Yottahertz,
0024                        1e+24,
0025                        i18nc("frequency unit symbol", "YHz"),
0026                        i18nc("unit description in lists", "yottahertzs"),
0027                        i18nc("unit synonyms for matching user input", "yottahertz;yottahertzs;YHz"),
0028                        symbolString,
0029                        ki18nc("amount in units (real)", "%1 yottahertzs"),
0030                        ki18ncp("amount in units (integer)", "%1 yottahertz", "%1 yottahertzs")));
0031 
0032     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0033                        Zettahertz,
0034                        1e+21,
0035                        i18nc("frequency unit symbol", "ZHz"),
0036                        i18nc("unit description in lists", "zettahertzs"),
0037                        i18nc("unit synonyms for matching user input", "zettahertz;zettahertzs;ZHz"),
0038                        symbolString,
0039                        ki18nc("amount in units (real)", "%1 zettahertzs"),
0040                        ki18ncp("amount in units (integer)", "%1 zettahertz", "%1 zettahertzs")));
0041 
0042     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0043                        Exahertz,
0044                        1e+18,
0045                        i18nc("frequency unit symbol", "EHz"),
0046                        i18nc("unit description in lists", "exahertzs"),
0047                        i18nc("unit synonyms for matching user input", "exahertz;exahertzs;EHz"),
0048                        symbolString,
0049                        ki18nc("amount in units (real)", "%1 exahertzs"),
0050                        ki18ncp("amount in units (integer)", "%1 exahertz", "%1 exahertzs")));
0051 
0052     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0053                        Petahertz,
0054                        1e+15,
0055                        i18nc("frequency unit symbol", "PHz"),
0056                        i18nc("unit description in lists", "petahertzs"),
0057                        i18nc("unit synonyms for matching user input", "petahertz;petahertzs;PHz"),
0058                        symbolString,
0059                        ki18nc("amount in units (real)", "%1 petahertzs"),
0060                        ki18ncp("amount in units (integer)", "%1 petahertz", "%1 petahertzs")));
0061 
0062     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0063                        Terahertz,
0064                        1e+12,
0065                        i18nc("frequency unit symbol", "THz"),
0066                        i18nc("unit description in lists", "terahertzs"),
0067                        i18nc("unit synonyms for matching user input", "terahertz;terahertzs;THz"),
0068                        symbolString,
0069                        ki18nc("amount in units (real)", "%1 terahertzs"),
0070                        ki18ncp("amount in units (integer)", "%1 terahertz", "%1 terahertzs")));
0071 
0072     d->addCommonUnit(UnitPrivate::makeUnit(FrequencyCategory,
0073                              Gigahertz,
0074                              1e+09,
0075                              i18nc("frequency unit symbol", "GHz"),
0076                              i18nc("unit description in lists", "gigahertzs"),
0077                              i18nc("unit synonyms for matching user input", "gigahertz;gigahertzs;GHz"),
0078                              symbolString,
0079                              ki18nc("amount in units (real)", "%1 gigahertzs"),
0080                              ki18ncp("amount in units (integer)", "%1 gigahertz", "%1 gigahertzs")));
0081 
0082     d->addCommonUnit(UnitPrivate::makeUnit(FrequencyCategory,
0083                              Megahertz,
0084                              1e+06,
0085                              i18nc("frequency unit symbol", "MHz"),
0086                              i18nc("unit description in lists", "megahertzs"),
0087                              i18nc("unit synonyms for matching user input", "megahertz;megahertzs;MHz"),
0088                              symbolString,
0089                              ki18nc("amount in units (real)", "%1 megahertzs"),
0090                              ki18ncp("amount in units (integer)", "%1 megahertz", "%1 megahertzs")));
0091 
0092     d->addCommonUnit(UnitPrivate::makeUnit(FrequencyCategory,
0093                              Kilohertz,
0094                              1000,
0095                              i18nc("frequency unit symbol", "kHz"),
0096                              i18nc("unit description in lists", "kilohertzs"),
0097                              i18nc("unit synonyms for matching user input", "kilohertz;kilohertzs;kHz"),
0098                              symbolString,
0099                              ki18nc("amount in units (real)", "%1 kilohertzs"),
0100                              ki18ncp("amount in units (integer)", "%1 kilohertz", "%1 kilohertzs")));
0101 
0102     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0103                        Hectohertz,
0104                        100,
0105                        i18nc("frequency unit symbol", "hHz"),
0106                        i18nc("unit description in lists", "hectohertzs"),
0107                        i18nc("unit synonyms for matching user input", "hectohertz;hectohertzs;hHz"),
0108                        symbolString,
0109                        ki18nc("amount in units (real)", "%1 hectohertzs"),
0110                        ki18ncp("amount in units (integer)", "%1 hectohertz", "%1 hectohertzs")));
0111 
0112     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0113                        Decahertz,
0114                        10,
0115                        i18nc("frequency unit symbol", "daHz"),
0116                        i18nc("unit description in lists", "decahertzs"),
0117                        i18nc("unit synonyms for matching user input", "decahertz;decahertzs;daHz"),
0118                        symbolString,
0119                        ki18nc("amount in units (real)", "%1 decahertzs"),
0120                        ki18ncp("amount in units (integer)", "%1 decahertz", "%1 decahertzs")));
0121 
0122     d->addDefaultUnit(UnitPrivate::makeUnit(FrequencyCategory,
0123                               Hertz,
0124                               1,
0125                               i18nc("frequency unit symbol", "Hz"),
0126                               i18nc("unit description in lists", "hertzs"),
0127                               i18nc("unit synonyms for matching user input", "hertz;hertzs;Hz"),
0128                               symbolString,
0129                               ki18nc("amount in units (real)", "%1 hertzs"),
0130                               ki18ncp("amount in units (integer)", "%1 hertz", "%1 hertzs")));
0131 
0132     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0133                        Decihertz,
0134                        0.1,
0135                        i18nc("frequency unit symbol", "dHz"),
0136                        i18nc("unit description in lists", "decihertzs"),
0137                        i18nc("unit synonyms for matching user input", "decihertz;decihertzs;dHz"),
0138                        symbolString,
0139                        ki18nc("amount in units (real)", "%1 decihertzs"),
0140                        ki18ncp("amount in units (integer)", "%1 decihertz", "%1 decihertzs")));
0141 
0142     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0143                        Centihertz,
0144                        0.01,
0145                        i18nc("frequency unit symbol", "cHz"),
0146                        i18nc("unit description in lists", "centihertzs"),
0147                        i18nc("unit synonyms for matching user input", "centihertz;centihertzs;cHz"),
0148                        symbolString,
0149                        ki18nc("amount in units (real)", "%1 centihertzs"),
0150                        ki18ncp("amount in units (integer)", "%1 centihertz", "%1 centihertzs")));
0151 
0152     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0153                        Millihertz,
0154                        0.001,
0155                        i18nc("frequency unit symbol", "mHz"),
0156                        i18nc("unit description in lists", "millihertzs"),
0157                        i18nc("unit synonyms for matching user input", "millihertz;millihertzs;mHz"),
0158                        symbolString,
0159                        ki18nc("amount in units (real)", "%1 millihertzs"),
0160                        ki18ncp("amount in units (integer)", "%1 millihertz", "%1 millihertzs")));
0161 
0162     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0163                        Microhertz,
0164                        1e-06,
0165                        i18nc("frequency unit symbol", "µHz"),
0166                        i18nc("unit description in lists", "microhertzs"),
0167                        i18nc("unit synonyms for matching user input", "microhertz;microhertzs;µHz;uHz"),
0168                        symbolString,
0169                        ki18nc("amount in units (real)", "%1 microhertzs"),
0170                        ki18ncp("amount in units (integer)", "%1 microhertz", "%1 microhertzs")));
0171 
0172     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0173                        Nanohertz,
0174                        1e-09,
0175                        i18nc("frequency unit symbol", "nHz"),
0176                        i18nc("unit description in lists", "nanohertzs"),
0177                        i18nc("unit synonyms for matching user input", "nanohertz;nanohertzs;nHz"),
0178                        symbolString,
0179                        ki18nc("amount in units (real)", "%1 nanohertzs"),
0180                        ki18ncp("amount in units (integer)", "%1 nanohertz", "%1 nanohertzs")));
0181 
0182     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0183                        Picohertz,
0184                        1e-12,
0185                        i18nc("frequency unit symbol", "pHz"),
0186                        i18nc("unit description in lists", "picohertzs"),
0187                        i18nc("unit synonyms for matching user input", "picohertz;picohertzs;pHz"),
0188                        symbolString,
0189                        ki18nc("amount in units (real)", "%1 picohertzs"),
0190                        ki18ncp("amount in units (integer)", "%1 picohertz", "%1 picohertzs")));
0191 
0192     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0193                        Femtohertz,
0194                        1e-15,
0195                        i18nc("frequency unit symbol", "fHz"),
0196                        i18nc("unit description in lists", "femtohertzs"),
0197                        i18nc("unit synonyms for matching user input", "femtohertz;femtohertzs;fHz"),
0198                        symbolString,
0199                        ki18nc("amount in units (real)", "%1 femtohertzs"),
0200                        ki18ncp("amount in units (integer)", "%1 femtohertz", "%1 femtohertzs")));
0201 
0202     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0203                        Attohertz,
0204                        1e-18,
0205                        i18nc("frequency unit symbol", "aHz"),
0206                        i18nc("unit description in lists", "attohertzs"),
0207                        i18nc("unit synonyms for matching user input", "attohertz;attohertzs;aHz"),
0208                        symbolString,
0209                        ki18nc("amount in units (real)", "%1 attohertzs"),
0210                        ki18ncp("amount in units (integer)", "%1 attohertz", "%1 attohertzs")));
0211 
0212     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0213                        Zeptohertz,
0214                        1e-21,
0215                        i18nc("frequency unit symbol", "zHz"),
0216                        i18nc("unit description in lists", "zeptohertzs"),
0217                        i18nc("unit synonyms for matching user input", "zeptohertz;zeptohertzs;zHz"),
0218                        symbolString,
0219                        ki18nc("amount in units (real)", "%1 zeptohertzs"),
0220                        ki18ncp("amount in units (integer)", "%1 zeptohertz", "%1 zeptohertzs")));
0221 
0222     d->addUnit(UnitPrivate::makeUnit(FrequencyCategory,
0223                        Yoctohertz,
0224                        1e-24,
0225                        i18nc("frequency unit symbol", "yHz"),
0226                        i18nc("unit description in lists", "yoctohertzs"),
0227                        i18nc("unit synonyms for matching user input", "yoctohertz;yoctohertzs;yHz"),
0228                        symbolString,
0229                        ki18nc("amount in units (real)", "%1 yoctohertzs"),
0230                        ki18ncp("amount in units (integer)", "%1 yoctohertz", "%1 yoctohertzs")));
0231 
0232     d->addCommonUnit(UnitPrivate::makeUnit(FrequencyCategory,
0233                              RPM,
0234                              1.0 / 60.0,
0235                              i18nc("frequency unit symbol", "RPM"),
0236                              i18nc("unit description in lists", "revolutions per minute"),
0237                              i18nc("unit synonyms for matching user input", "revolutions per minute;revolution per minute;RPM"),
0238                              symbolString,
0239                              ki18nc("amount in units (real)", "%1 revolutions per minute"),
0240                              ki18ncp("amount in units (integer)", "%1 revolution per minute", "%1 revolutions per minute")));
0241 
0242     return c;
0243 }
0244 
0245 } // KUnitConversion namespace