%% @author Oliver Irwin
%% 2020-08-10
\ProvidesPackage{frpseudocode}[2020-08-10 French Pseudocode 0.3.0]
\RequirePackage{algpseudocode}

%% Global mod
\floatname{algorithm}{Algorithme}

%% Functions %%
\algrenewcommand\algorithmicprocedure{\textbf{procédure}}
\algrenewcommand\algorithmicfunction{\textbf{fonction}}
\algrenewcommand\algorithmicreturn{\textbf{renvoyer}}

\algrenewtext{Procedure}[2]%
{\algorithmicprocedure\ \textproc{#1}\ifthenelse{\equal{#2}{}}{}{(#2)}\ :}

\algrenewtext{Function}[2]%
{\algorithmicfunction\ \textproc{#1}\ifthenelse{\equal{#2}{}}{}{(#2)}\ :}

%% Inputs
\algrenewcommand\algorithmicrequire{\textbf{Requiert : }}
\algrenewcommand\algorithmicensure{\textbf{Vérifier : }}

%% Control Instructions %%
\algrenewcommand\algorithmicwhile{\textbf{Tant que}}
\algnewcommand\algorithmicwhilem{\textbf{tant que}}
\algrenewcommand\algorithmicdo{\textbf{Faire}}
\algnewcommand\algorithmicdom{\textbf{faire}}
\algrenewcommand\algorithmicend{\textbf{Fin}}
\algrenewcommand\algorithmicfor{\textbf{Pour}}
\algrenewcommand\algorithmicforall{\textbf{Pour tout}}
\algnewcommand\algorithmicfrom{\textbf{de }}
\algnewcommand\algorithmicto{\textbf{à}}
\algnewcommand\algorithmicform{\textbf{pour}}

\algrenewcommand\algorithmicrepeat{\textbf{Répéter}}
\algrenewcommand\algorithmicuntil{\textbf{Jusqu'à}}

\algdef{SE}[FORFT]{ForFT}{EndFor}[3]{}%

%% Change commands
\algrenewtext{ForFT}[3]%
{\algorithmicfor\ #1 \algorithmicfrom  #2 \algorithmicto\ #3,\  \algorithmicdom\ :}

\algrenewtext{For}[1]%
{\algorithmicfor\ #1,\ \algorithmicdom\ :}

\algrenewtext{EndFor}[0]%
{\algorithmicend\ \algorithmicform}

\algrenewtext{While}[1]%
{\algorithmicwhile\ #1,\ \algorithmicdom\ :}

\algrenewtext{EndWhile}[0]%
{\algorithmicend\ \algorithmicwhilem}

%% Conditionnals %%

\algrenewcommand\algorithmicif{\textbf{Si}}
\algnewcommand\algorithmicifm{\textbf{si}}
\algrenewcommand\algorithmicelse{\textbf{Sinon}}
\algrenewcommand\algorithmicthen{\textbf{alors}}
\newcommand{\algorithmicelsif}{\algorithmicelse\ \algorithmicif}

\algrenewtext{ElsIf}[1]%
{\algorithmicelse ,\ \algorithmicifm\ #1}

\algrenewtext{EndIf}[0]%
{\algorithmicend\ \algorithmicifm}

%% Logical
%\algrenewcommand{\algorithmicnot}{\textbf{non}}
%\algrenewcommand{\algorithmicand}{\textbf{et}}
%\algrenewcommand{\algorithmicor}{\textbf{ou}}