\csname Hy@captionsenglish\endcsname’ not defined in old versions

<..pre 2008..>
 \expandafter\ifx \csname sectionautorefname\endcsname\relax
    \let\:temp=\def
    \def\def#1{\expandafter
      \ifx \csname \expandafter\:gobble\string#1\endcsname\relax
          \expandafter\:temp\expandafter#1\else
       \expandafter\:gobble\fi }
    \csname Hy@captionsenglish\endcsname
    \let\def=\:temp
 \fi
 \def\::autoref#1{{%
   \bgroup
     \a:@newlabel
     \def\:tempa{#1}%
     \@onelevel@sanitize\:tempa
     \expandafter\global \expandafter\let
         \expandafter\:temp  \csname \:tempa autorefname\endcsname
     \expandafter\global \expandafter\let
         \expandafter\:tempa \csname \:tempa name\endcsname
   \egroup
   \ifx \:temp\relax
      \ifx  \:tempa \relax #1%
      \else \:tempa  \fi
   \else  \:temp  \fi ~}}
 \let\:autoref=\:gobble
 -_-_-

���

<..post 2001 late hyperrref-pre 2008..>
 \AtBeginDocument{%
    \edef\autoref{\noexpand\protect\expandafter\noexpand
    \csname autoref \endcsname}}
 \expandafter\def\csname autoref \endcsname{%
     \@ifstar {\HyRef@autoref \@gobbletwo }{\HyRef@autoref \hyper@@link}}
 \def\HyRef@autoref#1#2{%
   \begingroup
     \Hy@safe@activestrue
     \expandafter\auto@setref \csname r@#2\endcsname \@firstoffive {#2}%
   \endgroup
 }
 -_-_-