How to change name of month in dateplot?

Here is a possible way. The month names are stored in

\newcommand\CustomMonthName[1]{%
\ifcase#1\relax
\or Jan \or Feb \or Mac \or Apr \or Mei \or Jun  \or Jul \or Ogos
\or Sep \or Okt \or Nov \or Dis \fi}

where I have changed May to Mei, and done the other ones you mentioned too. :) Any other English names can also be redefined as you choose.

The \pft function has been redefined to also fetch the month. We can then do

xticklabel={\expandafter\pft\tick;%
 \CustomMonthName{\mymonth}--\myshortyear},

as in

\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepgfplotslibrary{dateplot}
\pgfplotsset{compat=1.17}

\begin{document}

\begin{tikzpicture}

\pgfplotstableread[col sep=comma]{
    date, vix
    2019-05-05, 13.66
    2019-05-12, 17.86
    2019-05-19, 17.26
    2019-05-26, 15.76
    2019-06-02, 17.85
    2019-06-09, 16.83
    2019-06-16, 15.79
    2019-06-23, 15.00
    2019-06-30, 15.73
    2019-07-07, 13.21
    2019-07-14, 13.28
    2019-07-21, 13.50
    2019-07-28, 12.62
    2019-08-04, 15.67
    2019-08-11, 19.83
    2019-08-18, 20.07
    2019-08-25, 17.35
    2019-09-01, 19.17
    2019-09-08, 17.07
    2019-09-15, 14.61
    2019-09-22, 14.49
    2019-09-29, 16.24
    2019-10-06, 18.30
    2019-10-13, 17.99
    2019-10-20, 13.97
    2019-10-27, 13.77
    2019-11-03, 12.83
    2019-11-10, 12.67
    2019-11-17, 12.69
    2019-11-24, 12.71
    2019-12-01, 11.95
    2019-12-08, 14.76
    2019-12-15, 14.62
    2019-12-22, 12.40
    2019-12-29, 12.84
    2020-01-05, 13.77
    2020-01-12, 13.24
    2020-01-19, 12.31
    2020-01-26, 13.33
    2020-02-02, 17.05
    2020-02-09, 15.92
    2020-02-16, 14.36
    2020-02-23, 15.46
    2020-03-01, 31.94
    2020-03-08, 36.76
    2020-03-15, 57.79
    2020-03-22, 74.62
    2020-03-29, 62.75
    2020-04-05, 53.08
    2020-04-12, 44.24
    2020-04-19, 39.97
    2020-04-26, 35.93
    2020-05-03, 37.19
    2020-05-08, 31.44
}\chartthree

% nicer legend
\pgfplotsset{/pgfplots/ybar legend/.style={
        /pgfplots/legend image code/.code={%
            \draw[ ##1,/tikz/.cd,yshift=-0.25em]
            (0cm,0cm) rectangle (0.6em,0.6em);},},
} % 

\pgfplotsset{ytick style={draw=none}, xtick style={draw = none}}
\pgfplotsset{every non boxed x axis/.append style={x axis line style=-},}

\def\pft#1#2#3#4-#5-#6;{\edef\myshortyear{#3#4}%
    \edef\mymonth{#5}} % new definition

% this is the code which redefines the months
\newcommand\CustomMonthName[1]{%
    \ifcase#1\relax
    \or Jan \or Feb \or Mar \or Apr \or Mei \or Jun  \or Jul \or Ogos
    \or Sep \or Okt \or Nov \or Dis \fi}

\begin{axis}[
width = 9cm,
height = 7cm,
axis lines=left,
enlarge x limits={0.02,upper},
enlarge y limits={0.1, upper},
stack plots = y,
%
% y ticks style and label
ylabel={Indeks},
ylabel shift = 5pt,
ytick distance = 10,
y tick label style={/pgf/number format/.cd, fixed, fixed zerofill, precision=0, /tikz/.cd},
ymin=5,
%
% x axis ticks and style
xmin = 2019-05-08,
date coordinates in=x,
xtick distance = 31,
%xtick=data,
xticklabels from table={\chartthree}{date}, 
xticklabel={\expandafter\pft\tick;%
    \CustomMonthName{\mymonth}--\myshortyear}, % redefined command for xticks
x tick label style = {rotate=90}]
axis x line shift={\pgfkeysvalueof{/pgfplots/ymin}},       
xticklabel shift={-\pgfkeysvalueof{/pgfplots/axis x line shift}},
%
% done with the axis, now the plots
\addplot [black, fill]
table [x=date,y=vix] from \chartthree \closedcycle;
\end{axis}
\end{tikzpicture}

\end{document}

enter image description here


Quick solution:

% make sure dateplot lib is loaded first
\usepgfplotslibrary{dateplot}

% redefine pgfcalendar internals
\makeatletter
% defined in file pgfcalendar.code.tex
\def\pgfcalendarmonthshortname#1{%
  \pgfutil@translate{\ifcase#1\or Jan\or Feb\or Mar\or Apr\or
    % here I have changed "May" to "Mei" as an example
    Mei\or Jun\or Jul\or Aug\or Sep\or Oct\or
    Nov\or Dec\fi}%
}
\makeatother

More elegant solution:

The dateplot library of pgfplots package makes use of the internal macros provided by pgfcalendar library of tikz package. Since these internal macros already uses \translate from translator package, you can just provide more translations. This works for every use of pgfcalendar library, hence I personally recommend it.

Use the following lines as preamble, then "May" is translated to "Mei" in the output.

\usepackage{translator}
\languagepath{Indonesian} % here I guess OP uses Indonesian
\deftranslation[to=Indonesian]{May}{Mei}
% more \deftranslation lines to translate other months into Indonesian

\usepackage{pgfplots}
\usepackage{pgfplotstable}
\usepgfplotslibrary{dateplot}
\pgfplotsset{compat=1.17}

To use this translations for multiple .tex files, you can define a new dictionary file translator-months-dictionary-Indonesian.dict based on translator-months-dictionary-English.dict. See the user manual of translator package.