Well you are not saying what error you get. For me (windows 7) the
following works fine with lualatex in a current texlive 2015 and in
miktex. The hyphenations are correct.
And for me too (TL15, W7). The auxiliary macros can be removed. Just:
\makeatletter
\input luababel.def
\makeatletter
seems enough. But I'd like to investigate a bit further.
Javier
-------------------------------
\documentclass[]{article}
\makeatletter
\input luababel.def
\def\bbl@add#1#2{%
\@ifundefined{\expandafter\@gobble\string#1}%
{\def#1{#2}}%
{\expandafter\def\expandafter#1\expandafter{#1#2}}}
\def\bbl@csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
\long\def\bbl@afterelse#1\else#2\fi{\fi#1}
\long\def\bbl@afterfi#1\fi{\fi#1}
\def\bbl@loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
\def\bbl@loopx#1#2{\expandafter\bbl@loop\expandafter#1\expandafter{#2}}
\def\bbl@@loop#1#2#3,{%
\ifx\@nnil#3\relax\else
\def#1{#3}#2\bbl@afterfi\bbl@@loop#1{#2}%
\fi}
\def\bbl@for#1#2#3{\bbl@loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
\def\AfterBabelLanguage#1{%
\global\expandafter\bbl@add\csname#1.ldf-h@@k\endcsname}%
\ifx\bbl@languages\@undefined\else
\begingroup
\catcode`\^^I=12
\@ifpackagewith{babel}{showlanguages}{%
\begingroup
\def\bbl@elt#1#2#3#4{\wlog{#2^^I#1^^I#3^^I#4}}%
\wlog{<*languages>}%
\bbl@languages
\wlog{</languages>}%
\endgroup}{}
\endgroup
\def\bbl@elt#1#2#3#4{%
\ifnum#2=\z@
\gdef\bbl@nulllanguage{#1}%
\def\bbl@elt##1##2##3##4{}%
\fi}%
\bbl@languages
\fi
\makeatother
\usepackage{polyglossia}
\setmainlanguage{german}
\setotherlanguage{english}
\textwidth=0.5cm
\begin{document}
Minister Minister
\selectlanguage{english}
Minister Minister
\end{document}