File indexing completed on 2024-03-24 04:01:20
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 "force_p.h" 0009 #include "unit_p.h" 0010 0011 #include <KLocalizedString> 0012 0013 namespace KUnitConversion 0014 { 0015 UnitCategory Force::makeCategory() 0016 { 0017 auto c = UnitCategoryPrivate::makeCategory(ForceCategory, i18n("Force"), i18n("Force")); 0018 auto d = UnitCategoryPrivate::get(c); 0019 KLocalizedString symbolString = ki18nc("%1 value, %2 unit symbol (force", "%1 %2"); 0020 0021 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0022 Yottanewton, 0023 1e+24, 0024 i18nc("force unit symbol", "YN"), 0025 i18nc("unit description in lists", "yottanewtons"), 0026 i18nc("unit synonyms for matching user input", "yottanewton;yottanewtons;YN"), 0027 symbolString, 0028 ki18nc("amount in units (real)", "%1 yottanewtons"), 0029 ki18ncp("amount in units (integer)", "%1 yottanewton", "%1 yottanewtons"))); 0030 0031 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0032 Zettanewton, 0033 1e+21, 0034 i18nc("force unit symbol", "ZN"), 0035 i18nc("unit description in lists", "zettanewtons"), 0036 i18nc("unit synonyms for matching user input", "zettanewton;zettanewtons;ZN"), 0037 symbolString, 0038 ki18nc("amount in units (real)", "%1 zettanewtons"), 0039 ki18ncp("amount in units (integer)", "%1 zettanewton", "%1 zettanewtons"))); 0040 0041 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0042 Exanewton, 0043 1e+18, 0044 i18nc("force unit symbol", "EN"), 0045 i18nc("unit description in lists", "exanewtons"), 0046 i18nc("unit synonyms for matching user input", "exanewton;exanewtons;EN"), 0047 symbolString, 0048 ki18nc("amount in units (real)", "%1 exanewtons"), 0049 ki18ncp("amount in units (integer)", "%1 exanewton", "%1 exanewtons"))); 0050 0051 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0052 Petanewton, 0053 1e+15, 0054 i18nc("force unit symbol", "PN"), 0055 i18nc("unit description in lists", "petanewtons"), 0056 i18nc("unit synonyms for matching user input", "petanewton;petanewtons;PN"), 0057 symbolString, 0058 ki18nc("amount in units (real)", "%1 petanewtons"), 0059 ki18ncp("amount in units (integer)", "%1 petanewton", "%1 petanewtons"))); 0060 0061 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0062 Teranewton, 0063 1e+12, 0064 i18nc("force unit symbol", "TN"), 0065 i18nc("unit description in lists", "teranewtons"), 0066 i18nc("unit synonyms for matching user input", "teranewton;teranewtons;TN"), 0067 symbolString, 0068 ki18nc("amount in units (real)", "%1 teranewtons"), 0069 ki18ncp("amount in units (integer)", "%1 teranewton", "%1 teranewtons"))); 0070 0071 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0072 Giganewton, 0073 1e+09, 0074 i18nc("force unit symbol", "GN"), 0075 i18nc("unit description in lists", "giganewtons"), 0076 i18nc("unit synonyms for matching user input", "giganewton;giganewtons;GN"), 0077 symbolString, 0078 ki18nc("amount in units (real)", "%1 giganewtons"), 0079 ki18ncp("amount in units (integer)", "%1 giganewton", "%1 giganewtons"))); 0080 0081 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0082 Meganewton, 0083 1e+06, 0084 i18nc("force unit symbol", "MN"), 0085 i18nc("unit description in lists", "meganewtons"), 0086 i18nc("unit synonyms for matching user input", "meganewton;meganewtons;MN"), 0087 symbolString, 0088 ki18nc("amount in units (real)", "%1 meganewtons"), 0089 ki18ncp("amount in units (integer)", "%1 meganewton", "%1 meganewtons"))); 0090 0091 d->addCommonUnit(UnitPrivate::makeUnit(ForceCategory, 0092 KilonewtonForce, 0093 1000, 0094 i18nc("force unit symbol", "kN"), 0095 i18nc("unit description in lists", "kilonewtons"), 0096 i18nc("unit synonyms for matching user input", "kilonewton;kilonewtons;kN"), 0097 symbolString, 0098 ki18nc("amount in units (real)", "%1 kilonewtons"), 0099 ki18ncp("amount in units (integer)", "%1 kilonewton", "%1 kilonewtons"))); 0100 0101 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0102 Hectonewton, 0103 100, 0104 i18nc("force unit symbol", "hN"), 0105 i18nc("unit description in lists", "hectonewtons"), 0106 i18nc("unit synonyms for matching user input", "hectonewton;hectonewtons;hN"), 0107 symbolString, 0108 ki18nc("amount in units (real)", "%1 hectonewtons"), 0109 ki18ncp("amount in units (integer)", "%1 hectonewton", "%1 hectonewtons"))); 0110 0111 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0112 Decanewton, 0113 10, 0114 i18nc("force unit symbol", "daN"), 0115 i18nc("unit description in lists", "decanewtons"), 0116 i18nc("unit synonyms for matching user input", "decanewton;decanewtons;daN"), 0117 symbolString, 0118 ki18nc("amount in units (real)", "%1 decanewtons"), 0119 ki18ncp("amount in units (integer)", "%1 decanewton", "%1 decanewtons"))); 0120 0121 d->addDefaultUnit(UnitPrivate::makeUnit(ForceCategory, 0122 Newton, 0123 1, 0124 i18nc("force unit symbol", "N"), 0125 i18nc("unit description in lists", "newtons"), 0126 i18nc("unit synonyms for matching user input", "newton;newtons;N"), 0127 symbolString, 0128 ki18nc("amount in units (real)", "%1 newtons"), 0129 ki18ncp("amount in units (integer)", "%1 newton", "%1 newtons"))); 0130 0131 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0132 Decinewton, 0133 0.1, 0134 i18nc("force unit symbol", "dN"), 0135 i18nc("unit description in lists", "decinewtons"), 0136 i18nc("unit synonyms for matching user input", "decinewton;decinewtons;dN"), 0137 symbolString, 0138 ki18nc("amount in units (real)", "%1 decinewtons"), 0139 ki18ncp("amount in units (integer)", "%1 decinewton", "%1 decinewtons"))); 0140 0141 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0142 Centinewton, 0143 0.01, 0144 i18nc("force unit symbol", "cN"), 0145 i18nc("unit description in lists", "centinewtons"), 0146 i18nc("unit synonyms for matching user input", "centinewton;centinewtons;cN"), 0147 symbolString, 0148 ki18nc("amount in units (real)", "%1 centinewtons"), 0149 ki18ncp("amount in units (integer)", "%1 centinewton", "%1 centinewtons"))); 0150 0151 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0152 Millinewton, 0153 0.001, 0154 i18nc("force unit symbol", "mN"), 0155 i18nc("unit description in lists", "millinewtons"), 0156 i18nc("unit synonyms for matching user input", "millinewton;millinewtons;mN"), 0157 symbolString, 0158 ki18nc("amount in units (real)", "%1 millinewtons"), 0159 ki18ncp("amount in units (integer)", "%1 millinewton", "%1 millinewtons"))); 0160 0161 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0162 Micronewton, 0163 1e-06, 0164 i18nc("force unit symbol", "µN"), 0165 i18nc("unit description in lists", "micronewtons"), 0166 i18nc("unit synonyms for matching user input", "micronewton;micronewtons;µm;uN"), 0167 symbolString, 0168 ki18nc("amount in units (real)", "%1 micronewtons"), 0169 ki18ncp("amount in units (integer)", "%1 micronewton", "%1 micronewtons"))); 0170 0171 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0172 Nanonewton, 0173 1e-09, 0174 i18nc("force unit symbol", "nN"), 0175 i18nc("unit description in lists", "nanonewtons"), 0176 i18nc("unit synonyms for matching user input", "nanonewton;nanonewtons;nN"), 0177 symbolString, 0178 ki18nc("amount in units (real)", "%1 nanonewtons"), 0179 ki18ncp("amount in units (integer)", "%1 nanonewton", "%1 nanonewtons"))); 0180 0181 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0182 Piconewton, 0183 1e-12, 0184 i18nc("force unit symbol", "pN"), 0185 i18nc("unit description in lists", "piconewtons"), 0186 i18nc("unit synonyms for matching user input", "piconewton;piconewtons;pN"), 0187 symbolString, 0188 ki18nc("amount in units (real)", "%1 piconewtons"), 0189 ki18ncp("amount in units (integer)", "%1 piconewton", "%1 piconewtons"))); 0190 0191 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0192 Femtonewton, 0193 1e-15, 0194 i18nc("force unit symbol", "fN"), 0195 i18nc("unit description in lists", "femtonewtons"), 0196 i18nc("unit synonyms for matching user input", "femtonewton;femtonewtons;fN"), 0197 symbolString, 0198 ki18nc("amount in units (real)", "%1 femtonewtons"), 0199 ki18ncp("amount in units (integer)", "%1 femtonewton", "%1 femtonewtons"))); 0200 0201 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0202 Attonewton, 0203 1e-18, 0204 i18nc("force unit symbol", "aN"), 0205 i18nc("unit description in lists", "attonewtons"), 0206 i18nc("unit synonyms for matching user input", "attonewton;attonewtons;aN"), 0207 symbolString, 0208 ki18nc("amount in units (real)", "%1 attonewtons"), 0209 ki18ncp("amount in units (integer)", "%1 attonewton", "%1 attonewtons"))); 0210 0211 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0212 Zeptonewton, 0213 1e-21, 0214 i18nc("force unit symbol", "zN"), 0215 i18nc("unit description in lists", "zeptonewtons"), 0216 i18nc("unit synonyms for matching user input", "zeptonewton;zeptonewtons;zN"), 0217 symbolString, 0218 ki18nc("amount in units (real)", "%1 zeptonewtons"), 0219 ki18ncp("amount in units (integer)", "%1 zeptonewton", "%1 zeptonewtons"))); 0220 0221 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0222 Yoctonewton, 0223 1e-24, 0224 i18nc("force unit symbol", "yN"), 0225 i18nc("unit description in lists", "yoctonewtons"), 0226 i18nc("unit synonyms for matching user input", "yoctonewton;yoctonewtons;yN"), 0227 symbolString, 0228 ki18nc("amount in units (real)", "%1 yoctonewtons"), 0229 ki18ncp("amount in units (integer)", "%1 yoctonewton", "%1 yoctonewtons"))); 0230 0231 // http://en.wikipedia.org/wiki/Force#Units_of_measurement 0232 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0233 Dyne, 0234 0.0001, 0235 i18nc("force unit symbol", "dyn"), 0236 i18nc("unit description in lists", "dynes"), 0237 i18nc("unit synonyms for matching user input", "dyne;dynes;dyn"), 0238 symbolString, 0239 ki18nc("amount in units (real)", "%1 dynes"), 0240 ki18ncp("amount in units (integer)", "%1 dyne", "%1 dynes"))); 0241 0242 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0243 Kilopond, 0244 9.80665, 0245 i18nc("force unit symbol", "kp"), 0246 i18nc("unit description in lists", "kiloponds"), 0247 i18nc("unit synonyms for matching user input", "kilogram-force;kilopond;kiloponds;kp"), 0248 symbolString, 0249 ki18nc("amount in units (real)", "%1 kiloponds"), 0250 ki18ncp("amount in units (integer)", "%1 kilopond", "%1 kiloponds"))); 0251 0252 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0253 PoundForce, 0254 4.448222, 0255 i18nc("force unit symbol", "lbf"), 0256 i18nc("unit description in lists", "pound-force"), 0257 i18nc("unit synonyms for matching user input", "pound-force;lbf"), 0258 symbolString, 0259 ki18nc("amount in units (real)", "%1 pound-force"), 0260 ki18ncp("amount in units (integer)", "%1 pound-force", "%1 pound-force"))); 0261 0262 d->addUnit(UnitPrivate::makeUnit(ForceCategory, 0263 Poundal, 0264 0.138255, 0265 i18nc("force unit symbol", "pdl"), 0266 i18nc("unit description in lists", "poundals"), 0267 i18nc("unit synonyms for matching user input", "poundal;poundals;pdl"), 0268 symbolString, 0269 ki18nc("amount in units (real)", "%1 poundals"), 0270 ki18ncp("amount in units (integer)", "%1 poundal", "%1 poundals"))); 0271 0272 return c; 0273 } 0274 0275 } // KUnitConversion namespace