How can I translate months in DateListPlot?

In this plot example, I get the months in English abbreviation:

DateListPlot[{#, RandomReal[]}&/@DateRange[{2020,1,1}, {2021,01,31}, "Month"]]


How can I translate the abbreviated names using this rule:

monthNameRule = <|"Jan"-> "Jan", "Feb"-> "Fev", "Mar"-> "Mar", "Apr"-> "Abr", "May"-> "Mai", "Jun"-> "Jun", "Jul"-> "Jul", "Ago"-> "Ago", "Sep"-> "Set", "Oct"-> "Out", "Nov"-> "Nov", "Dec"-> "Dez"|>


Maybe there is some Global Variable with Month names? Any Clue?

I'm know I can use Ticks to specify manually, but I would like to use Mathematica automatic magic for ticker position, and just translate the result.

Update: A generalization to translate months and days:

ClearAll[translateDates, translatedDateTicks]
translateDates[f_: (Capitalize[StringTake[#, 3]] &)] := StringReplace[
CanonicalName[#] | Capitalize[StringTake[CanonicalName[#], 3]] -> f[#2] & @@@
Join @@ LanguageData[#, {"MonthNames", "Days"}]] &;

translatedDateTicks[f_: (Capitalize[StringTake[#, 3]] &)][l_String,
n_: All, ds_: "MonthName"] :=  Replace[SystemDateListPlotDumpDateTicks[{##}, n, ds],
s_String :> translateDates[f][l]@s, All] &;


Examples:

data = {#, RandomReal[]} & /@ DateRange[{2020, 1, 1}, {2020, 02, 15}, "Day"];

DateListPlot[data, ImageSize -> 800, LabelStyle -> 12,
FrameTicks -> {{Automatic, All},
{translatedDateTicks[]["Portuguese", 30, "DayName"],
translatedDateTicks[]["Spanish", 30,
{"DayName", "\n", "MonthName", "\n", "YearShort"}]}}]


data2 = {#, RandomReal[]} & /@ DateRange[{2020, 1, 1}, {2021, 01, 31}, "Month"];

DateListPlot[data2, ImageSize -> 800, LabelStyle -> 12,
FrameTicks -> {{Automatic, All},
{translatedDateTicks[Identity]["Chinese", 15, "MonthName"],
translatedDateTicks[Identity]["Russian", 10, {"MonthName", " / ", "YearShort"}]}}]


ClearAll[monthShort, dTicks]
monthShort[lang_] := CanonicalName[#] -> Capitalize[StringTake[#2, 3]] & @@@
LanguageData[lang, "MonthNames"]

dTicks[l_String, n_:All] := SystemDateListPlotDumpDateTicks[{##}, n, "MonthName"] /.
monthShort[l] &;

dTicks[a_Association, n_: All] := SystemDateListPlotDumpDateTicks[{##}, n,
"MonthNameShort"] /. a &;


Example:

monthNameRule = <|"Jan" -> "Jan", "Feb" -> "Fev", "Mar" -> "Mar",
"Apr" -> "Abr", "May" -> "Mai", "Jun" -> "Jun", "Jul" -> "Jul",
"Aug" -> "Ago", "Sep" -> "Set", "Oct" -> "Out", "Nov" -> "Nov", "Dec" -> "Dez"|>;

DateListPlot[{#, RandomReal[]} & /@ DateRange[{2020, 1, 1}, {2021, 01, 31}, "Month"],
ImageSize -> Large, LabelStyle -> 16,
FrameTicks -> {{Automatic, All}, {dTicks[monthNameRule, 10], dTicks["Portuguese"]}}]


• Interesting. I'll wait 24h before accept. Tks a lot. Mar 30, 2020 at 11:26
• what version are you using? If I copy and past your answer in V12.1, I get error, and no translation. May 9, 2020 at 21:52
• I am using version 11.3 (windows 10 -64b)
– kglr
May 9, 2020 at 22:26

DateListPlot[{#, RandomReal[]} & /@