[libgweather/wip/cdavis/windspeed-string: 74/74] gweather-weather: Add function to turn a speed unit to string




commit 39f5822f3fb31e164fa5b15125ec22df53c8ecc9
Author: Christopher Davis <brainblasted disroot org>
Date:   Wed Nov 25 19:14:40 2020 -0800

    gweather-weather: Add function to turn a speed unit to string

 libgweather/gweather-weather.c | 37 +++++++++++++++++++++++++++++++++++++
 libgweather/gweather-weather.h |  2 ++
 2 files changed, 39 insertions(+)
---
diff --git a/libgweather/gweather-weather.c b/libgweather/gweather-weather.c
index 0d7b1f1d..17711ac5 100644
--- a/libgweather/gweather-weather.c
+++ b/libgweather/gweather-weather.c
@@ -1135,6 +1135,43 @@ gweather_info_get_wind (GWeatherInfo *info)
     }
 }
 
+/**
+ * gweather_speed_unit_to_string:
+ * @unit: a speed unit, or %GWEATHER_SPEED_UNIT_DEFAULT
+ *
+ * Creates a human-readable, localized representation of @unit
+ */
+const gchar *
+gweather_speed_unit_to_string (GWeatherSpeedUnit unit)
+{
+    unit = speed_unit_to_real (unit);
+
+    switch (unit) {
+    case GWEATHER_SPEED_UNIT_KNOTS:
+       /* TRANSLATOR: This is the wind speed in knots */
+       return _("knots");
+    case GWEATHER_SPEED_UNIT_MPH:
+       /* TRANSLATOR: This is the wind speed in miles per hour */
+       return _("mph");
+    case GWEATHER_SPEED_UNIT_KPH:
+       /* TRANSLATOR: This is the wind speed in kilometers per hour */
+       return _("km/h");
+    case GWEATHER_SPEED_UNIT_MS:
+       /* TRANSLATOR: This is the wind speed in meters per second */
+       return _("m/s");
+    case GWEATHER_SPEED_UNIT_BFT:
+       /* TRANSLATOR: This is the wind speed as a Beaufort force factor
+        * (commonly used in nautical wind estimation).
+        */
+       return _("Beaufort force");
+    case GWEATHER_SPEED_UNIT_INVALID:
+    case GWEATHER_SPEED_UNIT_DEFAULT:
+       g_assert_not_reached ();
+    }
+
+    return NULL;
+}
+
 static GWeatherPressureUnit
 pressure_unit_to_real (GWeatherPressureUnit unit)
 {
diff --git a/libgweather/gweather-weather.h b/libgweather/gweather-weather.h
index 00134c2c..3df30de2 100644
--- a/libgweather/gweather-weather.h
+++ b/libgweather/gweather-weather.h
@@ -345,6 +345,8 @@ const gchar * gweather_conditions_to_string_full (GWeatherConditions *conditions
 
 GWeatherTemperatureUnit gweather_temperature_unit_to_real (GWeatherTemperatureUnit unit);
 
+const gchar * gweather_speed_unit_to_string (GWeatherSpeedUnit unit);
+
 G_END_DECLS
 
 #endif /* __WEATHER_H_ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]