41 return strtolower( str_replace(
' ',
'_', $name ) );
54 $this->foreignNamespacesFlipped = [];
57 $this->foreignNamespacesFlipped[$newKey] = $id;
74 if ( is_null( $ns ) ) {
88 $pieces = explode(
':',
$title, 2 );
93 $isNamespacePartValid = isset( $this->foreignNamespacesFlipped[$key] );
95 if ( count( $pieces ) === 2 && $isNamespacePartValid ) {
96 list( $namespaceName, $pageName ) = $pieces;
97 $ns = $this->foreignNamespacesFlipped[$key];
104 return new ForeignTitle( $ns, $namespaceName, $pageName );
115 $pieces = explode(
':',
$title, 2 );
118 $titleIncludesNamespace = ( $ns !=
'0' && count( $pieces ) === 2 );
120 if ( isset( $this->foreignNamespaces[$ns] ) ) {
121 $namespaceName = $this->foreignNamespaces[$ns];
128 $namespaceName = $titleIncludesNamespace ? $pieces[0] :
"Ns$ns";
133 if ( $titleIncludesNamespace ) {
134 $pageName = $pieces[1];
139 return new ForeignTitle( $ns, $namespaceName, $pageName );