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  *   SPDX-FileCopyrightText: 2014 Garret Wassermann <gwasser@gmail.com>
0005  *
0006  *   SPDX-License-Identifier: LGPL-2.0-or-later
0007  */
0008 
0009 #include "electrical_current_p.h"
0010 #include "unit_p.h"
0011 
0012 #include <KLocalizedString>
0013 
0014 namespace KUnitConversion
0015 {
0016 UnitCategory ElectricalCurrent::makeCategory()
0017 {
0018     auto c = UnitCategoryPrivate::makeCategory(ElectricalCurrentCategory, i18n("ElectricalCurrent"), i18n("ElectricalCurrent"));
0019     auto d = UnitCategoryPrivate::get(c);
0020     KLocalizedString symbolString = ki18nc("%1 value, %2 unit symbol (electrical current", "%1 %2");
0021 
0022     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0023                        Yottaampere,
0024                        1e+24,
0025                        i18nc("electrical current unit symbol", "YA"),
0026                        i18nc("unit description in lists", "yottaamperes"),
0027                        i18nc("unit synonyms for matching user input", "yottaampere;yottaamperes;YA"),
0028                        symbolString,
0029                        ki18nc("amount in units (real)", "%1 yottaamperes"),
0030                        ki18ncp("amount in units (integer)", "%1 yottaampere", "%1 yottaamperes")));
0031 
0032     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0033                        Zettaampere,
0034                        1e+21,
0035                        i18nc("electrical current unit symbol", "ZA"),
0036                        i18nc("unit description in lists", "zettaamperes"),
0037                        i18nc("unit synonyms for matching user input", "zettaampere;zettaamperes;ZA"),
0038                        symbolString,
0039                        ki18nc("amount in units (real)", "%1 zettaamperes"),
0040                        ki18ncp("amount in units (integer)", "%1 zettaampere", "%1 zettaamperes")));
0041 
0042     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0043                        Exaampere,
0044                        1e+18,
0045                        i18nc("electrical current unit symbol", "EA"),
0046                        i18nc("unit description in lists", "exaamperes"),
0047                        i18nc("unit synonyms for matching user input", "exaampere;exaamperes;EA"),
0048                        symbolString,
0049                        ki18nc("amount in units (real)", "%1 exaamperes"),
0050                        ki18ncp("amount in units (integer)", "%1 exaampere", "%1 exaamperes")));
0051 
0052     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0053                        Petaampere,
0054                        1e+15,
0055                        i18nc("electrical current unit symbol", "PA"),
0056                        i18nc("unit description in lists", "petaamperes"),
0057                        i18nc("unit synonyms for matching user input", "petaampere;petaamperes;PA"),
0058                        symbolString,
0059                        ki18nc("amount in units (real)", "%1 petaamperes"),
0060                        ki18ncp("amount in units (integer)", "%1 petaampere", "%1 petaamperes")));
0061 
0062     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0063                        Teraampere,
0064                        1e+12,
0065                        i18nc("electrical current unit symbol", "TA"),
0066                        i18nc("unit description in lists", "teraamperes"),
0067                        i18nc("unit synonyms for matching user input", "teraampere;teraamperes;TA"),
0068                        symbolString,
0069                        ki18nc("amount in units (real)", "%1 teraamperes"),
0070                        ki18ncp("amount in units (integer)", "%1 teraampere", "%1 teraamperes")));
0071 
0072     d->addCommonUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0073                              Gigaampere,
0074                              1e+09,
0075                              i18nc("electrical current unit symbol", "GA"),
0076                              i18nc("unit description in lists", "gigaamperes"),
0077                              i18nc("unit synonyms for matching user input", "gigaampere;gigaamperes;GA"),
0078                              symbolString,
0079                              ki18nc("amount in units (real)", "%1 gigaamperes"),
0080                              ki18ncp("amount in units (integer)", "%1 gigaampere", "%1 gigaamperes")));
0081 
0082     d->addCommonUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0083                              Megaampere,
0084                              1e+06,
0085                              i18nc("electrical current unit symbol", "MA"),
0086                              i18nc("unit description in lists", "megaamperes"),
0087                              i18nc("unit synonyms for matching user input", "megaampere;megaamperes;MA"),
0088                              symbolString,
0089                              ki18nc("amount in units (real)", "%1 megaamperes"),
0090                              ki18ncp("amount in units (integer)", "%1 megaampere", "%1 megaamperes")));
0091 
0092     d->addCommonUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0093                              Kiloampere,
0094                              1000,
0095                              i18nc("electrical current unit symbol", "kA"),
0096                              i18nc("unit description in lists", "kiloamperes"),
0097                              i18nc("unit synonyms for matching user input", "kiloampere;kiloamperes;kA"),
0098                              symbolString,
0099                              ki18nc("amount in units (real)", "%1 kiloamperes"),
0100                              ki18ncp("amount in units (integer)", "%1 kiloampere", "%1 kiloamperes")));
0101 
0102     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0103                        Hectoampere,
0104                        100,
0105                        i18nc("electrical current unit symbol", "hA"),
0106                        i18nc("unit description in lists", "hectoamperes"),
0107                        i18nc("unit synonyms for matching user input", "hectoampere;hectoamperes;hA"),
0108                        symbolString,
0109                        ki18nc("amount in units (real)", "%1 hectoamperes"),
0110                        ki18ncp("amount in units (integer)", "%1 hectoampere", "%1 hectoamperes")));
0111 
0112     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0113                        Decaampere,
0114                        10,
0115                        i18nc("electrical current unit symbol", "daA"),
0116                        i18nc("unit description in lists", "decaamperes"),
0117                        i18nc("unit synonyms for matching user input", "decaampere;decaamperes;daA"),
0118                        symbolString,
0119                        ki18nc("amount in units (real)", "%1 decaamperes"),
0120                        ki18ncp("amount in units (integer)", "%1 decaampere", "%1 decaamperes")));
0121 
0122     d->addDefaultUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0123                               Ampere,
0124                               1,
0125                               i18nc("electrical current unit symbol", "A"),
0126                               i18nc("unit description in lists", "amperes"),
0127                               i18nc("unit synonyms for matching user input", "amp;amps;ampere;amperes;A"),
0128                               symbolString,
0129                               ki18nc("amount in units (real)", "%1 amperes"),
0130                               ki18ncp("amount in units (integer)", "%1 ampere", "%1 amperes")));
0131 
0132     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0133                        Deciampere,
0134                        0.1,
0135                        i18nc("electrical current unit symbol", "dA"),
0136                        i18nc("unit description in lists", "deciamperes"),
0137                        i18nc("unit synonyms for matching user input", "deciampere;deciamperes;dA"),
0138                        symbolString,
0139                        ki18nc("amount in units (real)", "%1 deciamperes"),
0140                        ki18ncp("amount in units (integer)", "%1 deciampere", "%1 deciamperes")));
0141 
0142     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0143                        Centiampere,
0144                        0.01,
0145                        i18nc("electrical current unit symbol", "cA"),
0146                        i18nc("unit description in lists", "centiamperes"),
0147                        i18nc("unit synonyms for matching user input", "centiampere;centiamperes;cA"),
0148                        symbolString,
0149                        ki18nc("amount in units (real)", "%1 centiamperes"),
0150                        ki18ncp("amount in units (integer)", "%1 centiampere", "%1 centiamperes")));
0151 
0152     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0153                        Milliampere,
0154                        0.001,
0155                        i18nc("electrical current unit symbol", "mA"),
0156                        i18nc("unit description in lists", "milliamperes"),
0157                        i18nc("unit synonyms for matching user input", "milliamp;milliamps;milliampere;milliamperes;mA"),
0158                        symbolString,
0159                        ki18nc("amount in units (real)", "%1 milliamperes"),
0160                        ki18ncp("amount in units (integer)", "%1 milliampere", "%1 milliamperes")));
0161 
0162     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0163                        Microampere,
0164                        1e-06,
0165                        i18nc("electrical current unit symbol", "µA"),
0166                        i18nc("unit description in lists", "microamperes"),
0167                        i18nc("unit synonyms for matching user input", "microamp;microamps;microampere;microamperes;µA;uA"),
0168                        symbolString,
0169                        ki18nc("amount in units (real)", "%1 microamperes"),
0170                        ki18ncp("amount in units (integer)", "%1 microampere", "%1 microamperes")));
0171 
0172     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0173                        Nanoampere,
0174                        1e-09,
0175                        i18nc("electrical current unit symbol", "nA"),
0176                        i18nc("unit description in lists", "nanoamperes"),
0177                        i18nc("unit synonyms for matching user input", "nanoamp;nanoamps;nanoampere;nanoamperes;nA"),
0178                        symbolString,
0179                        ki18nc("amount in units (real)", "%1 nanoamperes"),
0180                        ki18ncp("amount in units (integer)", "%1 nanoampere", "%1 nanoamperes")));
0181 
0182     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0183                        Picoampere,
0184                        1e-12,
0185                        i18nc("electrical current unit symbol", "pA"),
0186                        i18nc("unit description in lists", "picoamperes"),
0187                        i18nc("unit synonyms for matching user input", "picoamp;picoamps;picoampere;picoamperes;pA"),
0188                        symbolString,
0189                        ki18nc("amount in units (real)", "%1 picoamperes"),
0190                        ki18ncp("amount in units (integer)", "%1 picoampere", "%1 picoamperes")));
0191 
0192     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0193                        Femtoampere,
0194                        1e-15,
0195                        i18nc("electrical current unit symbol", "fA"),
0196                        i18nc("unit description in lists", "femtoamperes"),
0197                        i18nc("unit synonyms for matching user input", "femtoampere;femtoamperes;fA"),
0198                        symbolString,
0199                        ki18nc("amount in units (real)", "%1 femtoamperes"),
0200                        ki18ncp("amount in units (integer)", "%1 femtoampere", "%1 femtoamperes")));
0201 
0202     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0203                        Attoampere,
0204                        1e-18,
0205                        i18nc("electrical current unit symbol", "aA"),
0206                        i18nc("unit description in lists", "attoamperes"),
0207                        i18nc("unit synonyms for matching user input", "attoampere;attoamperes;aA"),
0208                        symbolString,
0209                        ki18nc("amount in units (real)", "%1 attoamperes"),
0210                        ki18ncp("amount in units (integer)", "%1 attoampere", "%1 attoamperes")));
0211 
0212     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0213                        Zeptoampere,
0214                        1e-21,
0215                        i18nc("electrical current unit symbol", "zA"),
0216                        i18nc("unit description in lists", "zeptoamperes"),
0217                        i18nc("unit synonyms for matching user input", "zeptoampere;zeptoamperes;zA"),
0218                        symbolString,
0219                        ki18nc("amount in units (real)", "%1 zeptoamperes"),
0220                        ki18ncp("amount in units (integer)", "%1 zeptoampere", "%1 zeptoamperes")));
0221 
0222     d->addUnit(UnitPrivate::makeUnit(ElectricalCurrentCategory,
0223                        Yoctoampere,
0224                        1e-24,
0225                        i18nc("electrical current unit symbol", "yA"),
0226                        i18nc("unit description in lists", "yoctoamperes"),
0227                        i18nc("unit synonyms for matching user input", "yoctoampere;yoctoamperes;yA"),
0228                        symbolString,
0229                        ki18nc("amount in units (real)", "%1 yoctoamperes"),
0230                        ki18ncp("amount in units (integer)", "%1 yoctoampere", "%1 yoctoamperes")));
0231 
0232     return c;
0233 }
0234 
0235 } // KUnitConversion namespace