[ACR-661] Added measure units guide 18/156718/4
authorLukasz Pik <lu.pik@samsung.com>
Thu, 19 Oct 2017 14:38:41 +0000 (16:38 +0200)
committerLukasz Pik <lu.pik@samsung.com>
Mon, 23 Oct 2017 13:18:31 +0000 (15:18 +0200)
PS2: Reviewed
PS3: Code snippet formatting fixed and AR link added

Change-Id: I696a53dc75601c1aef12f3c7e24bcf6916bea5ac
Signed-off-by: Lukasz Pik <lu.pik@samsung.com>
org.tizen.guides/html/native/internationalization/i18n_n.htm

index ae02bac..dd3f45c 100644 (file)
 
 The measure objects can be formatted using the MeasureFormat API (in <a href="../../../../org.tizen.native.mobile.apireference/group__CAPI__BASE__UTILS__I18N__MEASURE__FORMAT__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference/group__CAPI__BASE__UTILS__I18N__MEASURE__FORMAT__MODULE.html">wearable</a> applications).
 
+<p>The MeasureUnit API (in <a href="../../../../org.tizen.native.mobile.apireference/group__CAPI__BASE__UTILS__I18N__MEASURE__UNIT__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference/group__CAPI__BASE__UTILS__I18N__MEASURE__UNIT__MODULE.html">wearable</a> applications) allows you to <a href="#measure_unit_examples">create measure unit objects</a> and combine them with numerical values to create measure objects.</p>
+<p>The following table lists the supported measures and units.</p>
+
+  <p align="center" class="Table"><strong>Table: Measures and units</strong></p>
+<table id="units_table" name="units_table">
+<tbody>
+    <tr>
+               <th>Measure</th>
+               <th>Unit</th>
+               <th>Symbol</th>
+       </tr>
+    <tr>
+               <td rowspan="2">Acceleration</td>
+               <td>g-force</td>
+               <td>g-force</td>
+       </tr>
+       <tr>
+               <td>meter per second squared</td>
+               <td>m/s<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td rowspan="4">Angle</td>
+               <td>arc minute</td>
+               <td>arcmin</td>
+       </tr>
+       <tr>
+               <td>arc second</td>
+               <td>arcsec</td>
+       </tr>
+       <tr>
+               <td>degree</td>
+               <td>&deg;</td>
+       </tr>
+       <tr>
+               <td>radian</td>
+               <td>rad</td>
+       </tr>
+       <tr>
+               <td rowspan="9">Area</td>
+               <td>acre</td>
+               <td>ac</td>
+       </tr>
+       <tr>
+               <td>hectare</td>
+               <td>ha</td>
+       </tr>
+       <tr>
+               <td>square centimeter</td>
+               <td>cm<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td>square meter</td>
+               <td>m<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td>square kilometer</td>
+               <td>km<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td>square foot</td>
+               <td>ft<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td>square inch</td>
+               <td>in<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td>square mile</td>
+               <td>mi<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td>square yard</td>
+               <td>yd<sup>2</sup></td>
+       </tr>
+       <tr>
+               <td rowspan="2">Consumption</td>
+               <td>liter per kilometer</td>
+               <td>l/km</td>
+       </tr>
+       <tr>
+               <td>mile per gallon</td>
+               <td>mpg</td>
+       </tr>
+       <tr>
+               <td rowspan="10">Digital</td>
+               <td>bit</td>
+               <td>bit</td>
+       </tr>
+       <tr>
+               <td>byte</td>
+               <td>B</td>
+       </tr>
+       <tr>
+               <td>kilobit</td>
+               <td>kbit</td>
+       </tr>
+       <tr>
+               <td>kilobyte</td>
+               <td>kB</td>
+       </tr>
+       <tr>
+               <td>megabit</td>
+               <td>Mbit</td>
+       </tr>
+       <tr>
+               <td>megabyte</td>
+               <td>MB</td>
+       </tr>
+       <tr>
+               <td>gigabit</td>
+               <td>Gbit</td>
+       </tr>
+       <tr>
+               <td>gigbabyte</td>
+               <td>GB</td>
+       </tr>
+       <tr>
+               <td>terabit</td>
+               <td>Tbit</td>
+       </tr>
+       <tr>
+               <td>terabyte</td>
+               <td>TB</td>
+       </tr>
+       <tr>
+               <td rowspan="10">Duration</td>
+               <td>nanosecond</td>
+               <td>ns</td>
+       </tr>
+       <tr>
+               <td>microsecond</td>
+               <td>&micro;s</td>
+       </tr>
+       <tr>
+               <td>millisecond</td>
+               <td>ms</td>
+       </tr>
+       <tr>
+               <td>second</td>
+               <td>s</td>
+       </tr>
+       <tr>
+               <td>minute</td>
+               <td>min</td>
+       </tr>
+       <tr>
+               <td>hour</td>
+               <td>h</td>
+       </tr>
+       <tr>
+               <td>day</td>
+               <td>d</td>
+       </tr>
+       <tr>
+               <td>week</td>
+               <td>week</td>
+       </tr>
+       <tr>
+               <td>month</td>
+               <td>month</td>
+       </tr>
+       <tr>
+               <td>year</td>
+               <td>year</td>
+       </tr>
+       <tr>
+               <td rowspan="4">Electric</td>
+               <td>ampere</td>
+               <td>A</td>
+       </tr>
+       <tr>
+               <td>milliampere</td>
+               <td>mA</td>
+       </tr>
+       <tr>
+               <td>ohm</td>
+               <td>&#8486;</td>
+       </tr>
+       <tr>
+               <td>volt</td>
+               <td>V</td>
+       </tr>
+       <tr>
+               <td rowspan="6">Energy</td>
+               <td>calorie</td>
+               <td>cal</td>
+       </tr>
+       <tr>
+               <td>kilocalorie</td>
+               <td>kcal</td>
+       </tr>
+       <tr>
+               <td>food calorie</td>
+               <td>Cal</td>
+       </tr>
+       <tr>
+               <td>joule</td>
+               <td>J</td>
+       </tr>
+       <tr>
+               <td>kilojoule</td>
+               <td>kJ</td>
+       </tr>
+       <tr>
+               <td>kilowatt-hour</td>
+               <td>kWh</td>
+       </tr>
+       <tr>
+               <td rowspan="3">Frequency</td>
+               <td>hertz</td>
+               <td>Hz</td>
+       </tr>
+       <tr>
+               <td>kilohertz</td>
+               <td>kHz</td>
+       </tr>
+       <tr>
+               <td>megahertz</td>
+               <td>MHz</td>
+       </tr>
+       <tr>
+               <td rowspan="18">Length</td>
+               <td>picometer</td>
+               <td>pm</td>
+       </tr>
+       <tr>
+               <td>nanometer</td>
+               <td>nm</td>
+       </tr>
+       <tr>
+               <td>micrometer</td>
+               <td>&micro;m</td>
+       </tr>
+       <tr>
+               <td>millimeter</td>
+               <td>mm</td>
+       </tr>
+       <tr>
+               <td>centimeter</td>
+               <td>cm</td>
+       </tr>
+       <tr>
+               <td>decimeter</td>
+               <td>dm</td>
+       </tr>
+       <tr>
+               <td>meter</td>
+               <td>m</td>
+       </tr>
+       <tr>
+               <td>kilometer</td>
+               <td>km</td>
+       </tr>
+       <tr>
+               <td>inch</td>
+               <td>in</td>
+       </tr>
+       <tr>
+               <td>foot</td>
+               <td>ft</td>
+       </tr>
+       <tr>
+               <td>fathom</td>
+               <td>fathom</td>
+       </tr>
+       <tr>
+               <td>yard</td>
+               <td>yd</td>
+       </tr>
+       <tr>
+               <td>furlong</td>
+               <td>fur</td>
+       </tr>
+       <tr>
+               <td>mile</td>
+               <td>mi</td>
+       </tr>
+       <tr>
+               <td>nautical mile</td>
+               <td>nmi</td>
+       </tr>
+       <tr>
+               <td>astronomical unit</td>
+               <td>au</td>
+       </tr>
+       <tr>
+               <td>light year</td>
+               <td>ly</td>
+       </tr>
+       <tr>
+               <td>parsec</td>
+               <td>pc</td>
+       </tr>
+       <tr>
+               <td>Illuminance</td>
+               <td>lux</td>
+               <td>lx</td>
+       </tr>
+       <tr>
+               <td rowspan="11">Mass</td>
+               <td>carat</td>
+               <td>ct</td>
+       </tr>
+       <tr>
+               <td>microgram</td>
+               <td>&micro;g</td>
+       </tr>
+       <tr>
+               <td>milligram</td>
+               <td>mg</td>
+       </tr>
+       <tr>
+               <td>gram</td>
+               <td>g</td>
+       </tr>
+       <tr>
+               <td>kilogram</td>
+               <td>kg</td>
+       </tr>
+       <tr>
+               <td>metric ton</td>
+               <td>t</td>
+       </tr>
+       <tr>
+               <td>ounce</td>
+               <td>oz</td>
+       </tr>
+       <tr>
+               <td>troy ounce</td>
+               <td>oz t</td>
+       </tr>
+       <tr>
+               <td>pound</td>
+               <td>lb</td>
+       </tr>
+       <tr>
+               <td>stone</td>
+               <td>st</td>
+       </tr>
+       <tr>
+               <td>ton</td>
+               <td>ton</td>
+       </tr>
+       <tr>
+               <td rowspan="6">Power</td>
+               <td>horsepower</td>
+               <td>hp</td>
+       </tr>
+       <tr>
+               <td>milliwatt</td>
+               <td>mW</td>
+       </tr>
+       <tr>
+               <td>watt</td>
+               <td>W</td>
+       </tr>
+       <tr>
+               <td>kilowatt</td>
+               <td>kW</td>
+       </tr>
+       <tr>
+               <td>megawatt</td>
+               <td>MW</td>
+       </tr>
+       <tr>
+               <td>gigawatt</td>
+               <td>GW</td>
+       </tr>
+       <tr>
+               <td rowspan="5">Pressure</td>
+               <td>hectopascal</td>
+               <td>hPa</td>
+       </tr>
+       <tr>
+               <td>inch of mercury</td>
+               <td>inHg</td>
+       </tr>
+       <tr>
+               <td>millibar</td>
+               <td>mbar</td>
+       </tr>
+       <tr>
+               <td>millimeter of mercury</td>
+               <td>mmHg</td>
+       </tr>
+       <tr>
+               <td>pound per square inch</td>
+               <td>psi</td>
+       </tr>
+       <tr>
+               <td>Proportion</td>
+               <td>karat</td>
+               <td>K or kt</td>
+       </tr>
+       <tr>
+               <td rowspan="3">Speed</td>
+               <td>meter per second</td>
+               <td>m/s</td>
+       </tr>
+       <tr>
+               <td>kilometer per hour</td>
+               <td>km/h</td>
+       </tr>
+       <tr>
+               <td>mile per hour</td>
+               <td>mph</td>
+       </tr>
+       <tr>
+               <td rowspan="3">Temperature</td>
+               <td>degree Celcius</td>
+               <td>&deg;C</td>
+       </tr>
+       <tr>
+               <td>degree Fahrenheit</td>
+               <td>&deg;F</td>
+       </tr>
+       <tr>
+               <td>kelvin</td>
+               <td>K</td>
+       </tr>
+       <tr>
+               <td rowspan="22">Volume</td>
+               <td>acre-foot</td>
+               <td>ac-ft</td>
+       </tr>
+       <tr>
+               <td>bushel</td>
+               <td>bsh or bu</td>
+       </tr>
+       <tr>
+               <td>milliliter</td>
+               <td>ml</td>
+       </tr>
+       <tr>
+               <td>centiliter</td>
+               <td>cl</td>
+       </tr>
+       <tr>
+               <td>deciliter</td>
+               <td>dl</td>
+       </tr>
+       <tr>
+               <td>liter</td>
+               <td>l</td>
+       </tr>
+       <tr>
+               <td>hectoliter</td>
+               <td>hl</td>
+       </tr>
+       <tr>
+               <td>megaliter</td>
+               <td>Ml</td>
+       </tr>
+       <tr>
+               <td>cubic centimeter</td>
+               <td>cm<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cubic foot</td>
+               <td>ft<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cubic inch</td>
+               <td>in<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cubic kilometer</td>
+               <td>km<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cubic meter</td>
+               <td>m<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cubic mile</td>
+               <td>mi<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cubic yard</td>
+               <td>yd<sup>3</sup></td>
+       </tr>
+       <tr>
+               <td>cup</td>
+               <td>cup</td>
+       </tr>
+       <tr>
+               <td>fluid ounce</td>
+               <td>fl oz</td>
+       </tr>
+       <tr>
+               <td>gallon</td>
+               <td>gal</td>
+       </tr>
+       <tr>
+               <td>pint</td>
+               <td>pt</td>
+       </tr>
+       <tr>
+               <td>quart</td>
+               <td>qt</td>
+       </tr>
+       <tr>
+               <td>teaspoon</td>
+               <td>tsp</td>
+       </tr>
+       <tr>
+               <td>tablespoon</td>
+               <td>tbsp</td>
+       </tr>
+</tbody>
+</table>
+
 <h2 id="utmscale" name="utmscale">Time Scale Conversion with Utmscale</h2>
 <p>The Utmscale API (in <a href="../../../../org.tizen.native.mobile.apireference/group__CAPI__BASE__UTILS__I18N__UTMSCALE__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference/group__CAPI__BASE__UTILS__I18N__UTMSCALE__MODULE.html">wearable</a> applications) allows you to <a href="#utmscale_examples">convert between time scales</a>.</p>
 <p>There are various conventions for binary datetime, depending on the platform and protocol. Some of these have severe drawbacks. For example, 32-bit Unix time (seconds since Jan 1, 1970) cannot support datetimes beyond the beginning of the year 2038. Arithmetic manipulations can also cause serious problems. For example, when calculating the average of 2 datetimes, if you calculate them with <code>average_time = (time1 + time2)/2</code>, there can be overflow even with dates around the present. Additionally, there is the issue of converting between different systems.</p>
@@ -2197,6 +2709,80 @@ i18n_measure_destroy(measure);
 </pre></li>
 </ol>
 
+<h3 id="measure_unit_examples" name="measure_unit_examples">Managing Measurement Units</h3>
+<p>You can use the MeasureUnit API (in <a href="../../../../org.tizen.native.mobile.apireference/group__CAPI__BASE__UTILS__I18N__MEASURE__UNIT__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference/group__CAPI__BASE__UTILS__I18N__MEASURE__UNIT__MODULE.html">wearable</a> applications) to create measure unit objects, which can be passed to the Measure or MeasureFormat (in <a href="../../../../org.tizen.native.mobile.apireference//group__CAPI__BASE__UTILS__I18N__MEASURE__FORMAT__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference//group__CAPI__BASE__UTILS__I18N__MEASURE__FORMAT__MODULE.html">wearable</a> applications) APIs.</p>
+<ol>
+<li>To create a liter unit object:
+<pre class="prettyprint">
+i18n_measure_unit_h unit;
+i18n_measure_unit_create_liter(&amp;unit);
+</pre>
+<p>You can create measure unit objects for various units, using the corresponding <code>i18n_measure_unit_create_xxx()</code> functions.</p>
+</li>
+<li>To clone a measure unit object:
+<pre class="prettyprint">
+i18n_measure_unit_h clone;
+i18n_measure_unit_clone(unit, &amp;clone);
+</pre></li>
+<li>To retrieve information about a measure unit object:
+    <ul>
+<li>To retrieve the unit type:
+<pre class="prettyprint">
+char *type;
+i18n_measure_unit_get_type(unit, &amp;type);
+</pre></li>
+<li>To retrieve the unit subtype:
+<pre class="prettyprint">
+char *subtype;
+i18n_measure_unit_get_subtype(unit, &amp;subtype);
+</pre></li>
+    </ul></li>
+<li>To retrieve all available units:
+<pre class="prettyprint">
+int32_t max = 20;
+i18n_measure_unit_h array[20];
+int32_t available;
+
+i18n_measure_unit_get_available(max, &amp;array, &amp;available); 
+</pre></li>
+<li>To retrieve the available units for a specific measure:
+<pre class="prettyprint">
+int32_t max = 20;
+const char *type = "volume"; /* Specify the measure */
+i18n_measure_unit_h array[20];
+int32_t available;
+
+i18n_measure_unit_get_available_with_type(max, type, &amp;array, &amp;available);
+</pre></li>
+<li>To invoke a callback for each available measure unit:
+    <ol type="a">
+        <li>Define the callback function:
+<pre class="prettyprint">
+void
+measure_unit_available_types_cb(const char *type_id, void *user_data)
+{
+    char *text = (char *)user_data;
+    fprintf(stderr, "type_id : %s\n", text);
+
+    return false;
+}
+</pre>
+        </li>
+        <li>Invoke the foreach function, using the callback and the data to pass to it as parameters.
+        <p>The data passed in the second parameter is used as the <code>user_data</code> parameter in the callback.</p>
+<pre class="prettyprint">
+char *data = "data";
+i18n_measure_unit_foreach_available_type(measure_unit_available_types_cb, data);
+</pre>
+        </li>
+    </ol>
+</li>
+<li>When no longer needed, destroy the measure unit object:
+<pre class="prettyprint">
+i18n_measure_unit_destroy(unit);
+</pre></li>
+</ol>
+
 <h2 id="utmscale_examples" name="utmscale_examples">Converting Time Scales</h2>
 <p>Since Tizen 3.0, you can use the Utmscale API (in <a href="../../../../org.tizen.native.mobile.apireference/group__CAPI__BASE__UTILS__I18N__UTMSCALE__MODULE.html">mobile</a> and <a href="../../../../org.tizen.native.wearable.apireference/group__CAPI__BASE__UTILS__I18N__UTMSCALE__MODULE.html">wearable</a> applications) to convert binary datetimes between various platform-dependent time scales.</p>
 <p>To convert a datetime value:</p>