Sort each format separately (also tested with Russian locale):
```
$ cat foo
#!/bin/sh
export LC_TIME="el_GR.UTF-8"
get_months()
{
# Print months in reverse order
for i in $(seq 12 1); do
printf "2000-%02d-01\n" ${i} | xargs -I{} \
date -jf "%Y-%m-%d" {} "${1}"
done
}
get_months "+%b" | sort -M
echo "---"
get_months "+%B" | sort -M
echo "---"
get_months "+%OB" | sort -M
$ ./foo
Ιαν
Φεβ
Μαρ
Απρ
Μαΐ
Ιουν
Ιουλ
Αυγ
Σεπ
Οκτ
Νοε
Δεκ
---
Ιανουαρίου
Φεβρουαρίου
Μαρτίου
Απριλίου
Μαΐου
Ιουνίου
Ιουλίου
Αυγούστου
Σεπτεμβρίου
Οκτωβρίου
Νοεμβρίου
Δεκεμβρίου
---
Ιανουάριος
Φεβρουάριος
Μάρτιος
Απρίλιος
Μάϊος
Ιούνιος
Ιούλιος
Αύγουστος
Σεπτέμβριος
Οκτώβριος
Νοέμβριος
Δεκέμβριος
```
Test with mixed formats:
```
$ cat file
Δεκέμβριος
Νοεμβρίου
Οκτ
Σεπ
Αυγ
Ιούλιος
Ιουνίου
Μαΐου
Απριλίου
Μάρτιος
Φεβρουάριος
Ιανουάριος
$ LC_TIME="el_GR.UTF-8" sort -M < file
Ιανουάριος
Φεβρουάριος
Μάρτιος
Απριλίου
Μαΐου
Ιουνίου
Ιούλιος
Αυγ
Σεπ
Οκτ
Νοεμβρίου
Δεκέμβριος
```
Kyua tests:
```
$ kyua test
...
sort_test:mflag -> passed [0.012s]
sort_test:mflag_uflag -> passed [0.011s]
sort_test:mflag_uflag_first -> passed [0.014s]
...
43/43 passed (0 failed)
```