\documentclass[a4paper,12pt]{book}
\usepackage{listings}
\usepackage{xepersian}
\settextfont{XB Zar}
\setlatintextfont{Times New Roman}


\makeatletter
\renewcommand\lstlistingname{\if@RTLmain برنامه\else Listings\fi}
\long\def\@makecaption#1#2{%
	\vskip\abovecaptionskip
	\sbox\@tempboxa{#1: #2}%
	\ifdim \wd\@tempboxa >\hsize
	\if@RTLmain\beginR\fi#1: #2\if@RTLmain\endR\fi\par
	\else
	\global \@minipagefalse
	\hb@xt@\hsize{\if@RTLmain\beginR\fi\hfil\box\@tempboxa\hfil\if@RTLmain\endR\fi}%
	\fi
	\vskip\belowcaptionskip}%

\makeatother


\begin{document}
\chapter{تست}
تست
\section{تست۲}

\begin{LTR}
\begin{lstlisting}[caption={شبه‌کد پیاده سازی متد همگام‌سازی حصار.}, label=lstBarrierPseudo]
Code listing
\end{lstlisting}
\end{LTR}

\begin{LTR}
\begin{lstlisting}[caption={شبه‌کد پیاده سازی متد همگام‌سازی حصار.}, label=lstBarrierPseudo]
Code listing
\end{lstlisting}
\end{LTR}

\end{document}