function createTranslatedTextViewer( $attribute ) {
	
	$o = OmegaWikiAttributes::getInstance();

	$result = createTableViewer( $attribute );
	$result->addEditor( createLanguageViewer( $o->language ) );
	$result->addEditor( createLongTextViewer( $o->text ) );
	
	return $result;
}
	private function getDefinedMeaningAsRecordSet( $queryResult ) {
		global $wgDefinedMeaning ;

		$o = OmegaWikiAttributes::getInstance();

		$dbr = wfGetDB( DB_SLAVE );
		$spellingAttribute = new Attribute( "spelling", wfMsg( 'ow_Spelling' ), "short-text" );
		$languageAttribute = new Attribute( "language", wfMsg( 'ow_Language' ), "language" );

		$expressionStructure = new Structure( $wgDefinedMeaning, $spellingAttribute, $languageAttribute );
		$definedMeaningAttribute = new Attribute( null, wfMsg( 'ow_DefinedMeaning' ), $expressionStructure );
		$definitionAttribute = new Attribute( "definition", wfMsg( 'ow_Definition' ), "definition" );

		$recordSet = new ArrayRecordSet( new Structure( $o->id, $definedMeaningAttribute, $definitionAttribute ), new Structure( $o->id ) );

		while ( $row = $dbr->fetchObject( $queryResult ) ) {
			$definedMeaningRecord = new ArrayRecord( $expressionStructure );
			$definedMeaningRecord->setAttributeValue( $spellingAttribute, $row->spelling );
			$definedMeaningRecord->setAttributeValue( $languageAttribute, $row->language_id );

			$recordSet->addRecord( array( $row->defined_meaning_id, $definedMeaningRecord, getDefinedMeaningDefinition( $row->defined_meaning_id ) ) );
		}

		$expressionEditor = new RecordTableCellEditor( $definedMeaningAttribute );
		$expressionEditor->addEditor( createShortTextViewer( $spellingAttribute ) );
		$expressionEditor->addEditor( createLanguageViewer( $languageAttribute ) );

		$editor = createSuggestionsTableViewer( null );
		$editor->addEditor( $expressionEditor );
		$editor->addEditor( new TextEditor( $definitionAttribute, new SimplePermissionController( false ), false, true, 75 ) );

		return array( $recordSet, $editor );
	}
function getUpdatedTranslatedTextEditor( $attribute, $showRollBackOptions ) {

	$o = OmegaWikiAttributes::getInstance();
	
	$o = OmegaWikiAttributes::getInstance();
	$editor = createTableViewer( $attribute );
	
	if ( $showRollBackOptions ) {
		$rollBackEditor = new RollbackEditor( $o->rollBackTranslatedContent, true );
		$rollBackEditor->setSuggestionsEditor( getTranslatedContentHistorySelector( $o->translatedContentHistory ) );
		
		$editor->addEditor( $rollBackEditor );
	}
		
	$editor->addEditor( new ObjectPathEditor( $o->objectId ) );
	$editor->addEditor( createDefinedMeaningReferenceViewer( $o->attribute ) );
	$editor->addEditor( createLanguageViewer( $o->language ) );
	$editor->addEditor( createLongTextViewer( $o->text ) );
	$editor->addEditor( createShortTextViewer( $o->operation ) );
	$editor->addEditor( createBooleanViewer( $o->isLatest ) );
	
	return $editor;
}