Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Multilingual content deletion


Reply

3 Posts   1011 Views

Avatar
hitautodestruct

28 December 2007 at 12:17am Community Member, 19 Posts

Hi,
I recently started experimenting with the i18n feature in silverstripe 2.2.
My site has a need for managing and updating several different translations of the content.

I can't seem to get the handle on how to remove a certain language from the selection menu once I have created a translated page.

For example:
Say I have created a new translation of my site in Afrikaans (for testing purposes).
I now wish to completely remove the option to translate in that specific language, from the selection menu.
How would I go about doing this?

My workaround consists of just hiding all the pages in that lanuage i.e. "unpublishing" them.
But I assume there is a more finite way of deleting a specific translation.

Cheers

Avatar
Ingo

5 January 2008 at 9:11pm Forum Moderator, 801 Posts

currently there's no concept of adding/removing specific languages, its just a database query that finds out all languages used in the SiteTree database records. this behaviour might change in the future, as its not very straightforward for the user.

for now, you can go through your database and look for the "Lang" database column in the "*_lang" and "*_lang_versions" table and delete the records you no longer need (e.g. in african language).

Avatar
hitautodestruct

7 January 2008 at 3:48am Community Member, 19 Posts

Hey Ingo,
Thanks for the reply. I was beginning to think there was no one on the other end :)

I don't know if this is where to post but I have come across a very frustrating error and it is the only thing thats keeping me from implementing SilverStripe on the main site.

My problem is this:
All I want to do is get my custom fields translatable.
When I set a field to be Translatable('fieldname') I get a crazy error which I don't want to post here.
But I attached a text file so you can view the error in it's full glorry.
Baiscally it points to:

FATAL ERROR: Object::__call() Method 'markUnexpanded' not found in class 'HomePage'
At line 190 in /web/dev.wiztekmedia.com/http/html/sapphire/core/Object.php

This is the code for the page type (HomePage.php)

<?php

class HomePage extends SiteTree {
   static $db = array(
      'Slogan' => 'Varchar'
   );
   
//This is the code I insert that causes all the problems
   static $extensions = array(
      "Translatable('Slogan')"
   );
   
   static $defaults = array(
   );

      function getCMSFields() {
         $fields = parent::getCMSFields();

         $fields->addFieldToTab('Root.Content.Main', new TextField('Slogan', 'The slogan text under the rummy royal logo:'), 'Content');
         $fields->removeFieldFromTab('Root.Content.Main', 'Content');
       
    return $fields;
   }
}

class HomePage_Controller extends ContentController {
   function init() {
      parent::init();
      
      Requirements::themedCSS("RummyStyle");
   }
}

?>