public function filter_onInit()
 {
     $strataRewriter = Strata::rewriter();
     $i18n = Strata::i18n();
     $configuration = $i18n->getConfiguration();
     // Taxonomies
     $rewriter = new TaxonomyRewriter($i18n, $strataRewriter);
     $rewriter->setConfiguration($configuration);
     $rewriter->rewrite();
     // Custom Post Types
     $rewriter = new CustomPostTypeRewriter($i18n, $strataRewriter);
     $rewriter->setConfiguration($configuration);
     $rewriter->rewrite();
     // Translate homepages
     $rewriter = new HomepageRewriter($i18n, $strataRewriter);
     $rewriter->setDefaultHomepageId($i18n->query()->getDefaultHomepageId());
     $rewriter->rewrite();
     // Translate the default slugs
     $rewriter = new DefaultWordpressRewriter($i18n, $strataRewriter);
     $rewriter->setConfiguration($configuration);
     $rewriter->rewrite();
     $postPermalink = new PostPermalinkManager();
     add_filter('post_link', array($postPermalink, "filter_onCptLink"), 5, 2);
     add_filter('post_type_link', array($postPermalink, "filter_onCptLink"), 5, 2);
     add_filter('page_link', array($postPermalink, "filter_onPostLink"), 5, 2);
     $termPermalink = new TermPermalinkManager();
     add_filter('term_link', array($termPermalink, 'filter_onTermLink'), 5, 3);
     $metaManager = new PostMetaManager();
     add_action('save_post', array($metaManager, 'filter_onSavePost'), 100);
     $metaManager = new TermMetaManager();
     add_action('create_term', array($metaManager, 'filter_onCreateTerm'), 100);
     add_action('edit_term', array($metaManager, 'filter_onEditTerm'), 100);
 }
 private function saveRules()
 {
     if (count($this->collectedRewrites)) {
         $rewriter = Strata::rewriter();
         foreach ($this->collectedRewrites as $rewrite) {
             $rewriter->addRule($rewrite[0], $rewrite[1]);
         }
     }
     if (count($this->collectedRoutes)) {
         $router = Strata::router();
         $router->addModelRoutes($this->collectedRoutes);
     }
 }