feat: Move Local converter implementation and tests to IETF's BCP 47, with an hyphen (-)
Do not use the toString format which is for debugging as expressed in the javadoc

Signed-off-by: Jean-Louis Monteiro <jlmonteiro@tomitribe.com>
diff --git a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/converter/LocaleConverter.java b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/converter/LocaleConverter.java
index 565a2a4..66aa7fb 100644
--- a/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/converter/LocaleConverter.java
+++ b/johnzon-mapper/src/main/java/org/apache/johnzon/mapper/converter/LocaleConverter.java
@@ -45,7 +45,7 @@
 
     @Override
     public String from(final Locale instance) {
-        return instance.toString();
+        return instance.toLanguageTag();
     }
 
     @Override
diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/LocaleTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/LocaleTest.java
index 3e3098c..b52b85e 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/LocaleTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/LocaleTest.java
@@ -29,7 +29,7 @@
 public class LocaleTest {
     @Test
     public void roundTrip() {
-        final String expected = "{\"locale\":\"fr_FR\"}";
+        final String expected = "{\"locale\":\"fr-FR\"}";
         final Mapper mapper = new MapperBuilder().setAccessMode(new FieldAccessMode(false, false)).build();
         {
             final Locale locale = Locale.FRANCE;
@@ -40,7 +40,7 @@
         {
             final LocaleHolder holder = mapper.readObject(expected, LocaleHolder.class);
             assertNotNull(holder.locale);
-            assertEquals("fr_FR", holder.locale.toString());
+            assertEquals("fr-FR", holder.locale.toLanguageTag());
         }
     }