kdelibs/kunitconversion/pressure.cpp
2014-11-13 01:04:59 +02:00

251 lines
12 KiB
C++

/*
* Copyright (C) 2009 Petri Damstén <damu@iki.fi>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include "pressure.h"
#include "converter.h"
#include <klocale.h>
using namespace KUnitConversion;
Pressure::Pressure() : UnitCategory(PressureCategory)
{
setName(i18n("Pressure"));
setSymbolStringFormat(ki18nc("%1 value, %2 unit symbol (pressure)", "%1 %2"));
U(Yottapascal, 1e+24,
i18nc("pressure unit symbol", "YPa"),
i18nc("unit description in lists", "yottapascals"),
i18nc("unit synonyms for matching user input", "yottapascal;yottapascals;YPa"),
ki18nc("amount in units (real)", "%1 yottapascals"),
ki18ncp("amount in units (integer)", "%1 yottapascal", "%1 yottapascals")
);
U(Zettapascal, 1e+21,
i18nc("pressure unit symbol", "ZPa"),
i18nc("unit description in lists", "zettapascals"),
i18nc("unit synonyms for matching user input", "zettapascal;zettapascals;ZPa"),
ki18nc("amount in units (real)", "%1 zettapascals"),
ki18ncp("amount in units (integer)", "%1 zettapascal", "%1 zettapascals")
);
U(Exapascal, 1e+18,
i18nc("pressure unit symbol", "EPa"),
i18nc("unit description in lists", "exapascals"),
i18nc("unit synonyms for matching user input", "exapascal;exapascals;EPa"),
ki18nc("amount in units (real)", "%1 exapascals"),
ki18ncp("amount in units (integer)", "%1 exapascal", "%1 exapascals")
);
U(Petapascal, 1e+15,
i18nc("pressure unit symbol", "PPa"),
i18nc("unit description in lists", "petapascals"),
i18nc("unit synonyms for matching user input", "petapascal;petapascals;PPa"),
ki18nc("amount in units (real)", "%1 petapascals"),
ki18ncp("amount in units (integer)", "%1 petapascal", "%1 petapascals")
);
U(Terapascal, 1e+12,
i18nc("pressure unit symbol", "TPa"),
i18nc("unit description in lists", "terapascals"),
i18nc("unit synonyms for matching user input", "terapascal;terapascals;TPa"),
ki18nc("amount in units (real)", "%1 terapascals"),
ki18ncp("amount in units (integer)", "%1 terapascal", "%1 terapascals")
);
U(Gigapascal, 1e+09,
i18nc("pressure unit symbol", "GPa"),
i18nc("unit description in lists", "gigapascals"),
i18nc("unit synonyms for matching user input", "gigapascal;gigapascals;GPa"),
ki18nc("amount in units (real)", "%1 gigapascals"),
ki18ncp("amount in units (integer)", "%1 gigapascal", "%1 gigapascals")
);
U(Megapascal, 1e+06,
i18nc("pressure unit symbol", "MPa"),
i18nc("unit description in lists", "megapascals"),
i18nc("unit synonyms for matching user input", "megapascal;megapascals;MPa"),
ki18nc("amount in units (real)", "%1 megapascals"),
ki18ncp("amount in units (integer)", "%1 megapascal", "%1 megapascals")
);
U(Kilopascal, 1000,
i18nc("pressure unit symbol", "kPa"),
i18nc("unit description in lists", "kilopascals"),
i18nc("unit synonyms for matching user input", "kilopascal;kilopascals;kPa"),
ki18nc("amount in units (real)", "%1 kilopascals"),
ki18ncp("amount in units (integer)", "%1 kilopascal", "%1 kilopascals")
);
U(Hectopascal, 100,
i18nc("pressure unit symbol", "hPa"),
i18nc("unit description in lists", "hectopascals"),
i18nc("unit synonyms for matching user input", "hectopascal;hectopascals;hPa"),
ki18nc("amount in units (real)", "%1 hectopascals"),
ki18ncp("amount in units (integer)", "%1 hectopascal", "%1 hectopascals")
);
U(Decapascal, 10,
i18nc("pressure unit symbol", "daPa"),
i18nc("unit description in lists", "decapascals"),
i18nc("unit synonyms for matching user input", "decapascal;decapascals;daPa"),
ki18nc("amount in units (real)", "%1 decapascals"),
ki18ncp("amount in units (integer)", "%1 decapascal", "%1 decapascals")
);
setDefaultUnit(UP(Pascal, 1,
i18nc("pressure unit symbol", "Pa"),
i18nc("unit description in lists", "pascals"),
i18nc("unit synonyms for matching user input", "pascal;pascals;Pa"),
ki18nc("amount in units (real)", "%1 pascals"),
ki18ncp("amount in units (integer)", "%1 pascal", "%1 pascals")
));
U(Decipascal, 0.1,
i18nc("pressure unit symbol", "dPa"),
i18nc("unit description in lists", "decipascals"),
i18nc("unit synonyms for matching user input", "decipascal;decipascals;dPa"),
ki18nc("amount in units (real)", "%1 decipascals"),
ki18ncp("amount in units (integer)", "%1 decipascal", "%1 decipascals")
);
U(Centipascal, 0.01,
i18nc("pressure unit symbol", "cPa"),
i18nc("unit description in lists", "centipascals"),
i18nc("unit synonyms for matching user input", "centipascal;centipascals;cPa"),
ki18nc("amount in units (real)", "%1 centipascals"),
ki18ncp("amount in units (integer)", "%1 centipascal", "%1 centipascals")
);
U(Millipascal, 0.001,
i18nc("pressure unit symbol", "mPa"),
i18nc("unit description in lists", "millipascals"),
i18nc("unit synonyms for matching user input", "millipascal;millipascals;mPa"),
ki18nc("amount in units (real)", "%1 millipascals"),
ki18ncp("amount in units (integer)", "%1 millipascal", "%1 millipascals")
);
U(Micropascal, 1e-06,
i18nc("pressure unit symbol", "µPa"),
i18nc("unit description in lists", "micropascals"),
i18nc("unit synonyms for matching user input", "micropascal;micropascals;µPa;uPa"),
ki18nc("amount in units (real)", "%1 micropascals"),
ki18ncp("amount in units (integer)", "%1 micropascal", "%1 micropascals")
);
U(Nanopascal, 1e-09,
i18nc("pressure unit symbol", "nPa"),
i18nc("unit description in lists", "nanopascals"),
i18nc("unit synonyms for matching user input", "nanopascal;nanopascals;nPa"),
ki18nc("amount in units (real)", "%1 nanopascals"),
ki18ncp("amount in units (integer)", "%1 nanopascal", "%1 nanopascals")
);
U(Picopascal, 1e-12,
i18nc("pressure unit symbol", "pPa"),
i18nc("unit description in lists", "picopascals"),
i18nc("unit synonyms for matching user input", "picopascal;picopascals;pPa"),
ki18nc("amount in units (real)", "%1 picopascals"),
ki18ncp("amount in units (integer)", "%1 picopascal", "%1 picopascals")
);
U(Femtopascal, 1e-15,
i18nc("pressure unit symbol", "fPa"),
i18nc("unit description in lists", "femtopascals"),
i18nc("unit synonyms for matching user input", "femtopascal;femtopascals;fPa"),
ki18nc("amount in units (real)", "%1 femtopascals"),
ki18ncp("amount in units (integer)", "%1 femtopascal", "%1 femtopascals")
);
U(Attopascal, 1e-18,
i18nc("pressure unit symbol", "aPa"),
i18nc("unit description in lists", "attopascals"),
i18nc("unit synonyms for matching user input", "attopascal;attopascals;aPa"),
ki18nc("amount in units (real)", "%1 attopascals"),
ki18ncp("amount in units (integer)", "%1 attopascal", "%1 attopascals")
);
U(Zeptopascal, 1e-21,
i18nc("pressure unit symbol", "zPa"),
i18nc("unit description in lists", "zeptopascals"),
i18nc("unit synonyms for matching user input", "zeptopascal;zeptopascals;zPa"),
ki18nc("amount in units (real)", "%1 zeptopascals"),
ki18ncp("amount in units (integer)", "%1 zeptopascal", "%1 zeptopascals")
);
U(Yoctopascal, 1e-24,
i18nc("pressure unit symbol", "yPa"),
i18nc("unit description in lists", "yoctopascals"),
i18nc("unit synonyms for matching user input", "yoctopascal;yoctopascals;yPa"),
ki18nc("amount in units (real)", "%1 yoctopascals"),
ki18ncp("amount in units (integer)", "%1 yoctopascal", "%1 yoctopascals")
);
U(Bar, 100000,
i18nc("pressure unit symbol", "bar"),
i18nc("unit description in lists", "bars"),
i18nc("unit synonyms for matching user input", "bar;bars;bar"),
ki18nc("amount in units (real)", "%1 bars"),
ki18ncp("amount in units (integer)", "%1 bar", "%1 bars")
);
U(Millibar, 100,
i18nc("pressure unit symbol", "mbar"),
i18nc("unit description in lists", "millibars"),
i18nc("unit synonyms for matching user input", "millibar;millibars;mbar;mb"),
ki18nc("amount in units (real)", "%1 millibars"),
ki18ncp("amount in units (integer)", "%1 millibar", "%1 millibars")
);
U(Decibar, 10000,
i18nc("pressure unit symbol", "dbar"),
i18nc("unit description in lists", "decibars"),
i18nc("unit synonyms for matching user input", "decibar;decibars;dbar"),
ki18nc("amount in units (real)", "%1 decibars"),
ki18ncp("amount in units (integer)", "%1 decibar", "%1 decibars")
);
U(Torr, 133.322,
i18nc("pressure unit symbol", "Torr"),
i18nc("unit description in lists", "Torr"),
i18nc("unit synonyms for matching user input", "Torr"),
ki18nc("amount in units (real)", "%1 torr"),
ki18ncp("amount in units (integer)", "%1 torr", "%1 torr")
);
U(TechnicalAtmosphere, 98066.5,
i18nc("pressure unit symbol", "at"),
i18nc("unit description in lists", "technical atmospheres"),
i18nc("unit synonyms for matching user input",
"technical atmosphere;technical atmospheres;at"),
ki18nc("amount in units (real)", "%1 technical atmospheres"),
ki18ncp("amount in units (integer)", "%1 technical atmosphere", "%1 technical atmospheres")
);
U(Atmosphere, 101325,
i18nc("pressure unit symbol", "atm"),
i18nc("unit description in lists", "atmospheres"),
i18nc("unit synonyms for matching user input", "atmosphere;atmospheres;atm"),
ki18nc("amount in units (real)", "%1 atmospheres"),
ki18ncp("amount in units (integer)", "%1 atmosphere", "%1 atmospheres")
);
U(PoundForcePerSquareInch, 6894.76,
i18nc("pressure unit symbol", "psi"),
i18nc("unit description in lists", "pound-force per square inch"),
i18nc("unit synonyms for matching user input",
"pound-force per square inch;pound-force per square inches;psi"),
ki18nc("amount in units (real)", "%1 pound-force per square inches"),
ki18ncp("amount in units (integer)",
"%1 pound-force per square inch", "%1 pound-force per square inch")
);
// http://en.wikipedia.org/wiki/InHg
U(InchesOfMercury, 3386.39,
i18nc("pressure unit symbol", "inHg"),
i18nc("unit description in lists", "inches of mercury"),
i18nc("unit synonyms for matching user input",
"inch of mercury;inches of mercury;inHg;in\""),
ki18nc("amount in units (real)", "%1 inches of mercury"),
ki18ncp("amount in units (integer)", "%1 inches of mercury", "%1 inches of mercury")
);
// http://en.wikipedia.org/wiki/MmHg#mmHg
U(MillimetersOfMercury, 133.322,
i18nc("pressure unit symbol", "mmHg"),
i18nc("unit description in lists", "millimeters of mercury"),
i18nc("unit synonyms for matching user input",
"millimeter of mercury;millimeters of mercury;mmHg"),
ki18nc("amount in units (real)", "%1 millimeters of mercury"),
ki18ncp("amount in units (integer)", "%1 millimeters of mercury", "%1 millimeters of mercury")
);
setMostCommonUnits(QList<int>() <<
Hectopascal << Pascal << Bar << Atmosphere << InchesOfMercury);
}