Warning, file /frameworks/kunitconversion/src/density.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002  *   SPDX-FileCopyrightText: 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 "density_p.h"
0009 #include "unit_p.h"
0010 
0011 #include <KLocalizedString>
0012 
0013 namespace KUnitConversion
0014 {
0015 UnitCategory Density::makeCategory()
0016 {
0017     auto c = UnitCategoryPrivate::makeCategory(DensityCategory, i18n("Density"), i18n("Density"));
0018     auto d = UnitCategoryPrivate::get(c);
0019     KLocalizedString symbolString = ki18nc("%1 value, %2 unit symbol (density)", "%1 %2");
0020 
0021     d->addDefaultUnit(UnitPrivate::makeUnit(DensityCategory,
0022                               KilogramsPerCubicMeter,
0023                               1,
0024                               i18nc("density unit symbol", "kg/m³"),
0025                               i18nc("unit description in lists", "kilograms per cubic meter"),
0026                               i18nc("unit synonyms for matching user input", "kilogram per cubic meter;kilograms per cubic meter;kg/m³"),
0027                               symbolString,
0028                               ki18nc("amount in units (real)", "%1 kilograms per cubic meter"),
0029                               ki18ncp("amount in units (integer)", "%1 kilogram per cubic meter", "%1 kilograms per cubic meter")));
0030 
0031     // source Google calculator
0032     d->addCommonUnit(UnitPrivate::makeUnit(DensityCategory,
0033                              KilogramPerLiter,
0034                              1000,
0035                              i18nc("density unit symbol", "kg/l"),
0036                              i18nc("unit description in lists", "kilograms per liter"),
0037                              i18nc("unit synonyms for matching user input", "kilogram per liter;kilograms per liter;kg/l"),
0038                              symbolString,
0039                              ki18nc("amount in units (real)", "%1 kilograms per liter"),
0040                              ki18ncp("amount in units (integer)", "%1 kilogram per liter", "%1 kilograms per liter")));
0041 
0042     d->addUnit(UnitPrivate::makeUnit(DensityCategory,
0043                        GramPerLiter,
0044                        1,
0045                        i18nc("density unit symbol", "g/l"),
0046                        i18nc("unit description in lists", "grams per liter"),
0047                        i18nc("unit synonyms for matching user input", "gram per liter;grams per liter;g/l"),
0048                        symbolString,
0049                        ki18nc("amount in units (real)", "%1 grams per liter"),
0050                        ki18ncp("amount in units (integer)", "%1 gram per liter", "%1 grams per liter")));
0051 
0052     d->addUnit(UnitPrivate::makeUnit(DensityCategory,
0053                        GramPerMilliliter,
0054                        1000,
0055                        i18nc("density unit symbol", "g/ml"),
0056                        i18nc("unit description in lists", "grams per milliliter"),
0057                        i18nc("unit synonyms for matching user input", "gram per milliliter;grams per milliliter;g/ml"),
0058                        symbolString,
0059                        ki18nc("amount in units (real)", "%1 grams per milliliter"),
0060                        ki18ncp("amount in units (integer)", "%1 gram per milliliter", "%1 grams per milliliter")));
0061 
0062     // source : Google calculator
0063     d->addUnit(UnitPrivate::makeUnit(DensityCategory,
0064                        OuncePerCubicInch,
0065                        1729.99404,
0066                        i18nc("density unit symbol", "oz/in³"),
0067                        i18nc("unit description in lists", "ounces per cubic inch"),
0068                        i18nc("unit synonyms for matching user input", "ounce per cubic inch;ounces per cubic inch;oz/in³"),
0069                        symbolString,
0070                        ki18nc("amount in units (real)", "%1 ounces per cubic inch"),
0071                        ki18ncp("amount in units (integer)", "%1 ounce per cubic inch", "%1 ounces per cubic inch")));
0072 
0073     d->addCommonUnit(UnitPrivate::makeUnit(DensityCategory,
0074                              OuncePerCubicFoot,
0075                              1.00115396,
0076                              i18nc("density unit symbol", "oz/ft³"),
0077                              i18nc("unit description in lists", "ounces per cubic foot"),
0078                              i18nc("unit synonyms for matching user input", "ounce per cubic foot;ounces per cubic foot;oz/ft³"),
0079                              symbolString,
0080                              ki18nc("amount in units (real)", "%1 ounces per cubic foot"),
0081                              ki18ncp("amount in units (integer)", "%1 ounce per cubic foot", "%1 ounces per cubic foot")));
0082 
0083     d->addUnit(UnitPrivate::makeUnit(DensityCategory,
0084                        PoundPerCubicInch,
0085                        27679.9047,
0086                        i18nc("density unit symbol", "lb/in³"),
0087                        i18nc("unit description in lists", "pounds per cubic inch"),
0088                        i18nc("unit synonyms for matching user input", "pound per cubic inch;pounds per cubic inch;lb/in³"),
0089                        symbolString,
0090                        ki18nc("amount in units (real)", "%1 pounds per cubic inch"),
0091                        ki18ncp("amount in units (integer)", "%1 pound per cubic inch", "%1 pounds per cubic inch")));
0092 
0093     d->addUnit(UnitPrivate::makeUnit(DensityCategory,
0094                        PoundPerCubicFoot,
0095                        16.0184634,
0096                        i18nc("density unit symbol", "lb/ft³"),
0097                        i18nc("unit description in lists", "pounds per cubic foot"),
0098                        i18nc("unit synonyms for matching user input", "pound per cubic foot;pounds per cubic foot;lb/ft³"),
0099                        symbolString,
0100                        ki18nc("amount in units (real)", "%1 pounds per cubic foot"),
0101                        ki18ncp("amount in units (integer)", "%1 pound per cubic foot", "%1 pounds per cubic foot")));
0102 
0103     d->addUnit(UnitPrivate::makeUnit(DensityCategory,
0104                        PoundPerCubicYard,
0105                        0.593276421,
0106                        i18nc("density unit symbol", "lb/yd³"),
0107                        i18nc("unit description in lists", "pounds per cubic yard"),
0108                        i18nc("unit synonyms for matching user input", "pound per cubic yard;pounds per cubic yard;lb/yd³"),
0109                        symbolString,
0110                        ki18nc("amount in units (real)", "%1 pounds per cubic yard"),
0111                        ki18ncp("amount in units (integer)", "%1 pound per cubic yard", "%1 pounds per cubic yard")));
0112 
0113     return c;
0114 }
0115 
0116 } // KUnitConversion namespace