private function replaceDefaultTaxonomySlug($url, $taxonomyDetails)
 {
     $localeCode = $this->currentLocale->getCode();
     if (Hash::check((array) $taxonomyDetails->i18n, "{$localeCode}.rewrite.slug")) {
         return Utility::replaceFirstOccurence(Hash::get($taxonomyDetails->i18n, "{$localeCode}.rewrite.slug"), $taxonomyDetails->rewrite['slug'], $url);
     }
     return $url;
 }
 protected function removeLocalizedRoutedSlugs($route, $model)
 {
     if (!$this->currentLocale->isDefault() && is_array($model->routed)) {
         $key = "i18n." . $this->currentLocale->getCode() . ".rewrite";
         if (Hash::check($model->routed, $key)) {
             foreach (Hash::get($model->routed, $key) as $rewriteKey => $rewriteUrl) {
                 if (Hash::check($model->routed, "rewrite.{$rewriteKey}")) {
                     $defaultValue = Hash::get($model->routed, "rewrite.{$rewriteKey}");
                     $route = Utility::replaceFirstOccurence($rewriteUrl, $defaultValue, $route);
                 }
             }
         }
     }
     return $route;
 }
 protected function localizeStaticSlugs($localizedPost, $routedUrl, $originalUrl)
 {
     // Localize back the parameters in the default language
     if (!$this->currentLocale->isDefault()) {
         if (preg_match('/' . preg_quote($localizedPost->post_name) . '\\/(.+?)$/', $routedUrl, $matches)) {
             $cpt = CustomPostType::factoryFromKey($localizedPost->post_type);
             $key = "i18n." . $this->currentLocale->getCode() . ".rewrite.slug";
             if ($cpt->hasConfig($key)) {
                 $additionalParameters = Utility::replaceFirstOccurence($cpt->getConfig($key), $cpt->getConfig("rewrite.slug"), $additionalParameters);
             }
         }
     }
     return trailingslashit($originalUrl);
 }
 private function localizeDefaultSlug($model, $permalink)
 {
     $defaultSlug = $model->getConfig("rewrite.slug");
     if ($defaultSlug) {
         $slugs = array();
         foreach ($model->extractConfig("i18n.{s}.rewrite.slug") as $slug) {
             $slugs[] = $slug;
         }
         if (count($slugs)) {
             $permalink = preg_replace('#/(' . implode("|", $slugs) . ')/#', '/' . $defaultSlug . '/', $permalink);
         }
         if (!$this->currentLocale->isDefault() && $model->hasConfig("i18n." . $this->currentLocale->getCode() . ".rewrite.slug")) {
             return Utility::replaceFirstOccurence($defaultSlug, $model->getConfig("i18n." . $this->currentLocale->getCode() . ".rewrite.slug"), $permalink);
         }
     }
     return $permalink;
 }