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

0001 /*
0002  *   SPDX-FileCopyrightText: 2007-2009 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 "unit_p.h"
0009 #include "volume_p.h"
0010 
0011 #include <KLocalizedString>
0012 
0013 namespace KUnitConversion
0014 {
0015 
0016 UnitCategory Volume::makeCategory()
0017 {
0018     auto c = UnitCategoryPrivate::makeCategory(VolumeCategory, i18n("Volume"), i18n("Volume"));
0019     auto d = UnitCategoryPrivate::get(c);
0020     KLocalizedString symbolString = ki18nc("%1 value, %2 unit symbol (volume)", "%1 %2");
0021 
0022     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0023                        CubicYottameter,
0024                        1e+72,
0025                        i18nc("volume unit symbol", "Ym³"),
0026                        i18nc("unit description in lists", "cubic yottameters"),
0027                        i18nc("unit synonyms for matching user input", "cubic yottameter;cubic yottameters;Ym³;Ym/-3;Ym^3;Ym3"),
0028                        symbolString,
0029                        ki18nc("amount in units (real)", "%1 cubic yottameters"),
0030                        ki18ncp("amount in units (integer)", "%1 cubic yottameter", "%1 cubic yottameters")));
0031 
0032     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0033                        CubicZettameter,
0034                        1e+63,
0035                        i18nc("volume unit symbol", "Zm³"),
0036                        i18nc("unit description in lists", "cubic zettameters"),
0037                        i18nc("unit synonyms for matching user input", "cubic zettameter;cubic zettameters;Zm³;Zm/-3;Zm^3;Zm3"),
0038                        symbolString,
0039                        ki18nc("amount in units (real)", "%1 cubic zettameters"),
0040                        ki18ncp("amount in units (integer)", "%1 cubic zettameter", "%1 cubic zettameters")));
0041 
0042     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0043                        CubicExameter,
0044                        1e+54,
0045                        i18nc("volume unit symbol", "Em³"),
0046                        i18nc("unit description in lists", "cubic exameters"),
0047                        i18nc("unit synonyms for matching user input", "cubic exameter;cubic exameters;Em³;Em/-3;Em^3;Em3"),
0048                        symbolString,
0049                        ki18nc("amount in units (real)", "%1 cubic exameters"),
0050                        ki18ncp("amount in units (integer)", "%1 cubic exameter", "%1 cubic exameters")));
0051 
0052     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0053                        CubicPetameter,
0054                        1e+45,
0055                        i18nc("volume unit symbol", "Pm³"),
0056                        i18nc("unit description in lists", "cubic petameters"),
0057                        i18nc("unit synonyms for matching user input", "cubic petameter;cubic petameters;Pm³;Pm/-3;Pm^3;Pm3"),
0058                        symbolString,
0059                        ki18nc("amount in units (real)", "%1 cubic petameters"),
0060                        ki18ncp("amount in units (integer)", "%1 cubic petameter", "%1 cubic petameters")));
0061 
0062     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0063                        CubicTerameter,
0064                        1e+36,
0065                        i18nc("volume unit symbol", "Tm³"),
0066                        i18nc("unit description in lists", "cubic terameters"),
0067                        i18nc("unit synonyms for matching user input", "cubic terameter;cubic terameters;Tm³;Tm/-3;Tm^3;Tm3"),
0068                        symbolString,
0069                        ki18nc("amount in units (real)", "%1 cubic terameters"),
0070                        ki18ncp("amount in units (integer)", "%1 cubic terameter", "%1 cubic terameters")));
0071 
0072     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0073                        CubicGigameter,
0074                        1e+27,
0075                        i18nc("volume unit symbol", "Gm³"),
0076                        i18nc("unit description in lists", "cubic gigameters"),
0077                        i18nc("unit synonyms for matching user input", "cubic gigameter;cubic gigameters;Gm³;Gm/-3;Gm^3;Gm3"),
0078                        symbolString,
0079                        ki18nc("amount in units (real)", "%1 cubic gigameters"),
0080                        ki18ncp("amount in units (integer)", "%1 cubic gigameter", "%1 cubic gigameters")));
0081 
0082     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0083                        CubicMegameter,
0084                        1e+18,
0085                        i18nc("volume unit symbol", "Mm³"),
0086                        i18nc("unit description in lists", "cubic megameters"),
0087                        i18nc("unit synonyms for matching user input", "cubic megameter;cubic megameters;Mm³;Mm/-3;Mm^3;Mm3"),
0088                        symbolString,
0089                        ki18nc("amount in units (real)", "%1 cubic megameters"),
0090                        ki18ncp("amount in units (integer)", "%1 cubic megameter", "%1 cubic megameters")));
0091 
0092     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0093                        CubicKilometer,
0094                        1e+09,
0095                        i18nc("volume unit symbol", "km³"),
0096                        i18nc("unit description in lists", "cubic kilometers"),
0097                        i18nc("unit synonyms for matching user input", "cubic kilometer;cubic kilometers;km³;km/-3;km^3;km3"),
0098                        symbolString,
0099                        ki18nc("amount in units (real)", "%1 cubic kilometers"),
0100                        ki18ncp("amount in units (integer)", "%1 cubic kilometer", "%1 cubic kilometers")));
0101 
0102     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0103                        CubicHectometer,
0104                        1e+06,
0105                        i18nc("volume unit symbol", "hm³"),
0106                        i18nc("unit description in lists", "cubic hectometers"),
0107                        i18nc("unit synonyms for matching user input", "cubic hectometer;cubic hectometers;hm³;hm/-3;hm^3;hm3"),
0108                        symbolString,
0109                        ki18nc("amount in units (real)", "%1 cubic hectometers"),
0110                        ki18ncp("amount in units (integer)", "%1 cubic hectometer", "%1 cubic hectometers")));
0111 
0112     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0113                        CubicDecameter,
0114                        1000,
0115                        i18nc("volume unit symbol", "dam³"),
0116                        i18nc("unit description in lists", "cubic decameters"),
0117                        i18nc("unit synonyms for matching user input", "cubic decameter;cubic decameters;dam³;dam/-3;dam^3;dam3"),
0118                        symbolString,
0119                        ki18nc("amount in units (real)", "%1 cubic decameters"),
0120                        ki18ncp("amount in units (integer)", "%1 cubic decameter", "%1 cubic decameters")));
0121 
0122     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0123                              CubicMeter,
0124                              1,
0125                              i18nc("volume unit symbol", "m³"),
0126                              i18nc("unit description in lists", "cubic meters"),
0127                              i18nc("unit synonyms for matching user input", "cubic meter;cubic meters;m³;m/-3;m^3;m3"),
0128                              symbolString,
0129                              ki18nc("amount in units (real)", "%1 cubic meters"),
0130                              ki18ncp("amount in units (integer)", "%1 cubic meter", "%1 cubic meters")));
0131 
0132     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0133                        CubicDecimeter,
0134                        0.001,
0135                        i18nc("volume unit symbol", "dm³"),
0136                        i18nc("unit description in lists", "cubic decimeters"),
0137                        i18nc("unit synonyms for matching user input", "cubic decimeter;cubic decimeters;dm³;dm/-3;dm^3;dm3"),
0138                        symbolString,
0139                        ki18nc("amount in units (real)", "%1 cubic decimeters"),
0140                        ki18ncp("amount in units (integer)", "%1 cubic decimeter", "%1 cubic decimeters")));
0141 
0142     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0143                        CubicCentimeter,
0144                        1e-06,
0145                        i18nc("volume unit symbol", "cm³"),
0146                        i18nc("unit description in lists", "cubic centimeters"),
0147                        i18nc("unit synonyms for matching user input", "cubic centimeter;cubic centimeters;cm³;cm/-3;cm^3;cm3"),
0148                        symbolString,
0149                        ki18nc("amount in units (real)", "%1 cubic centimeters"),
0150                        ki18ncp("amount in units (integer)", "%1 cubic centimeter", "%1 cubic centimeters")));
0151 
0152     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0153                        CubicMillimeter,
0154                        1e-09,
0155                        i18nc("volume unit symbol", "mm³"),
0156                        i18nc("unit description in lists", "cubic millimeters"),
0157                        i18nc("unit synonyms for matching user input", "cubic millimeter;cubic millimeters;mm³;mm/-3;mm^3;mm3"),
0158                        symbolString,
0159                        ki18nc("amount in units (real)", "%1 cubic millimeters"),
0160                        ki18ncp("amount in units (integer)", "%1 cubic millimeter", "%1 cubic millimeters")));
0161 
0162     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0163                        CubicMicrometer,
0164                        1e-18,
0165                        i18nc("volume unit symbol", "µm³"),
0166                        i18nc("unit description in lists", "cubic micrometers"),
0167                        i18nc("unit synonyms for matching user input", "cubic micrometer;cubic micrometers;µm³;um³;µm/-3;µm^3;µm3"),
0168                        symbolString,
0169                        ki18nc("amount in units (real)", "%1 cubic micrometers"),
0170                        ki18ncp("amount in units (integer)", "%1 cubic micrometer", "%1 cubic micrometers")));
0171 
0172     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0173                        CubicNanometer,
0174                        1e-27,
0175                        i18nc("volume unit symbol", "nm³"),
0176                        i18nc("unit description in lists", "cubic nanometers"),
0177                        i18nc("unit synonyms for matching user input", "cubic nanometer;cubic nanometers;nm³;nm/-3;nm^3;nm3"),
0178                        symbolString,
0179                        ki18nc("amount in units (real)", "%1 cubic nanometers"),
0180                        ki18ncp("amount in units (integer)", "%1 cubic nanometer", "%1 cubic nanometers")));
0181 
0182     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0183                        CubicPicometer,
0184                        1e-36,
0185                        i18nc("volume unit symbol", "pm³"),
0186                        i18nc("unit description in lists", "cubic picometers"),
0187                        i18nc("unit synonyms for matching user input", "cubic picometer;cubic picometers;pm³;pm/-3;pm^3;pm3"),
0188                        symbolString,
0189                        ki18nc("amount in units (real)", "%1 cubic picometers"),
0190                        ki18ncp("amount in units (integer)", "%1 cubic picometer", "%1 cubic picometers")));
0191 
0192     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0193                        CubicFemtometer,
0194                        1e-45,
0195                        i18nc("volume unit symbol", "fm³"),
0196                        i18nc("unit description in lists", "cubic femtometers"),
0197                        i18nc("unit synonyms for matching user input", "cubic femtometer;cubic femtometers;fm³;fm/-3;fm^3;fm3"),
0198                        symbolString,
0199                        ki18nc("amount in units (real)", "%1 cubic femtometers"),
0200                        ki18ncp("amount in units (integer)", "%1 cubic femtometer", "%1 cubic femtometers")));
0201 
0202     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0203                        CubicAttometer,
0204                        1e-54,
0205                        i18nc("volume unit symbol", "am³"),
0206                        i18nc("unit description in lists", "cubic attometers"),
0207                        i18nc("unit synonyms for matching user input", "cubic attometer;cubic attometers;am³;am/-3;am^3;am3"),
0208                        symbolString,
0209                        ki18nc("amount in units (real)", "%1 cubic attometers"),
0210                        ki18ncp("amount in units (integer)", "%1 cubic attometer", "%1 cubic attometers")));
0211 
0212     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0213                        CubicZeptometer,
0214                        1e-63,
0215                        i18nc("volume unit symbol", "zm³"),
0216                        i18nc("unit description in lists", "cubic zeptometers"),
0217                        i18nc("unit synonyms for matching user input", "cubic zeptometer;cubic zeptometers;zm³;zm/-3;zm^3;zm3"),
0218                        symbolString,
0219                        ki18nc("amount in units (real)", "%1 cubic zeptometers"),
0220                        ki18ncp("amount in units (integer)", "%1 cubic zeptometer", "%1 cubic zeptometers")));
0221 
0222     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0223                        CubicYoctometer,
0224                        1e-72,
0225                        i18nc("volume unit symbol", "ym³"),
0226                        i18nc("unit description in lists", "cubic yoctometers"),
0227                        i18nc("unit synonyms for matching user input", "cubic yoctometer;cubic yoctometers;ym³;ym/-3;ym^3;ym3"),
0228                        symbolString,
0229                        ki18nc("amount in units (real)", "%1 cubic yoctometers"),
0230                        ki18ncp("amount in units (integer)", "%1 cubic yoctometer", "%1 cubic yoctometers")));
0231 
0232     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0233                        Yottaliter,
0234                        1e+21,
0235                        i18nc("volume unit symbol", "Yl"),
0236                        i18nc("unit description in lists", "yottaliters"),
0237                        i18nc("unit synonyms for matching user input", "yottaliter;yottaliters;Yl"),
0238                        symbolString,
0239                        ki18nc("amount in units (real)", "%1 yottaliters"),
0240                        ki18ncp("amount in units (integer)", "%1 yottaliter", "%1 yottaliters")));
0241 
0242     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0243                        Zettaliter,
0244                        1e+18,
0245                        i18nc("volume unit symbol", "Zl"),
0246                        i18nc("unit description in lists", "zettaliters"),
0247                        i18nc("unit synonyms for matching user input", "zettaliter;zettaliters;Zl"),
0248                        symbolString,
0249                        ki18nc("amount in units (real)", "%1 zettaliters"),
0250                        ki18ncp("amount in units (integer)", "%1 zettaliter", "%1 zettaliters")));
0251 
0252     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0253                        Exaliter,
0254                        1e+15,
0255                        i18nc("volume unit symbol", "El"),
0256                        i18nc("unit description in lists", "exaliters"),
0257                        i18nc("unit synonyms for matching user input", "exaliter;exaliters;El"),
0258                        symbolString,
0259                        ki18nc("amount in units (real)", "%1 exaliters"),
0260                        ki18ncp("amount in units (integer)", "%1 exaliter", "%1 exaliters")));
0261 
0262     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0263                        Petaliter,
0264                        1e+12,
0265                        i18nc("volume unit symbol", "Pl"),
0266                        i18nc("unit description in lists", "petaliters"),
0267                        i18nc("unit synonyms for matching user input", "petaliter;petaliters;Pl"),
0268                        symbolString,
0269                        ki18nc("amount in units (real)", "%1 petaliters"),
0270                        ki18ncp("amount in units (integer)", "%1 petaliter", "%1 petaliters")));
0271 
0272     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0273                        Teraliter,
0274                        1e+09,
0275                        i18nc("volume unit symbol", "Tl"),
0276                        i18nc("unit description in lists", "teraliters"),
0277                        i18nc("unit synonyms for matching user input", "teraliter;teraliters;Tl"),
0278                        symbolString,
0279                        ki18nc("amount in units (real)", "%1 teraliters"),
0280                        ki18ncp("amount in units (integer)", "%1 teraliter", "%1 teraliters")));
0281 
0282     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0283                        Gigaliter,
0284                        1e+06,
0285                        i18nc("volume unit symbol", "Gl"),
0286                        i18nc("unit description in lists", "gigaliters"),
0287                        i18nc("unit synonyms for matching user input", "gigaliter;gigaliters;Gl"),
0288                        symbolString,
0289                        ki18nc("amount in units (real)", "%1 gigaliters"),
0290                        ki18ncp("amount in units (integer)", "%1 gigaliter", "%1 gigaliters")));
0291 
0292     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0293                        Megaliter,
0294                        1000,
0295                        i18nc("volume unit symbol", "Ml"),
0296                        i18nc("unit description in lists", "megaliters"),
0297                        i18nc("unit synonyms for matching user input", "megaliter;megaliters;Ml"),
0298                        symbolString,
0299                        ki18nc("amount in units (real)", "%1 megaliters"),
0300                        ki18ncp("amount in units (integer)", "%1 megaliter", "%1 megaliters")));
0301 
0302     d->addDefaultUnit(UnitPrivate::makeUnit(VolumeCategory,
0303                               Kiloliter,
0304                               1,
0305                               i18nc("volume unit symbol", "kl"),
0306                               i18nc("unit description in lists", "kiloliters"),
0307                               i18nc("unit synonyms for matching user input", "kiloliter;kiloliters;kl"),
0308                               symbolString,
0309                               ki18nc("amount in units (real)", "%1 kiloliters"),
0310                               ki18ncp("amount in units (integer)", "%1 kiloliter", "%1 kiloliters")));
0311 
0312     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0313                        Hectoliter,
0314                        0.1,
0315                        i18nc("volume unit symbol", "hl"),
0316                        i18nc("unit description in lists", "hectoliters"),
0317                        i18nc("unit synonyms for matching user input", "hectoliter;hectoliters;hl"),
0318                        symbolString,
0319                        ki18nc("amount in units (real)", "%1 hectoliters"),
0320                        ki18ncp("amount in units (integer)", "%1 hectoliter", "%1 hectoliters")));
0321 
0322     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0323                        Decaliter,
0324                        0.01,
0325                        i18nc("volume unit symbol", "dal"),
0326                        i18nc("unit description in lists", "decaliters"),
0327                        i18nc("unit synonyms for matching user input", "decaliter;decaliters;dal"),
0328                        symbolString,
0329                        ki18nc("amount in units (real)", "%1 decaliters"),
0330                        ki18ncp("amount in units (integer)", "%1 decaliter", "%1 decaliters")));
0331 
0332     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0333                              Liter,
0334                              0.001,
0335                              i18nc("volume unit symbol", "l"),
0336                              i18nc("unit description in lists", "liters"),
0337                              i18nc("unit synonyms for matching user input", "liter;liters;l"),
0338                              symbolString,
0339                              ki18nc("amount in units (real)", "%1 liters"),
0340                              ki18ncp("amount in units (integer)", "%1 liter", "%1 liters")));
0341 
0342     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0343                        Deciliter,
0344                        0.0001,
0345                        i18nc("volume unit symbol", "dl"),
0346                        i18nc("unit description in lists", "deciliters"),
0347                        i18nc("unit synonyms for matching user input", "deciliter;deciliters;dl"),
0348                        symbolString,
0349                        ki18nc("amount in units (real)", "%1 deciliters"),
0350                        ki18ncp("amount in units (integer)", "%1 deciliter", "%1 deciliters")));
0351 
0352     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0353                        Centiliter,
0354                        1e-05,
0355                        i18nc("volume unit symbol", "cl"),
0356                        i18nc("unit description in lists", "centiliters"),
0357                        i18nc("unit synonyms for matching user input", "centiliter;centiliters;cl"),
0358                        symbolString,
0359                        ki18nc("amount in units (real)", "%1 centiliters"),
0360                        ki18ncp("amount in units (integer)", "%1 centiliter", "%1 centiliters")));
0361 
0362     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0363                              Milliliter,
0364                              1e-06,
0365                              i18nc("volume unit symbol", "ml"),
0366                              i18nc("unit description in lists", "milliliters"),
0367                              i18nc("unit synonyms for matching user input", "milliliter;milliliters;ml"),
0368                              symbolString,
0369                              ki18nc("amount in units (real)", "%1 milliliters"),
0370                              ki18ncp("amount in units (integer)", "%1 milliliter", "%1 milliliters")));
0371 
0372     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0373                        Microliter,
0374                        1e-09,
0375                        i18nc("volume unit symbol", "µl"),
0376                        i18nc("unit description in lists", "microliters"),
0377                        i18nc("unit synonyms for matching user input", "microliter;microliters;µl;ul"),
0378                        symbolString,
0379                        ki18nc("amount in units (real)", "%1 microliters"),
0380                        ki18ncp("amount in units (integer)", "%1 microliter", "%1 microliters")));
0381 
0382     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0383                        Nanoliter,
0384                        1e-12,
0385                        i18nc("volume unit symbol", "nl"),
0386                        i18nc("unit description in lists", "nanoliters"),
0387                        i18nc("unit synonyms for matching user input", "nanoliter;nanoliters;nl"),
0388                        symbolString,
0389                        ki18nc("amount in units (real)", "%1 nanoliters"),
0390                        ki18ncp("amount in units (integer)", "%1 nanoliter", "%1 nanoliters")));
0391 
0392     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0393                        Picoliter,
0394                        1e-15,
0395                        i18nc("volume unit symbol", "pl"),
0396                        i18nc("unit description in lists", "picoliters"),
0397                        i18nc("unit synonyms for matching user input", "picoliter;picoliters;pl"),
0398                        symbolString,
0399                        ki18nc("amount in units (real)", "%1 picoliters"),
0400                        ki18ncp("amount in units (integer)", "%1 picoliter", "%1 picoliters")));
0401 
0402     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0403                        Femtoliter,
0404                        1e-18,
0405                        i18nc("volume unit symbol", "fl"),
0406                        i18nc("unit description in lists", "femtoliters"),
0407                        i18nc("unit synonyms for matching user input", "femtoliter;femtoliters;fl"),
0408                        symbolString,
0409                        ki18nc("amount in units (real)", "%1 femtoliters"),
0410                        ki18ncp("amount in units (integer)", "%1 femtoliter", "%1 femtoliters")));
0411 
0412     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0413                        Attoliter,
0414                        1e-21,
0415                        i18nc("volume unit symbol", "al"),
0416                        i18nc("unit description in lists", "attoliters"),
0417                        i18nc("unit synonyms for matching user input", "attoliter;attoliters;al"),
0418                        symbolString,
0419                        ki18nc("amount in units (real)", "%1 attoliters"),
0420                        ki18ncp("amount in units (integer)", "%1 attoliter", "%1 attoliters")));
0421 
0422     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0423                        Zeptoliter,
0424                        1e-24,
0425                        i18nc("volume unit symbol", "zl"),
0426                        i18nc("unit description in lists", "zeptoliters"),
0427                        i18nc("unit synonyms for matching user input", "zeptoliter;zeptoliters;zl"),
0428                        symbolString,
0429                        ki18nc("amount in units (real)", "%1 zeptoliters"),
0430                        ki18ncp("amount in units (integer)", "%1 zeptoliter", "%1 zeptoliters")));
0431 
0432     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0433                        Yoctoliter,
0434                        1e-27,
0435                        i18nc("volume unit symbol", "yl"),
0436                        i18nc("unit description in lists", "yoctoliters"),
0437                        i18nc("unit synonyms for matching user input", "yoctoliter;yoctoliters;yl"),
0438                        symbolString,
0439                        ki18nc("amount in units (real)", "%1 yoctoliters"),
0440                        ki18ncp("amount in units (integer)", "%1 yoctoliter", "%1 yoctoliters")));
0441 
0442     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0443                        CubicFoot,
0444                        0.0283168,
0445                        i18nc("volume unit symbol", "ft³"),
0446                        i18nc("unit description in lists", "cubic feet"),
0447                        i18nc("unit synonyms for matching user input", "cubic foot;cubic feet;ft³;cubic ft;cu foot;cu ft;cu feet;feet³"),
0448                        symbolString,
0449                        ki18nc("amount in units (real)", "%1 cubic feet"),
0450                        ki18ncp("amount in units (integer)", "%1 cubic foot", "%1 cubic feet")));
0451 
0452     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0453                        CubicInch,
0454                        1.63871e-05,
0455                        i18nc("volume unit symbol", "in³"),
0456                        i18nc("unit description in lists", "cubic inches"),
0457                        i18nc("unit synonyms for matching user input", "cubic inch;cubic inches;in³;cubic inch;cubic in;cu inches;cu inch;cu in;inch³"),
0458                        symbolString,
0459                        ki18nc("amount in units (real)", "%1 cubic inches"),
0460                        ki18ncp("amount in units (integer)", "%1 cubic inch", "%1 cubic inches")));
0461 
0462     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0463                        CubicMile,
0464                        4.16818e+09,
0465                        i18nc("volume unit symbol", "mi³"),
0466                        i18nc("unit description in lists", "cubic miles"),
0467                        i18nc("unit synonyms for matching user input", "cubic mile;cubic miles;mi³;cubic mile;cubic mi;cu miles;cu mile;cu mi;mile³"),
0468                        symbolString,
0469                        ki18nc("amount in units (real)", "%1 cubic miles"),
0470                        ki18ncp("amount in units (integer)", "%1 cubic mile", "%1 cubic miles")));
0471 
0472     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0473                              FluidOunce,
0474                              2.95735e-05,
0475                              i18nc("volume unit symbol", "fl.oz."),
0476                              i18nc("unit description in lists", "fluid ounces"),
0477                              i18nc("unit synonyms for matching user input", "fluid ounce;fluid ounces;fl.oz.;oz.fl.;oz. fl.;fl. oz.;fl oz;fluid ounce"),
0478                              symbolString,
0479                              ki18nc("amount in units (real)", "%1 fluid ounces"),
0480                              ki18ncp("amount in units (integer)", "%1 fluid ounce", "%1 fluid ounces")));
0481 
0482     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0483                              Cup,
0484                              0.000236588,
0485                              i18nc("volume unit symbol", "cp"),
0486                              i18nc("unit description in lists", "cups"),
0487                              i18nc("unit synonyms for matching user input", "cup;cups;cp"),
0488                              symbolString,
0489                              ki18nc("amount in units (real)", "%1 cups"),
0490                              ki18ncp("amount in units (integer)", "%1 cup", "%1 cups")));
0491 
0492     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0493                                            Teaspoon,
0494                                            0.000005, // FDA standard 5ml
0495                                            i18nc("volume unit symbol", "tsp"),
0496                                            i18nc("unit description in lists", "teaspoon"),
0497                                            i18nc("unit synonyms for matching user input", "teaspoon;teaspoons;tsp;tsps"),
0498                                            symbolString,
0499                                            ki18nc("amount in units (real)", "%1 teaspoons"),
0500                                            ki18ncp("amount in units (integer)", "%1 teaspoon", "%1 teaspoons")));
0501 
0502     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0503                                            Tablespoon,
0504                                            0.000015, // FDA standard 15ml
0505                                            i18nc("volume unit symbol", "tbsp"),
0506                                            i18nc("unit description in lists", "tablespoon"),
0507                                            i18nc("unit synonyms for matching user input", "tablespoon;tablespoons;tbsp;tbsps"),
0508                                            symbolString,
0509                                            ki18nc("amount in units (real)", "%1 tablespoons"),
0510                                            ki18ncp("amount in units (integer)", "%1 tablespoon", "%1 tablespoons")));
0511 
0512     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0513                              GallonUS,
0514                              0.00378541,
0515                              i18nc("volume unit symbol", "gal"),
0516                              i18nc("unit description in lists", "gallons (U.S. liquid)"),
0517                              i18nc("unit synonyms for matching user input", "gallon (U.S. liquid);gallons (U.S. liquid);gal;gallon;gallons"),
0518                              symbolString,
0519                              ki18nc("amount in units (real)", "%1 gallons (U.S. liquid)"),
0520                              ki18ncp("amount in units (integer)", "%1 gallon (U.S. liquid)", "%1 gallons (U.S. liquid)")));
0521 
0522     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0523                        GallonImperial,
0524                        0.00454609,
0525                        i18nc("volume unit symbol", "imp gal"),
0526                        i18nc("unit description in lists", "gallons (imperial)"),
0527                        i18nc("unit synonyms for matching user input",
0528                              "gallon (imperial);gallons (imperial);imp gal;imp gallon;imp gallons;imperial gal;imperial gallon;imperial gallons"),
0529                        symbolString,
0530                        ki18nc("amount in units (real)", "%1 gallons (imperial)"),
0531                        ki18ncp("amount in units (integer)", "%1 gallon (imperial)", "%1 gallons (imperial)")));
0532 
0533     d->addCommonUnit(UnitPrivate::makeUnit(VolumeCategory,
0534                              PintImperial,
0535                              0.000568261,
0536                              i18nc("volume unit symbol", "pt"),
0537                              i18nc("unit description in lists", "pints (imperial)"),
0538                              i18nc("unit synonyms for matching user input", "pint (imperial);pints (imperial);pt;pint;pints;p"),
0539                              symbolString,
0540                              ki18nc("amount in units (real)", "%1 pints (imperial)"),
0541                              ki18ncp("amount in units (integer)", "%1 pint (imperial)", "%1 pints (imperial)")));
0542 
0543     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0544                        PintUS,
0545                        0.000473176,
0546                        i18nc("volume unit symbol", "US pt"),
0547                        i18nc("unit description in lists", "pints (U.S. liquid)"),
0548                        i18nc("unit synonyms for matching user input", "pint (U.S. liquid);pints (U.S. liquid);US pt;US pint;US pints;US p"),
0549                        symbolString,
0550                        ki18nc("amount in units (real)", "%1 pints (U.S. liquid)"),
0551                        ki18ncp("amount in units (integer)", "%1 pint (U.S. liquid)", "%1 pints (U.S. liquid)")));
0552 
0553     d->addUnit(UnitPrivate::makeUnit(VolumeCategory,
0554                        OilBarrel,
0555                        0.158987294,
0556                        i18nc("volume unit symbol", "bbl"),
0557                        i18nc("unit description in lists", "oil barrels"),
0558                        i18nc("unit synonyms for matching user input", "oil barrels;oil barrel;bbl"),
0559                        symbolString,
0560                        ki18nc("amount in units (real)", "%1 oil barrels"),
0561                        ki18ncp("amount in units (integer)", "%1 oil barrel", "%1 oil barrels")));
0562 
0563     return c;
0564 }
0565 
0566 } // KUnitConversion namespace