aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkoem <koem@petoria.de>2013-06-20 10:28:26 -0600
committerkoem <koem@petoria.de>2013-06-20 10:28:26 -0600
commit6dfda6b7474b51d41e65219718c0ca6b93b2a9dc (patch)
treeaefa411157e210a5c1e4c79ffa11fccee15f8902
parent59db927f55895df298035923238bf25e57830ea7 (diff)
downloadcgeo-6dfda6b7474b51d41e65219718c0ca6b93b2a9dc.zip
cgeo-6dfda6b7474b51d41e65219718c0ca6b93b2a9dc.tar.gz
cgeo-6dfda6b7474b51d41e65219718c0ca6b93b2a9dc.tar.bz2
plurals for direction, singulars for distances
-rw-r--r--main/res/values-de/strings.xml5
-rw-r--r--main/res/values-fr/strings.xml5
-rw-r--r--main/res/values-it/strings.xml9
-rw-r--r--main/res/values-sv/strings.xml11
-rw-r--r--main/res/values/strings.xml5
-rw-r--r--main/src/cgeo/geocaching/speech/TextFactory.java82
-rw-r--r--tests/src/cgeo/geocaching/speech/TextFactoryTest.java84
7 files changed, 126 insertions, 75 deletions
diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml
index ef4b903..a41fa40 100644
--- a/main/res/values-de/strings.xml
+++ b/main/res/values-de/strings.xml
@@ -1095,22 +1095,27 @@
<string name="tts_service">Sprechender Kompass</string>
<string name="tts_start">Starte Sprache</string>
<string name="tts_stop">Stoppe Sprache</string>
+ <string name="tts_one_kilometer">ein Kilometer</string>
<plurals name="tts_kilometers">
<item quantity="one">%s Kilometer</item>
<item quantity="other">%s Kilometer</item>
</plurals>
+ <string name="tts_one_meter">ein Meter</string>
<plurals name="tts_meters">
<item quantity="one">%s Meter</item>
<item quantity="other">%s Meter</item>
</plurals>
+ <string name="tts_one_mile">eine Meile</string>
<plurals name="tts_miles">
<item quantity="one">%s Meile</item>
<item quantity="other">%s Meilen</item>
</plurals>
+ <string name="tts_one_foot">ein Fuß</string>
<plurals name="tts_feet">
<item quantity="one">%s Fuß</item>
<item quantity="other">%s Fuß</item>
</plurals>
+ <string name="tts_one_oclock">ein Uhr</string>
<string name="tts_oclock">%s Uhr</string>
<!-- various -->
diff --git a/main/res/values-fr/strings.xml b/main/res/values-fr/strings.xml
index 70bab69..c2b2001 100644
--- a/main/res/values-fr/strings.xml
+++ b/main/res/values-fr/strings.xml
@@ -1069,22 +1069,27 @@
<string name="tts_service">Boussole parlante</string>
<string name="tts_start">Commencer à parler</string>
<string name="tts_stop">Arrêter de parler</string>
+ <string name="tts_one_kilometer">un kilomètre</string>
<plurals name="tts_kilometers">
<item quantity="one">%s kilomètre</item>
<item quantity="other">%s kilomètres</item>
</plurals>
+ <string name="tts_one_meter">un mètre</string>
<plurals name="tts_meters">
<item quantity="one">%s mètre</item>
<item quantity="other">%s mètres</item>
</plurals>
+ <string name="tts_one_mile">un mille</string>
<plurals name="tts_miles">
<item quantity="one">%s mille</item>
<item quantity="other">%s milles</item>
</plurals>
+ <string name="tts_one_foot">un pied</string>
<plurals name="tts_feet">
<item quantity="one">%s pied</item>
<item quantity="other">%s pieds</item>
</plurals>
+ <string name="tts_one_oclock">une heure</string>
<string name="tts_oclock">%s heures</string>
<!-- various -->
diff --git a/main/res/values-it/strings.xml b/main/res/values-it/strings.xml
index 9f1182a..5a9c107 100644
--- a/main/res/values-it/strings.xml
+++ b/main/res/values-it/strings.xml
@@ -1086,24 +1086,29 @@
<string name="tts_service">Bussola parlante</string>
<string name="tts_start">Start voce</string>
<string name="tts_stop">Stop voce</string>
+ <string name="tts_one_kilometer">uno chilometro</string>
<plurals name="tts_kilometers">
<item quantity="one">%s chilometro</item>
<item quantity="other">%s chilometri</item>
</plurals>
+ <string name="tts_one_meter">uno metro</string>
<plurals name="tts_meters">
<item quantity="one">%s metro</item>
<item quantity="other">%s metri</item>
</plurals>
+ <string name="tts_one_mile">uno miglio</string>
<plurals name="tts_miles">
<item quantity="one">%s miglio</item>
<item quantity="other">%s miglia</item>
</plurals>
+ <string name="tts_one_foot">uno piede</string>
<plurals name="tts_feet">
<item quantity="one">%s piede</item>
<item quantity="other">%s piedi</item>
</plurals>
- <string name="tts_oclock">%s precisi</string>
-
+ <string name="tts_one_oclock">a ore una</string>
+ <string name="tts_oclock">a ore %s</string>
+
<!-- various -->
<string name="clipboard_copy_ok">Copiato nella clipboard</string>
diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml
index 44e812b..92b65e4 100644
--- a/main/res/values-sv/strings.xml
+++ b/main/res/values-sv/strings.xml
@@ -877,24 +877,29 @@
<string name="tts_service">Talande kompass</string>
<string name="tts_start">Starta tal</string>
<string name="tts_stop">Stoppa tal</string>
+ <string name="tts_one_kilometer">ett kilometer</string>
<plurals name="tts_kilometers">
<item quantity="one">%s kilometer</item>
<item quantity="other">%s kilometer</item>
</plurals>
+ <string name="tts_one_meter">ett meter</string>
<plurals name="tts_meters">
<item quantity="one">%s meter</item>
<item quantity="other">%s meter</item>
</plurals>
+ <string name="tts_one_mile">ett engelsk mil</string>
<plurals name="tts_miles">
- <item quantity="one">%s eng. mil</item>
- <item quantity="other">%s eng. mil</item>
+ <item quantity="one">%s engelsk mil</item>
+ <item quantity="other">%s engelsk mil</item>
</plurals>
+ <string name="tts_one_foot">ett fot</string>
<plurals name="tts_feet">
<item quantity="one">%s fot</item>
<item quantity="other">%s fot</item>
</plurals>
+ <string name="tts_one_oclock">Klockan ett</string>
<string name="tts_oclock">Klockan %s</string>
-
+
<!-- various -->
<string name="clipboard_copy_ok">Kopierat till urklipp</string>
diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml
index a9d6534..f5dfcb9 100644
--- a/main/res/values/strings.xml
+++ b/main/res/values/strings.xml
@@ -1097,22 +1097,27 @@
<string name="tts_service">Talking compass</string>
<string name="tts_start">Start talking</string>
<string name="tts_stop">Stop talking</string>
+ <string name="tts_one_kilometer">one kilometer</string>
<plurals name="tts_kilometers">
<item quantity="one">%s kilometer</item>
<item quantity="other">%s kilometers</item>
</plurals>
+ <string name="tts_one_meter">one meter</string>
<plurals name="tts_meters">
<item quantity="one">%s meter</item>
<item quantity="other">%s meters</item>
</plurals>
+ <string name="tts_one_mile">one mile</string>
<plurals name="tts_miles">
<item quantity="one">%s mile</item>
<item quantity="other">%s miles</item>
</plurals>
+ <string name="tts_one_foot">one foot</string>
<plurals name="tts_feet">
<item quantity="one">%s foot</item>
<item quantity="other">%s feet</item>
</plurals>
+ <string name="tts_one_oclock">one o\'clock</string>
<string name="tts_oclock">%s o\'clock</string>
<!-- various -->
diff --git a/main/src/cgeo/geocaching/speech/TextFactory.java b/main/src/cgeo/geocaching/speech/TextFactory.java
index 993f1cf..d4f3a48 100644
--- a/main/src/cgeo/geocaching/speech/TextFactory.java
+++ b/main/src/cgeo/geocaching/speech/TextFactory.java
@@ -25,53 +25,56 @@ public class TextFactory {
float kilometers = position.distanceTo(target);
if (Settings.isUseMetricUnits()) {
- if (kilometers >= 5.0) {
- int quantity = Math.round(kilometers);
- return getQuantityString(R.plurals.tts_kilometers, quantity, String.valueOf(quantity));
- }
- if (kilometers >= 1.0) {
- float precision1 = Math.round(kilometers * 10.0f) / 10.0f;
- float precision0 = Math.round(kilometers);
- if (precision1 == precision0) {
- // this is an int - e.g. 2 kilometers
- int quantity = (int) precision0;
- return getQuantityString(R.plurals.tts_kilometers, quantity, String.valueOf(quantity));
- }
- // this is no int - e.g. 1.7 kilometers
- String digits = String.format(Locale.getDefault(), "%.1f", kilometers);
- // always use the plural (9 leads to plural)
- return getQuantityString(R.plurals.tts_kilometers, 9, digits);
- }
- int meters = (int) Math.round(kilometers * 1000.0);
- if (meters > 50) {
- meters = (int) Math.round(meters / 10.0) * 10;
- }
- return getQuantityString(R.plurals.tts_meters, meters, String.valueOf(meters));
+ return getDistance(kilometers, (int) (kilometers * 1000.0),
+ 5.0f, 1.0f, 50,
+ R.plurals.tts_kilometers, R.string.tts_one_kilometer,
+ R.plurals.tts_meters, R.string.tts_one_meter);
}
+ return getDistance(kilometers / IConversion.MILES_TO_KILOMETER,
+ (int) (kilometers * 1000.0 * IConversion.METERS_TO_FEET),
+ 3.0f, 0.2f, 300,
+ R.plurals.tts_miles, R.string.tts_one_mile,
+ R.plurals.tts_feet, R.string.tts_one_foot);
+ }
- float miles = kilometers / IConversion.MILES_TO_KILOMETER;
- if (miles >= 3.0) {
- int quantity = Math.round(miles);
- return getQuantityString(R.plurals.tts_miles, quantity, String.valueOf(quantity));
+ private static String getDistance(float farDistance, int nearDistance,
+ float farFarAway, float farNearAway, int nearFarAway,
+ int farId, int farOneId, int nearId, int nearOneId) {
+ if (farDistance >= farFarAway) {
+ // example: "5 kilometers" - always without decimal digits
+ int quantity = Math.round(farDistance);
+ if (quantity == 1) {
+ return getString(farOneId, quantity, String.valueOf(quantity));
+ }
+ return getQuantityString(farId, quantity, String.valueOf(quantity));
}
- if (miles >= 0.2) { // approx 1000 ft
- float precision1 = Math.round(miles * 10.0f) / 10.0f;
- float precision0 = Math.round(miles);
+ if (farDistance >= farNearAway) {
+ // example: "2.2 kilometers" - decimals if necessary
+ float precision1 = Math.round(farDistance * 10.0f) / 10.0f;
+ float precision0 = Math.round(farDistance);
if (precision1 == precision0) {
- // this is an int - e.g. 2 miles
+ // this is an int - e.g. 2 kilometers
int quantity = (int) precision0;
- return getQuantityString(R.plurals.tts_miles, quantity, String.valueOf(quantity));
+ if (quantity == 1) {
+ return getString(farOneId, quantity, String.valueOf(quantity));
+ }
+ return getQuantityString(farId, quantity, String.valueOf(quantity));
}
- // this is no int - e.g. 1.7 miles
- String digits = String.format(Locale.getDefault(), "%.1f", miles);
+ // this is no int - e.g. 1.7 kilometers
+ String digits = String.format(Locale.getDefault(), "%.1f", farDistance);
// always use the plural (9 leads to plural)
- return getQuantityString(R.plurals.tts_miles, 9, digits);
+ return getQuantityString(farId, 9, digits);
}
- int feet = (int) (kilometers * 1000.0 * IConversion.METERS_TO_FEET);
- if (feet > 300) {
- feet = (int) Math.round(feet / 10.0) * 10;
+ // example: "34 meters"
+ int quantity = nearDistance;
+ if (quantity > nearFarAway) {
+ // example: "120 meters" - rounded to 10 meters
+ quantity = (int) Math.round(quantity / 10.0) * 10;
}
- return getQuantityString(R.plurals.tts_feet, feet, String.valueOf(feet));
+ if (quantity == 1) {
+ return getString(nearOneId, quantity, String.valueOf(quantity));
+ }
+ return getQuantityString(nearId, quantity, String.valueOf(quantity));
}
private static String getString(int resourceId, Object... formatArgs) {
@@ -90,6 +93,9 @@ public class TextFactory {
if (hours == 0) {
hours = 12;
}
+ if (hours == 1) {
+ return getString(R.string.tts_one_oclock, String.valueOf(hours));
+ }
return getString(R.string.tts_oclock, String.valueOf(hours));
}
}
diff --git a/tests/src/cgeo/geocaching/speech/TextFactoryTest.java b/tests/src/cgeo/geocaching/speech/TextFactoryTest.java
index 519287a..fbf36b3 100644
--- a/tests/src/cgeo/geocaching/speech/TextFactoryTest.java
+++ b/tests/src/cgeo/geocaching/speech/TextFactoryTest.java
@@ -43,82 +43,102 @@ public class TextFactoryTest extends AndroidTestCase {
public void testGetDistanceEn() {
setLocale(Locale.UK, true);
- assertEquals("12 o'clock. 6 kilometers", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
+ assertEquals("one o'clock. 6 kilometers", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
assertEquals("9 o'clock. 1.6 kilometers", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
- assertEquals("6 o'clock. 1 kilometer", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("6 o'clock. one kilometer", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
assertEquals("3 o'clock. 120 meters", TextFactory.getText(MY_POSITION, EAST_123M, 0));
assertEquals("11 o'clock. 34 meters", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 o'clock. 1 meter", TextFactory.getText(MY_POSITION, EAST_1M, 180));
+ assertEquals("9 o'clock. one meter", TextFactory.getText(MY_POSITION, EAST_1M, 180));
assertEquals("12 o'clock. 0 meters", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
setLocale(Locale.UK, false);
- assertEquals("12 o'clock. 4 miles", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
- assertEquals("9 o'clock. 1 mile", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("one o'clock. 4 miles", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("9 o'clock. one mile", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
assertEquals("6 o'clock. 0.6 miles", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
assertEquals("3 o'clock. 400 feet", TextFactory.getText(MY_POSITION, EAST_123M, 0));
assertEquals("11 o'clock. 111 feet", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 o'clock. 1 foot", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
+ assertEquals("9 o'clock. one foot", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
assertEquals("12 o'clock. 0 feet", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
}
public void testGetDistanceDe() {
setLocale(Locale.GERMANY, true);
- assertEquals("12 Uhr. 6 Kilometer", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
+ assertEquals("ein Uhr. 6 Kilometer", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
assertEquals("9 Uhr. 1,6 Kilometer", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
- assertEquals("6 Uhr. 1 Kilometer", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("6 Uhr. ein Kilometer", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
assertEquals("3 Uhr. 120 Meter", TextFactory.getText(MY_POSITION, EAST_123M, 0));
assertEquals("11 Uhr. 34 Meter", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 Uhr. 1 Meter", TextFactory.getText(MY_POSITION, EAST_1M, 180));
+ assertEquals("9 Uhr. ein Meter", TextFactory.getText(MY_POSITION, EAST_1M, 180));
assertEquals("12 Uhr. 0 Meter", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
setLocale(Locale.GERMANY, false);
- assertEquals("12 Uhr. 4 Meilen", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
- assertEquals("9 Uhr. 1 Meile", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("ein Uhr. 4 Meilen", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("9 Uhr. eine Meile", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
assertEquals("6 Uhr. 0,6 Meilen", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
assertEquals("3 Uhr. 400 Fuß", TextFactory.getText(MY_POSITION, EAST_123M, 0));
assertEquals("11 Uhr. 111 Fuß", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 Uhr. 1 Fuß", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
+ assertEquals("9 Uhr. ein Fuß", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
assertEquals("12 Uhr. 0 Fuß", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
}
public void testGetDistanceFr() {
setLocale(Locale.FRANCE, true);
- assertEquals("12 heures. 6 kilomètres", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
+ assertEquals("une heure. 6 kilomètres", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
assertEquals("9 heures. 1,6 kilomètres", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
- assertEquals("6 heures. 1 kilomètre", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("6 heures. un kilomètre", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
assertEquals("3 heures. 120 mètres", TextFactory.getText(MY_POSITION, EAST_123M, 0));
assertEquals("11 heures. 34 mètres", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 heures. 1 mètre", TextFactory.getText(MY_POSITION, EAST_1M, 180));
+ assertEquals("9 heures. un mètre", TextFactory.getText(MY_POSITION, EAST_1M, 180));
assertEquals("12 heures. 0 mètre", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
setLocale(Locale.FRANCE, false);
- assertEquals("12 heures. 4 milles", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
- assertEquals("9 heures. 1 mille", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("une heure. 4 milles", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("9 heures. un mille", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
assertEquals("6 heures. 0,6 milles", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
assertEquals("3 heures. 400 pieds", TextFactory.getText(MY_POSITION, EAST_123M, 0));
assertEquals("11 heures. 111 pieds", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 heures. 1 pied", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
+ assertEquals("9 heures. un pied", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
assertEquals("12 heures. 0 pied", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
}
public void testGetDistanceIt() {
setLocale(Locale.ITALY, true);
- assertEquals("12 precisi. 6 chilometri", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
- assertEquals("9 precisi. 1,6 chilometri", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
- assertEquals("6 precisi. 1 chilometro", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
- assertEquals("3 precisi. 120 metri", TextFactory.getText(MY_POSITION, EAST_123M, 0));
- assertEquals("11 precisi. 34 metri", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 precisi. 1 metro", TextFactory.getText(MY_POSITION, EAST_1M, 180));
- assertEquals("12 precisi. 0 metri", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
+ assertEquals("a ore una. 6 chilometri", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("a ore 9. 1,6 chilometri", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("a ore 6. uno chilometro", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("a ore 3. 120 metri", TextFactory.getText(MY_POSITION, EAST_123M, 0));
+ assertEquals("a ore 11. 34 metri", TextFactory.getText(MY_POSITION, WEST_34M, 290));
+ assertEquals("a ore 9. uno metro", TextFactory.getText(MY_POSITION, EAST_1M, 180));
+ assertEquals("a ore 12. 0 metri", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
setLocale(Locale.ITALY, false);
- assertEquals("12 precisi. 4 miglia", TextFactory.getText(MY_POSITION, NORTH_6100M, 0));
- assertEquals("9 precisi. 1 miglio", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
- assertEquals("6 precisi. 0,6 miglia", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
- assertEquals("3 precisi. 400 piedi", TextFactory.getText(MY_POSITION, EAST_123M, 0));
- assertEquals("11 precisi. 111 piedi", TextFactory.getText(MY_POSITION, WEST_34M, 290));
- assertEquals("9 precisi. 1 piede", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
- assertEquals("12 precisi. 0 piedi", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
+ assertEquals("a ore una. 4 miglia", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("a ore 9. uno miglio", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("a ore 6. 0,6 miglia", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("a ore 3. 400 piedi", TextFactory.getText(MY_POSITION, EAST_123M, 0));
+ assertEquals("a ore 11. 111 piedi", TextFactory.getText(MY_POSITION, WEST_34M, 290));
+ assertEquals("a ore 9. uno piede", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
+ assertEquals("a ore 12. 0 piedi", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
+ }
+
+ public void testGetDistanceSv() {
+ setLocale(new Locale("sv", "SE"), true);
+ assertEquals("Klockan ett. 6 kilometer", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("Klockan 9. 1,6 kilometer", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("Klockan 6. ett kilometer", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("Klockan 3. 120 meter", TextFactory.getText(MY_POSITION, EAST_123M, 0));
+ assertEquals("Klockan 11. 34 meter", TextFactory.getText(MY_POSITION, WEST_34M, 290));
+ assertEquals("Klockan 9. ett meter", TextFactory.getText(MY_POSITION, EAST_1M, 180));
+ assertEquals("Klockan 12. 0 meter", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
+
+ setLocale(new Locale("sv", "SE"), false);
+ assertEquals("Klockan ett. 4 engelsk mil", TextFactory.getText(MY_POSITION, NORTH_6100M, 330));
+ assertEquals("Klockan 9. ett engelsk mil", TextFactory.getText(MY_POSITION, WEST_1MILE, 0));
+ assertEquals("Klockan 6. 0,6 engelsk mil", TextFactory.getText(MY_POSITION, SOUTH_1020M, 0));
+ assertEquals("Klockan 3. 400 fot", TextFactory.getText(MY_POSITION, EAST_123M, 0));
+ assertEquals("Klockan 11. 111 fot", TextFactory.getText(MY_POSITION, WEST_34M, 290));
+ assertEquals("Klockan 9. ett fot", TextFactory.getText(MY_POSITION, EAST_1FT, 180));
+ assertEquals("Klockan 12. 0 fot", TextFactory.getText(MY_POSITION, MY_POSITION, 0));
}
private static void setLocale(Locale locale, boolean metric) {