diff --git a/apps/math_toolbox.cpp b/apps/math_toolbox.cpp index cbc9871a3..10583a00c 100644 --- a/apps/math_toolbox.cpp +++ b/apps/math_toolbox.cpp @@ -109,13 +109,28 @@ const ToolboxMessageTree unitDistanceMeterChildren[] = { ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceMeterPicoSymbol, I18n::Message::UnitDistanceMeterPico), }; +const ToolboxMessageTree unitDistanceImperialChildren[] = { + ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceInchSymbol, I18n::Message::UnitDistanceInch), + ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceFootSymbol, I18n::Message::UnitDistanceFoot), + ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceYardSymbol, I18n::Message::UnitDistanceYard), + ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceMileSymbol, I18n::Message::UnitDistanceMile), +}; + const ToolboxMessageTree unitDistanceChildren[] = { ToolboxMessageTree::Node(I18n::Message::UnitDistanceMeterMenu, unitDistanceMeterChildren), + ToolboxMessageTree::Node(I18n::Message::UnitDistanceImperialMenu, unitDistanceImperialChildren), ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceAstronomicalUnitSymbol, I18n::Message::UnitDistanceAstronomicalUnit), ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceLightYearSymbol, I18n::Message::UnitDistanceLightYear), ToolboxMessageTree::Leaf(I18n::Message::UnitDistanceParsecSymbol, I18n::Message::UnitDistanceParsec)}; +const ToolboxMessageTree unitMassImperialChildren[] = { + ToolboxMessageTree::Leaf(I18n::Message::UnitMassPoundSymbol, I18n::Message::UnitMassPound), + ToolboxMessageTree::Leaf(I18n::Message::UnitMassOunceSymbol, I18n::Message::UnitMassOunce), + ToolboxMessageTree::Leaf(I18n::Message::UnitMassTonSymbol, I18n::Message::UnitMassTon), +}; + const ToolboxMessageTree unitMassChildren[] = { + ToolboxMessageTree::Node(I18n::Message::UnitMassImperialMenu, unitMassImperialChildren), ToolboxMessageTree::Leaf(I18n::Message::UnitMassTonneSymbol, I18n::Message::UnitMassTonne), ToolboxMessageTree::Leaf(I18n::Message::UnitMassGramKiloSymbol, I18n::Message::UnitMassGramKilo), ToolboxMessageTree::Leaf(I18n::Message::UnitMassGramSymbol, I18n::Message::UnitMassGram), diff --git a/apps/shared.universal.i18n b/apps/shared.universal.i18n index 2d980f283..71f7d0fa2 100644 --- a/apps/shared.universal.i18n +++ b/apps/shared.universal.i18n @@ -14,9 +14,16 @@ UnitDistanceMeterMilliSymbol = "_mm" UnitDistanceMeterMicroSymbol = "_μm" UnitDistanceMeterNanoSymbol = "_nm" UnitDistanceMeterPicoSymbol = "_pm" +UnitDistanceInchSymbol = "_in" +UnitDistanceFootSymbol = "_ft" +UnitDistanceYardSymbol = "_yd" +UnitDistanceMileSymbol = "_mi" UnitDistanceAstronomicalUnitSymbol = "_au" UnitDistanceLightYearSymbol = "_ly" UnitDistanceParsecSymbol = "_pc" +UnitMassPoundSymbol = "_lb" +UnitMassOunceSymbol = "_oz" +UnitMassTonSymbol = "_ton" UnitMassGramKiloSymbol = "_kg" UnitMassGramSymbol = "_g" UnitMassGramMilliSymbol = "_mg" diff --git a/apps/toolbox.de.i18n b/apps/toolbox.de.i18n index 61999f5f7..c2b47cd05 100644 --- a/apps/toolbox.de.i18n +++ b/apps/toolbox.de.i18n @@ -19,9 +19,18 @@ UnitDistanceMeterMilli = "Millimeter" UnitDistanceMeterMicro = "Micrometer" UnitDistanceMeterNano = "Nanometer" UnitDistanceMeterPico = "Picometer" +UnitDistanceImperialMenu = "US Customary" +UnitDistanceInch = "Inch" +UnitDistanceFoot = "Foot" +UnitDistanceYard = "Yard" +UnitDistanceMile = "Mile" UnitDistanceAstronomicalUnit = "Astronomical unit" UnitDistanceLightYear = "Light year" UnitDistanceParsec = "Parsec" +UnitMassImperialMenu = "US Customary" +UnitMassPound = "Pound" +UnitMassOunce = "Ounce" +UnitMassTon = "US Ton" UnitMassMenu = "Mass" UnitMassGramKilo = "Kilogram" UnitMassGram = "Gram" diff --git a/apps/toolbox.en.i18n b/apps/toolbox.en.i18n index eec7d5bfd..db058136d 100644 --- a/apps/toolbox.en.i18n +++ b/apps/toolbox.en.i18n @@ -19,9 +19,18 @@ UnitDistanceMeterMilli = "Millimeter" UnitDistanceMeterMicro = "Micrometer" UnitDistanceMeterNano = "Nanometer" UnitDistanceMeterPico = "Picometer" +UnitDistanceImperialMenu = "US Customary" +UnitDistanceInch = "Inch" +UnitDistanceFoot = "Foot" +UnitDistanceYard = "Yard" +UnitDistanceMile = "Mile" UnitDistanceAstronomicalUnit = "Astronomical unit" UnitDistanceLightYear = "Light year" UnitDistanceParsec = "Parsec" +UnitMassImperialMenu = "US Customary" +UnitMassPound = "Pound" +UnitMassOunce = "Ounce" +UnitMassTon = "US Ton" UnitMassMenu = "Mass" UnitMassGramKilo = "Kilogram" UnitMassGram = "Gram" diff --git a/apps/toolbox.es.i18n b/apps/toolbox.es.i18n index 52a63922a..b85f6bcd7 100644 --- a/apps/toolbox.es.i18n +++ b/apps/toolbox.es.i18n @@ -19,9 +19,18 @@ UnitDistanceMeterMilli = "Millimeter" UnitDistanceMeterMicro = "Micrometer" UnitDistanceMeterNano = "Nanometer" UnitDistanceMeterPico = "Picometer" +UnitDistanceImperialMenu = "US Customary" +UnitDistanceInch = "Inch" +UnitDistanceFoot = "Foot" +UnitDistanceYard = "Yard" +UnitDistanceMile = "Mile" UnitDistanceAstronomicalUnit = "Astronomical unit" UnitDistanceLightYear = "Light year" UnitDistanceParsec = "Parsec" +UnitMassImperialMenu = "US Customary" +UnitMassPound = "Pound" +UnitMassOunce = "Ounce" +UnitMassTon = "US Ton" UnitMassMenu = "Mass" UnitMassGramKilo = "Kilogram" UnitMassGram = "Gram" diff --git a/apps/toolbox.fr.i18n b/apps/toolbox.fr.i18n index bb9978e74..52c48f4fb 100644 --- a/apps/toolbox.fr.i18n +++ b/apps/toolbox.fr.i18n @@ -19,9 +19,18 @@ UnitDistanceMeterMilli = "Millimètre" UnitDistanceMeterMicro = "Micromètre" UnitDistanceMeterNano = "Nanomètre" UnitDistanceMeterPico = "Picomètre" +UnitDistanceImperialMenu = "US Customary" +UnitDistanceInch = "Inch" +UnitDistanceFoot = "Foot" +UnitDistanceYard = "Yard" +UnitDistanceMile = "Mile" UnitDistanceAstronomicalUnit = "Unité astronomique" UnitDistanceLightYear = "Année lumière" UnitDistanceParsec = "Parsec" +UnitMassImperialMenu = "US Customary" +UnitMassPound = "Pound" +UnitMassOunce = "Ounce" +UnitMassTon = "US Ton" UnitMassMenu = "Masse" UnitMassGramKilo = "Kilogramme" UnitMassGram = "Gramme" diff --git a/apps/toolbox.hu.i18n b/apps/toolbox.hu.i18n index d430669ac..a614c687b 100644 --- a/apps/toolbox.hu.i18n +++ b/apps/toolbox.hu.i18n @@ -19,9 +19,18 @@ UnitDistanceMeterMilli = "Milliméter" UnitDistanceMeterMicro = "Mikrométer" UnitDistanceMeterNano = "Nanométer" UnitDistanceMeterPico = "Pikométer" +UnitDistanceImperialMenu = "US Customary" +UnitDistanceInch = "Inch" +UnitDistanceFoot = "Foot" +UnitDistanceYard = "Yard" +UnitDistanceMile = "Mile" UnitDistanceAstronomicalUnit = "Csillagászati ​​egység" UnitDistanceLightYear = "Világos év" UnitDistanceParsec = "Parsec" +UnitMassImperialMenu = "US Customary" +UnitMassPound = "Pound" +UnitMassOunce = "Ounce" +UnitMassTon = "US Ton" UnitMassMenu = "Tömeg" UnitMassGramKilo = "Kilogram" UnitMassGram = "Gram" diff --git a/apps/toolbox.pt.i18n b/apps/toolbox.pt.i18n index 187e789f6..aa7cd713b 100644 --- a/apps/toolbox.pt.i18n +++ b/apps/toolbox.pt.i18n @@ -19,9 +19,18 @@ UnitDistanceMeterMilli = "Millimeter" UnitDistanceMeterMicro = "Micrometer" UnitDistanceMeterNano = "Nanometer" UnitDistanceMeterPico = "Picometer" +UnitDistanceImperialMenu = "US Customary" +UnitDistanceInch = "Inch" +UnitDistanceFoot = "Foot" +UnitDistanceYard = "Yard" +UnitDistanceMile = "Mile" UnitDistanceAstronomicalUnit = "Astronomical unit" UnitDistanceLightYear = "Light year" UnitDistanceParsec = "Parsec" +UnitMassImperialMenu = "US Customary" +UnitMassPound = "Pound" +UnitMassOunce = "Ounce" +UnitMassTon = "US Ton" UnitMassMenu = "Mass" UnitMassGramKilo = "Kilogram" UnitMassGram = "Gram" diff --git a/poincare/include/poincare/unit.h b/poincare/include/poincare/unit.h index 3b0716ae3..673b73921 100644 --- a/poincare/include/poincare/unit.h +++ b/poincare/include/poincare/unit.h @@ -255,6 +255,18 @@ public: Representative("pc", "180*60*60/π*_au", Representative::Prefixable::No, NoPrefix), + Representative("ft", "0.3048*_m", // used meters to allow for conversion + Representative::Prefixable::No, + NoPrefix), + Representative("in", "(1/12)*_ft", + Representative::Prefixable::No, + NoPrefix), + Representative("yd", "3*_ft", + Representative::Prefixable::No, + NoPrefix), + Representative("mi", "1760*_yd", + Representative::Prefixable::No, + NoPrefix), }, MassRepresentatives[] = { Representative("g", nullptr, @@ -266,6 +278,15 @@ public: Representative("Da", "(6.02214076*10^23*1000)^-1*_kg", Representative::Prefixable::Yes, NoPrefix), + Representative("lb", "453.59237*_g", + Representative::Prefixable::Yes, + NoPrefix), + Representative("oz", "(1/16)*_lb", + Representative::Prefixable::Yes, + NoPrefix), + Representative("ton", "2000*_lb", + Representative::Prefixable::Yes, + NoPrefix), }, CurrentRepresentatives[] = { Representative("A", nullptr, @@ -276,7 +297,6 @@ public: Representative("K", nullptr, Representative::Prefixable::No, NoPrefix), - }, AmountOfSubstanceRepresentatives[] = { Representative("mol", nullptr, Representative::Prefixable::Yes,