public static PeriodFormatter wordBased(Locale locale) {
        PeriodFormatter pf = FORMATTERS.get(locale);
        if (pf == null) {
            DynamicWordBased dynamic = new DynamicWordBased(buildWordBased(locale));
            pf = new PeriodFormatter(dynamic, dynamic, locale, null);
            PeriodFormatter existing = FORMATTERS.putIfAbsent(locale, pf);
            if (existing != null) {
                pf = existing;
            }
        }
        return pf;
    }
public static PeriodFormatter wordBased ( Locale locale ) { PeriodFormatter pf = FORMATTERS . get ( locale ) ; if ( pf == null ) { DynamicWordBased dynamic = new DynamicWordBased ( buildWordBased ( locale ) ) ; pf = new PeriodFormatter ( dynamic , dynamic , locale , null ) ; PeriodFormatter existing = FORMATTERS . putIfAbsent ( locale , pf ) ; if ( existing != null ) { pf = existing ; } } return pf ; }
Returns a word based formatter for the specified locale.
<p>
The words are configured in a resource bundle text file -
{@code org.joda.time.format.messages}.
This can be added to via the normal classpath resource bundle mechanisms.
<p>
You can add your own translation by creating messages_<locale>.properties file
and adding it to the {@code org.joda.time.format.messages} path.
<p>
Simple example (1 -> singular suffix, not 1 -> plural suffix):

<pre>
PeriodFormat.space=\
PeriodFormat.comma=,
PeriodFormat.commandand=,and
PeriodFormat.commaspaceand=, and
PeriodFormat.commaspace=,
PeriodFormat.spaceandspace=\ and
PeriodFormat.year=\ year
PeriodFormat.years=\ years
PeriodFormat.month=\ month
PeriodFormat.months=\ months
PeriodFormat.week=\ week
PeriodFormat.weeks=\ weeks
PeriodFormat.day=\ day
PeriodFormat.days=\ days
PeriodFormat.hour=\ hour
PeriodFormat.hours=\ hours
PeriodFormat.minute=\ minute
PeriodFormat.minutes=\ minutes
PeriodFormat.second=\ second
PeriodFormat.seconds=\ seconds
PeriodFormat.millisecond=\ millisecond
PeriodFormat.milliseconds=\ milliseconds
</pre>

<p>
Some languages contain more than two suffixes. You can use regular expressions
for them. Here's an example using regular expression for English:

<pre>
PeriodFormat.space=\
PeriodFormat.comma=,
PeriodFormat.commandand=,and
PeriodFormat.commaspaceand=, and
PeriodFormat.commaspace=,
PeriodFormat.spaceandspace=\ and
PeriodFormat.regex.separator=%
PeriodFormat.years.regex=1$%.*
PeriodFormat.years.list=\ year%\ years
PeriodFormat.months.regex=1$%.*
PeriodFormat.months.list=\ month%\ months
PeriodFormat.weeks.regex=1$%.*
PeriodFormat.weeks.list=\ week%\ weeks
PeriodFormat.days.regex=1$%.*
PeriodFormat.days.list=\ day%\ days
PeriodFormat.hours.regex=1$%.*
PeriodFormat.hours.list=\ hour%\ hours
PeriodFormat.minutes.regex=1$%.*
PeriodFormat.minutes.list=\ minute%\ minutes
PeriodFormat.seconds.regex=1$%.*
PeriodFormat.seconds.list=\ second%\ seconds
PeriodFormat.milliseconds.regex=1$%.*
PeriodFormat.milliseconds.list=\ millisecond%\ milliseconds
</pre>

<p>
You can mix both approaches. Here's example for Polish (
"1 year, 2 years, 5 years, 12 years, 15 years, 21 years, 22 years, 25 years"
translates to
"1 rok, 2 lata, 5 lat, 12 lat, 15 lat, 21 lat, 22 lata, 25 lat"). Notice that
PeriodFormat.day and PeriodFormat.days is used for day suffixes as there is no
need for regular expressions:

<pre>
PeriodFormat.space=\
PeriodFormat.comma=,
PeriodFormat.commandand=,i
PeriodFormat.commaspaceand=, i
PeriodFormat.commaspace=,
PeriodFormat.spaceandspace=\ i
PeriodFormat.regex.separator=%
PeriodFormat.years.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.years.list=\ rok%\ lata%\ lat
PeriodFormat.months.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.months.list=\ miesi\u0105c%\ miesi\u0105ce%\ miesi\u0119cy
PeriodFormat.weeks.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.weeks.list=\ tydzie\u0144%\ tygodnie%\ tygodni
PeriodFormat.day=\ dzie\u0144
PeriodFormat.days=\ dni
PeriodFormat.hours.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.hours.list=\ godzina%\ godziny%\ godzin
PeriodFormat.minutes.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.minutes.list=\ minuta%\ minuty%\ minut
PeriodFormat.seconds.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.seconds.list=\ sekunda%\ sekundy%\ sekund
PeriodFormat.milliseconds.regex=^1$%[0-9]*(?&lt;!1)[2-4]$%[0-9]*
PeriodFormat.milliseconds.list=\ milisekunda%\ milisekundy%\ milisekund
</pre>

<p>
Each PeriodFormat.&lt;duration_field_type&gt;.regex property stands for an array of
regular expressions and is followed by a property
PeriodFormat.&lt;duration_field_type&gt;.list holding an array of suffixes.
PeriodFormat.regex.separator is used for splitting. See
{@link PeriodFormatterBuilder#appendSuffix(String[], String[])} for details.
<p>
Available languages are English, Danish, Dutch, French, German, Japanese,
Polish, Portuguese and Spanish.

@return the formatter, not null
@since 2.0, regex since 2.5