Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/AboutDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/AboutDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/AboutDialog.java	(revision 18297)
@@ -66,22 +66,38 @@
 	this.self = this;
 	setSize(SIZE);
-		  
+        this.setComponentOrientation(Dictionary.getOrientation());        
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel upper_pane = new JPanel();
+        upper_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	ImageIcon icon = JarTools.getImage("gatherer_medium.gif");
 	ImageIcon scaled_icon = new ImageIcon(icon.getImage().getScaledInstance(ICON_SIZE, ICON_SIZE, Image.SCALE_DEFAULT));
 	JLabel icon_label = new JLabel(scaled_icon);
-	JPanel title_pane = new JPanel();
-	JLabel title_one_label = new JLabel(Dictionary.get("AboutDialog.Title_One"));
-	JLabel title_two_label = new JLabel(Gatherer.PROGRAM_NAME + " " + Gatherer.PROGRAM_VERSION + " " + Dictionary.get("AboutDialog.Date"));
-	JLabel title_three_label = new JLabel(Dictionary.get("AboutDialog.Title_Two"));
-	JLabel copyright_label = new JLabel(Dictionary.get("AboutDialog.Copyright"));
-	JLabel gpl_label = new JLabel(Dictionary.get("AboutDialog.Copyright_Two"));
-	
+	icon_label.setComponentOrientation(Dictionary.getOrientation());
+        
+        JPanel title_pane = new JPanel();
+	title_pane.setComponentOrientation(Dictionary.getOrientation());
+        
+        JLabel title_one_label = new JLabel(Dictionary.get("AboutDialog.Title_One"));
+	title_one_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel title_two_label = new JLabel(Gatherer.PROGRAM_NAME + " " + Gatherer.PROGRAM_VERSION + " " + Dictionary.get("AboutDialog.Date"));
+        title_two_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel title_three_label = new JLabel(Dictionary.get("AboutDialog.Title_Two"));
+	title_three_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel copyright_label = new JLabel(Dictionary.get("AboutDialog.Copyright"));
+	copyright_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel gpl_label = new JLabel(Dictionary.get("AboutDialog.Copyright_Two"));
+        gpl_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JTextArea text = new JTextArea();
+        text.setComponentOrientation(Dictionary.getOrientation());
 	text.setLineWrap(true);
 	text.setWrapStyleWord(true);
-
+        
+        
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	close_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
 	
@@ -101,10 +117,10 @@
 	upper_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
 	upper_pane.setLayout(new BorderLayout());
-	upper_pane.add(icon_label, BorderLayout.WEST);
+	upper_pane.add(icon_label, BorderLayout.LINE_START);
 	upper_pane.add(title_pane, BorderLayout.CENTER);
 
 	button_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
 	button_pane.setLayout(new BorderLayout());
-	button_pane.add(close_button, BorderLayout.EAST);
+	button_pane.add(close_button, BorderLayout.LINE_END);
 
 	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/BaseConfigPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/BaseConfigPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/BaseConfigPane.java	(revision 18297)
@@ -75,8 +75,10 @@
 	DebugStream.println("BaseConfigPane: Main GUI components created.");
 	// Creation
+        this.setComponentOrientation(Dictionary.getOrientation());
 	tree_pane = new JPanel();
-
+        tree_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	tree = new DesignTree();
-	
+	tree.setComponentOrientation(Dictionary.getOrientation());
 	// Connect
 	tree.addTreeSelectionListener(new TreeListener());
@@ -85,9 +87,12 @@
 	tree_pane.setLayout(new BorderLayout());
 	tree_pane.setPreferredSize(TREE_SIZE);
-	tree_pane.add(new JScrollPane(tree), BorderLayout.CENTER);
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(tree);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	tree_pane.add(scrol_tmp, BorderLayout.CENTER);
 	setLayout(new BorderLayout());
 	setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	
-	add(tree_pane, BorderLayout.WEST);
+	add(tree_pane, BorderLayout.LINE_START);
 
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/CreatePane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/CreatePane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/CreatePane.java	(revision 18297)
@@ -162,25 +162,33 @@
      */
     public CreatePane() {
+        this.setComponentOrientation(Dictionary.getOrientation());
 	log_textarea = new JTextArea();
 	log_scroll = new JScrollPane(log_textarea);
-
+        
 	// Create components
 	card_layout = new CardLayout();
 	// Control Pane
 	control_pane = new JPanel();
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
 	tree = new OptionTree();
+        tree.setComponentOrientation(Dictionary.getOrientation());
 	button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 
 	// Progress Pane
 	progress_pane = new JPanel(); // One owner of the bar component
+        progress_pane.setComponentOrientation(Dictionary.getOrientation());
 	bar_area = new JPanel(); // This component will be shared about
+        bar_area.setComponentOrientation(Dictionary.getOrientation());
 
 	progress_import_label = new JLabel(Dictionary.get("CreatePane.Import_Progress"));
-	
+	progress_import_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	import_monitor = new GImportProgressMonitor();
 	Gatherer.c_man.registerImportMonitor(import_monitor);
 
 	progress_build_label = new JLabel(Dictionary.get("CreatePane.Build_Progress"));
-	
+	progress_build_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	build_monitor = new GBuildProgressMonitor(import_monitor.getSharedProgress());
 	Gatherer.c_man.registerBuildMonitor(build_monitor);
@@ -190,13 +198,21 @@
 	sbutton_panel = new JPanel();
 	sinner_panel = new JPanel();
-
+        
+        slower_panel.setComponentOrientation(Dictionary.getOrientation());
+        sbutton_panel.setComponentOrientation(Dictionary.getOrientation());
+        sinner_panel.setComponentOrientation(Dictionary.getOrientation());
+        
 	//Radio buttons
 	incremental_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Minimal_Build"));
+        incremental_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	incremental_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Minimal_Build_Tooltip"));
 	full_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Full_Build"));
+        full_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	full_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Full_Build_Tooltip"));
 	sincremental_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Minimal_Build"));
+        sincremental_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	sincremental_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Minimal_Build_Tooltip"));
 	sfull_build_radio_button = new JRadioButton(Dictionary.get("CreatePane.Full_Build"));
+        sfull_build_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	sfull_build_radio_button.setToolTipText(Dictionary.get("CreatePane.Full_Build_Tooltip"));
 
@@ -269,7 +285,9 @@
 	sbuild_type_group.add(sfull_build_radio_button);
 	JPanel build_type_pane = new JPanel(new GridLayout(2,1));
+        build_type_pane.setComponentOrientation(Dictionary.getOrientation());
 	build_type_pane.add(full_build_radio_button);
 	build_type_pane.add(incremental_build_radio_button);
 	JPanel sbuild_type_pane = new JPanel(new GridLayout(2,1));
+        sbuild_type_pane.setComponentOrientation(Dictionary.getOrientation());
 	sbuild_type_pane.add(sfull_build_radio_button);
 	sbuild_type_pane.add(sincremental_build_radio_button);
@@ -279,4 +297,5 @@
 	// Build control_pane
 	JPanel left = new JPanel();
+        left.setComponentOrientation(Dictionary.getOrientation());
 	left.setBorder(BorderFactory.createEmptyBorder(0,5,5,5));
 	left.setLayout(new BorderLayout());
@@ -286,14 +305,17 @@
 
 	right = new JPanel();
+        right.setComponentOrientation(Dictionary.getOrientation());
 	right.setBorder(BorderFactory.createEmptyBorder(0,0,5,5));
 	right.setLayout(new BorderLayout());
 
 	JPanel options_area = new JPanel();
+        options_area.setComponentOrientation(Dictionary.getOrientation());
 	options_area.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5), BorderFactory.createTitledBorder(Dictionary.get("CreatePane.Options_Title"))));
 	options_area.setLayout(new BorderLayout());
-	options_area.add(left, BorderLayout.WEST);
+	options_area.add(left, BorderLayout.LINE_START);
 	options_area.add(right, BorderLayout.CENTER);
 
 	button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.setBorder(BorderFactory.createEmptyBorder(5,10,10,10));
 	button_pane.setLayout(new GridLayout(1,4));
@@ -308,4 +330,5 @@
 	// Build progress_pane
 	JPanel labels_pane = new JPanel();
+        labels_pane.setComponentOrientation(Dictionary.getOrientation());
 	labels_pane.setLayout(new GridLayout(2,1,0,5));
 	labels_pane.add(progress_import_label);
@@ -313,4 +336,5 @@
 
 	JPanel monitors_pane = new JPanel();
+        monitors_pane.setComponentOrientation(Dictionary.getOrientation());
 	monitors_pane.setLayout(new GridLayout(2,1,0,5));
 	monitors_pane.add(import_monitor.getProgress());
@@ -319,5 +343,5 @@
 	bar_area.setBorder(BorderFactory.createEmptyBorder(10,10,5,10));
 	bar_area.setLayout(new BorderLayout(5,5));
-	bar_area.add(labels_pane, BorderLayout.WEST);
+	bar_area.add(labels_pane, BorderLayout.LINE_START);
 	bar_area.add(monitors_pane, BorderLayout.CENTER);
 
@@ -337,4 +361,5 @@
 
 	JPanel simple_bar_area = new JPanel(new GridLayout(2,1));
+        simple_bar_area.setComponentOrientation(Dictionary.getOrientation());
 	simple_bar_area.setBorder(BorderFactory.createEmptyBorder(0,5,0,0));
 	simple_bar_area.add(import_monitor.getSharedProgress());
@@ -343,5 +368,5 @@
 	sinner_panel.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
 	sinner_panel.setLayout(new BorderLayout());
-	sinner_panel.add(sbuild_type_pane, BorderLayout.WEST);
+	sinner_panel.add(sbuild_type_pane, BorderLayout.LINE_START);
 	//sinner_panel.add(full_build_radio_button, BorderLayout.WEST);
 	sinner_panel.add(simple_bar_area, BorderLayout.CENTER);
@@ -354,7 +379,9 @@
 	    sargument_configuration_panel = new JPanel();
 	}
+        sargument_configuration_panel.setComponentOrientation(Dictionary.getOrientation());
 	sargument_configuration_scroll = new JScrollPane(sargument_configuration_panel);
 	sargument_configuration_scroll.setPreferredSize(ARGUMENT_SIZE);
-	
+        sargument_configuration_scroll.setComponentOrientation(Dictionary.getOrientation());
+        
 	slower_panel.setLayout(new BorderLayout());
 	slower_panel.add(sinner_panel, BorderLayout.NORTH);
@@ -364,6 +391,8 @@
 	
 	simple_panel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, sargument_configuration_scroll, slower_panel);
+        simple_panel.setComponentOrientation(Dictionary.getOrientation());
 	// Main pane
 	main_pane = new JPanel(card_layout);
+        main_pane.setComponentOrientation(Dictionary.getOrientation());
 	if(current_mode < THRESHOLD) { // Simple mode - add first
 	    main_pane.add(simple_panel, SIMPLE);
@@ -474,4 +503,6 @@
 	    }
 	    sargument_configuration_scroll = new JScrollPane(sargument_configuration_panel);
+            sargument_configuration_panel.setComponentOrientation(Dictionary.getOrientation());
+            sargument_configuration_scroll.setComponentOrientation(Dictionary.getOrientation());
 	    sargument_configuration_scroll.setPreferredSize(ARGUMENT_SIZE);
 	    simple_panel.setTopComponent(sargument_configuration_scroll);
@@ -590,4 +621,5 @@
 	    sargument_configuration_panel = options_pane.buildBuild(sargument_configuration_panel);
 	    sargument_configuration_scroll = new JScrollPane(sargument_configuration_panel);
+            sargument_configuration_scroll.setComponentOrientation(Dictionary.getOrientation());
 	    sargument_configuration_scroll.setPreferredSize(ARGUMENT_SIZE);
 	    simple_panel.setTopComponent(sargument_configuration_scroll);
@@ -748,5 +780,5 @@
 	public OptionTree() {
 	    super();
-
+            this.setComponentOrientation(Dictionary.getOrientation());
 	    ToolTipManager.sharedInstance().registerComponent(this);
 	    addTreeSelectionListener(this);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/CreateShortcutPrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/CreateShortcutPrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/CreateShortcutPrompt.java	(revision 18297)
@@ -53,5 +53,5 @@
     {
 	super(Gatherer.g_man);
-
+        this.setComponentOrientation(Dictionary.getOrientation());
 	setModal(true);
 	setSize(DIALOG_SIZE);
@@ -60,15 +60,24 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel center_pane = new JPanel();
+        center_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel labels_pane = new JPanel();
+        labels_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel fields_pane = new JPanel();
+        fields_pane.setComponentOrientation(Dictionary.getOrientation());
 
 	JLabel file_label = new JLabel(Dictionary.get("MappingPrompt.File"));
-	JLabel file_field = new JLabel(file.getAbsolutePath());
-
+	file_label.setComponentOrientation(Dictionary.getOrientation());
+        JLabel file_field = new JLabel(file.getAbsolutePath());
+        file_field.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel name_label = new JLabel(Dictionary.get("MappingPrompt.Name"));
-	name_field = new JTextField(file.getName());
-
+	name_label.setComponentOrientation(Dictionary.getOrientation());                
+        name_field = new JTextField(file.getName());
+        name_field.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
 	ok_button.setEnabled(name_field.getText().length() > 0);
@@ -91,5 +100,5 @@
 	center_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
 	center_pane.setLayout(new BorderLayout(5,0));
-	center_pane.add(labels_pane, BorderLayout.WEST);
+	center_pane.add(labels_pane, BorderLayout.LINE_START);
 	center_pane.add(fields_pane, BorderLayout.CENTER);
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DeleteCollectionPrompt.java	(revision 18297)
@@ -92,13 +92,18 @@
 	super(Gatherer.g_man);
 	close_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
-	
+	this.setComponentOrientation(Dictionary.getOrientation());
 	confirmation = new JCheckBox(Dictionary.get("DeleteCollectionPrompt.Confirm_Delete"));
-	details = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+	confirmation.setComponentOrientation(Dictionary.getOrientation());
+        details = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
+        details.setComponentOrientation(Dictionary.getOrientation());
 	details.setEditable(false);
 	details_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_Details"));
-
+        details_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	list = new JList();
+        list.setComponentOrientation(Dictionary.getOrientation());
 	list_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_List"));
-	
+	list_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	list_model = new DefaultListModel();
 	ok_button = new GLIButton(Dictionary.get("DeleteCollectionPrompt.Delete"), Dictionary.get("DeleteCollectionPrompt.Delete_Tooltip"));
@@ -107,6 +112,6 @@
 	setModal(true);
 	setSize(SIZE);
-	setTitle(Dictionary.get("DeleteCollectionPrompt.Title"));
-	
+	setTitle(Dictionary.get("DeleteCollectionPrompt.Title"));	        
+        
 	setJMenuBar(new SimpleMenuBar("deletingcollections")); 
 	close_button.addActionListener(new CloseButtonListener());
@@ -121,4 +126,5 @@
 	ok_button.setEnabled(false);
 	scanForCollections();
+        
     }
 
@@ -140,15 +146,23 @@
     public boolean display() {
 	// Central pane
+        JScrollPane scrol_tmp;
 	JPanel list_pane = new JPanel(new BorderLayout());
+        list_pane.setComponentOrientation(Dictionary.getOrientation());
 	list_pane.add(list_label, BorderLayout.NORTH);
-	list_pane.add(new JScrollPane(list), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(scrol_tmp, BorderLayout.CENTER);
 	list_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
 
 	JPanel details_pane = new JPanel(new BorderLayout());
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
 	details_pane.add(details_label, BorderLayout.NORTH);
-	details_pane.add(new JScrollPane(details), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(details);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(scrol_tmp, BorderLayout.CENTER);
 	details_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
 
 	JPanel central_pane = new JPanel(new GridLayout(2, 1));
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
 	central_pane.add(list_pane);
 	central_pane.add(details_pane);
@@ -157,8 +171,10 @@
 	// Lower pane
 	JPanel confirmation_pane = new JPanel(new BorderLayout());
+        confirmation_pane.setComponentOrientation(Dictionary.getOrientation());
 	confirmation_pane.add(confirmation, BorderLayout.CENTER);
 	confirmation_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
 
 	JPanel button_pane = new JPanel(new GridLayout(1, 2));
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.add(ok_button);
 	button_pane.add(close_button);
@@ -166,4 +182,5 @@
 
 	JPanel lower_pane = new JPanel(new BorderLayout());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
 	lower_pane.add(confirmation_pane, BorderLayout.NORTH);
 	lower_pane.add(button_pane, BorderLayout.SOUTH);
@@ -172,4 +189,5 @@
 	// Final.
 	JPanel content_pane = (JPanel)this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setLayout(new BorderLayout());
 	content_pane.add(central_pane, BorderLayout.CENTER);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DesignPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DesignPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DesignPane.java	(revision 18297)
@@ -37,4 +37,5 @@
 package org.greenstone.gatherer.gui;
 
+import org.greenstone.gatherer.Dictionary;
 import org.greenstone.gatherer.cdm.CollectionDesignManager;
 import org.greenstone.gatherer.cdm.Control;
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DesignPaneHeader.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DesignPaneHeader.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DesignPaneHeader.java	(revision 18297)
@@ -55,6 +55,8 @@
     public DesignPaneHeader(String label_key, String help_key)
     {
+        this.setComponentOrientation(Dictionary.getOrientation());
 	JLabel title_label = new JLabel("<HTML><STRONG><FONT FACE={FONT} COLOR=Black SIZE=5>" + Dictionary.get(label_key) + "</FONT></STRONG></HTML>");
-
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel title_pane = new JPanel();
 	title_pane.setBorder(BorderFactory.createEmptyBorder(0,0,0,5));
@@ -62,5 +64,6 @@
 	title_pane.add(title_label, BorderLayout.CENTER);
 	title_pane.add(new JSeparator(), BorderLayout.SOUTH);
-
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	GLIButton help_button = new GLIButton(Dictionary.get("CDM.HelpButton"), Dictionary.get("CDM.HelpButton_Tooltip"));
 	this.help_key_name = help_key;
@@ -75,5 +78,5 @@
 	setLayout(new BorderLayout());
 	add(title_pane, BorderLayout.CENTER);
-	add(help_button, BorderLayout.EAST);
+	add(help_button, BorderLayout.LINE_END);
     }
 }
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DownloadPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DownloadPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/DownloadPane.java	(revision 18297)
@@ -93,10 +93,11 @@
     public DownloadPane() {
 	super();
-
+        JScrollPane scrol_tmp;
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// TODO: Download the WDownload and the download panel fixed!!
         getter = new DownloadScrollPane();
         getter.start();
-	list_scroll = getter.getDownloadJobList();
-
+	list_scroll = getter.getDownloadJobList();      
+        list_scroll.setComponentOrientation(Dictionary.getOrientation());
 	// TODO should use Vector to store all loaded downloads!!
 	String lang = Configuration.getLanguage();
@@ -110,6 +111,7 @@
 	// Creation
 	tree = new DesignTree();
+        tree.setComponentOrientation(Dictionary.getOrientation());
 	options_pane = new JPanel();
-
+        options_pane.setComponentOrientation(Dictionary.getOrientation());
 	
 	JButton clear_cache_button = new GLIButton(Dictionary.get("Mirroring.ClearCache"), Dictionary.get("Mirroring.ClearCache_Tooltip"));
@@ -139,4 +141,5 @@
 	// Add to Panel
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.setLayout(new FlowLayout(FlowLayout.CENTER,20,5));
 	button_pane.setBorder(BorderFactory.createEtchedBorder());
@@ -147,6 +150,9 @@
 
 	JPanel tree_pane = new JPanel();
+        tree_pane.setComponentOrientation(Dictionary.getOrientation());
 	tree_pane.setLayout(new BorderLayout());
-       	tree_pane.add(new JScrollPane(tree), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(tree);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+       	tree_pane.add(scrol_tmp, BorderLayout.CENTER);
 	tree_pane.setPreferredSize(TREE_SIZE);
  
@@ -158,11 +164,21 @@
 
 	JScrollPane options_scroll_pane = new JScrollPane(options_pane);
+        options_scroll_pane.setComponentOrientation(Dictionary.getOrientation());
 	JSplitPane mode_pane = new JSplitPane();
+        mode_pane.setComponentOrientation(Dictionary.getOrientation());
 	mode_pane.setBorder(BorderFactory.createEmptyBorder(0,0,0,0));
-	mode_pane.add(tree_pane,JSplitPane.LEFT);
-	mode_pane.add(options_scroll_pane,JSplitPane.RIGHT);
-	mode_pane.setDividerLocation(TREE_SIZE.width);
+        if (Dictionary.getOrientation().isLeftToRight()){
+            mode_pane.add(tree_pane,JSplitPane.LEFT);
+            mode_pane.add(options_scroll_pane,JSplitPane.RIGHT); 
+            mode_pane.setDividerLocation(TREE_SIZE.width);
+        }else{
+            mode_pane.add(tree_pane,JSplitPane.RIGHT);
+            mode_pane.add(options_scroll_pane,JSplitPane.LEFT);
+            mode_pane.setDividerLocation(1);
+        }
+		
     
 	JPanel edit_pane = new JPanel();
+        edit_pane.setComponentOrientation(Dictionary.getOrientation());
 	edit_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(2,0,0,0), BorderFactory.createCompoundBorder(BorderFactory.createTitledBorder("Download Setting"), BorderFactory.createEmptyBorder(2,2,2,2))));
 	edit_pane.setLayout(new BorderLayout());
@@ -188,9 +204,12 @@
     private void addHeader(String name, Color color, JPanel target_pane) {
 	JPanel header = new JPanel();
+        header.setComponentOrientation(Dictionary.getOrientation());
 	header.setBackground(color);
 	JPanel inner_pane = new JPanel();
+        inner_pane.setComponentOrientation(Dictionary.getOrientation());
 	inner_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(5,5,5,5), BorderFactory.createRaisedBevelBorder()));
 	inner_pane.setBackground(color);
 	JLabel header_label = new JLabel("<html><strong>" + name + "</strong></html>");
+        header_label.setComponentOrientation(Dictionary.getOrientation());
 	header_label.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
 	header_label.setHorizontalAlignment(JLabel.CENTER);
@@ -353,5 +372,5 @@
     /** Behaviour Functions */
     public void afterDisplay() {
-	ready = true;
+	ready = true;        
     }
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EditorDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EditorDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EditorDialog.java	(revision 18297)
@@ -67,4 +67,5 @@
     public EditorDialog() {
 	super(Gatherer.g_man);
+        this.setComponentOrientation(Dictionary.getOrientation());
     }
 
@@ -94,4 +95,5 @@
 	// Create
 	text = new JTextArea(value);
+        text.setComponentOrientation(Dictionary.getOrientation());
 	text.setCaretPosition(value.length());
 	text.setEditable(editable);
@@ -115,4 +117,5 @@
 	// Layout
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.setLayout(new GridLayout(1,2));
 	if(editable) {
@@ -126,6 +129,10 @@
 		  
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setLayout(new BorderLayout());
-	content_pane.add(new JScrollPane(text), BorderLayout.CENTER);
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(text);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.CENTER);
 	content_pane.add(button_pane, BorderLayout.SOUTH);
 		  
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EmailField.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EmailField.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EmailField.java	(revision 18297)
@@ -6,4 +6,5 @@
 import javax.swing.event.*;
 import javax.swing.text.*;
+import org.greenstone.gatherer.Dictionary;
 
 public class EmailField
@@ -19,4 +20,5 @@
     public EmailField(Color invalid_background) {
 	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
 	this.invalid_background = invalid_background;
     }
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EnrichPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EnrichPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/EnrichPane.java	(revision 18297)
@@ -83,10 +83,11 @@
     public EnrichPane()
     {
-	// Create the metadata value tree pane
-	metadata_value_tree_pane = new MetadataValueTreePane();
+	this.setComponentOrientation(Dictionary.getOrientation());
+        // Create the metadata value tree pane
+	metadata_value_tree_pane = new MetadataValueTreePane();        
 	metadata_value_tree_pane.addMetadataValueTreeSelectionListener(new MetadataValueTreeSelectionListener());
 
 	// Create metadata value table pane
-	metadata_value_table_pane = new MetadataValueTablePane();
+	metadata_value_table_pane = new MetadataValueTablePane();      
 	metadata_value_table_pane.addMetadataValueTableListSelectionListener(new MetadataValueTableListSelectionListener());
 	metadata_value_table_pane.addMetadataValueTableMouseListener(new MetadataValueTableMouseListener());
@@ -100,5 +101,9 @@
     public void afterDisplay()
     {
-	external_split.setDividerLocation(0.3);
+        if (Dictionary.getOrientation().isLeftToRight()){
+            external_split.setDividerLocation(0.3);
+        }else{
+            external_split.setDividerLocation(0.7);
+        }
     }
 
@@ -112,4 +117,5 @@
     {
 	JPanel left_hand_pane = new JPanel(new BorderLayout());
+        left_hand_pane.setComponentOrientation(Dictionary.getOrientation());
 	GLIButton metadata_set_button = new GLIButton(Dictionary.get("EnrichPane.ManageMetadataSets"), Dictionary.get("EnrichPane.ManageMetadataSets_Tooltip"));
 	metadata_set_button.addActionListener(new ActionListener() {
@@ -124,22 +130,24 @@
 	// Collection Tree
 	collection_pane = new JPanel(new BorderLayout());
+     //   collection_pane.setComponentOrientation(Dictionary.getOrientation());
 	collection_pane.setMinimumSize(MINIMUM_SIZE);
 	collection_pane.setPreferredSize(COLLECTION_TREE_SIZE);
 
 	collection_label = new JLabel(Dictionary.get("Collection.No_Collection"));
+        collection_label.setComponentOrientation(Dictionary.getOrientation());
 	collection_label.setOpaque(true);
 
 	collection_tree = Gatherer.c_man.getCollectionTree();
 	collection_tree.getSelectionModel().setSelectionMode(TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION);
-	collection_tree.addTreeSelectionListener(this);
+	collection_tree.addTreeSelectionListener(this); 
+        collection_tree.setComponentOrientation(Dictionary.getOrientation());
 	collection_filter = collection_tree.getFilter();
-
 	external_split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
-
+        external_split.setComponentOrientation(Dictionary.getOrientation());
 	// Layout
 	collection_pane.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createEmptyBorder(3,3,3,3), BorderFactory.createLoweredBevelBorder()));
 	collection_pane.setMinimumSize(MINIMUM_SIZE);
 	collection_pane.setPreferredSize(new Dimension(Gatherer.g_man.getSize().width / 3, Gatherer.g_man.getSize().height));
-
+        collection_pane.setComponentOrientation(Dictionary.getOrientation());
 	// Collection Pane
 	collection_pane.add(collection_label, BorderLayout.NORTH);
@@ -148,5 +156,6 @@
 	metadata_editing_pane.setBorder(BorderFactory.createEmptyBorder(0,5,5,5));
 	metadata_editing_pane.setDividerSize(8);
-
+        metadata_editing_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	metadata_editing_pane.add(metadata_value_table_pane, JSplitPane.TOP);
 	metadata_editing_pane.add(metadata_value_tree_pane, JSplitPane.BOTTOM);
@@ -155,6 +164,11 @@
 	left_hand_pane.add(collection_pane, BorderLayout.CENTER);
 	left_hand_pane.add(metadata_set_button, BorderLayout.SOUTH);
-	external_split.add(left_hand_pane, JSplitPane.LEFT);
-	external_split.add(metadata_editing_pane, JSplitPane.RIGHT);
+        if (Dictionary.getOrientation().isLeftToRight()){
+            external_split.add(left_hand_pane, JSplitPane.LEFT);
+            external_split.add(metadata_editing_pane, JSplitPane.RIGHT);
+        }else{
+            external_split.add(left_hand_pane, JSplitPane.RIGHT);
+            external_split.add(metadata_editing_pane, JSplitPane.LEFT);
+        }
 
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ExplodeMetadataDatabasePrompt.java	(revision 18297)
@@ -87,5 +87,5 @@
 	this.self = this;
 	this.metadata_file = source_file;
-
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// check that we actually have an explodable file
 	ArrayList exp_plugins = CollectionDesignManager.plugin_manager.getExploderPlugins(source_file);
@@ -107,12 +107,16 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setOpaque(true);
 	
 	options_pane = new JPanel();
+        options_pane.setComponentOrientation(Dictionary.getOrientation());
 	addScriptOptions(options_pane);
 	JScrollPane middle_pane = new JScrollPane(options_pane);
-
+        middle_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JTextArea instructions_area = new JTextArea(Dictionary.get("ExplodeMetadataPrompt.Instructions"));
-	instructions_area.setEditable(false);
+	instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        instructions_area.setEditable(false);
 	instructions_area.setLineWrap(true);
 	instructions_area.setRows(5);
@@ -120,5 +124,6 @@
 	
 	JPanel button_pane = new JPanel();
-	JButton explode_button = new GLIButton(Dictionary.get("ExplodeMetadataPrompt.Explode"), Dictionary.get("ExplodeMetadataPrompt.Explode_Tooltip"));
+	button_pane.setComponentOrientation(Dictionary.getOrientation());
+        JButton explode_button = new GLIButton(Dictionary.get("ExplodeMetadataPrompt.Explode"), Dictionary.get("ExplodeMetadataPrompt.Explode_Tooltip"));
 	JButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
 	
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ExportAsPrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ExportAsPrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ExportAsPrompt.java	(revision 18297)
@@ -155,5 +155,5 @@
     public ExportAsPrompt() {
 	super(Gatherer.g_man, true);
-	
+	this.setComponentOrientation(Dictionary.getOrientation());
 	plugoutMap.clear();         
 	plugoutMap.put("DSpace","dublin-core.xml");
@@ -166,5 +166,6 @@
 	details_textarea = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
 	details_textarea.setEditable(false);
-	
+	details_textarea.setComponentOrientation(Dictionary.getOrientation());
+        
 	details_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_Details"));
 	
@@ -176,5 +177,5 @@
 	instructions_textarea.setRows(4);
 	instructions_textarea.setWrapStyleWord(true);
-	
+	instructions_textarea.setComponentOrientation(Dictionary.getOrientation());
              
         // Save As
@@ -183,4 +184,5 @@
         saveas_label = new JLabel(Dictionary.get("ExportAsPrompt.SaveAs")
 );
+        saveas_label.setComponentOrientation(Dictionary.getOrientation());
         //saveas_label.setPreferredSize(LABEL_SIZE);
         
@@ -188,5 +190,5 @@
 	saveas_combobox.setOpaque(false);
 	saveas_combobox.setToolTipText(Dictionary.get("ExportAsPrompt.SaveAs_Tooltip"));
-        
+        saveas_combobox.setComponentOrientation(Dictionary.getOrientation());
 
 	// Add xml conversion feature
@@ -203,10 +205,12 @@
         convert_xml_checkbox1.setText(Dictionary.get("ExportAsPrompt.ApplyXSL","doc.xml"));
         convert_xml_checkbox1.setToolTipText(Dictionary.get("ExportAsPrompt.ApplyXSL_Tooltip"));
+        convert_xml_checkbox1.setComponentOrientation(Dictionary.getOrientation());
         
 	convert_xml_checkbox2 = new JCheckBox();
         convert_xml_checkbox2.setToolTipText(Dictionary.get("ExportAsPrompt.ApplyXSL_Tooltip"));
-
-
+        convert_xml_checkbox2.setComponentOrientation(Dictionary.getOrientation());
+        
         output_single_checkbox = new JCheckBox();
+        output_single_checkbox.setComponentOrientation(Dictionary.getOrientation());
 	output_single_checkbox.setText(Dictionary.get("ExportAsPrompt.MARCXMLGroup"));
         output_single_checkbox.setToolTipText(Dictionary.get("ExportAsPrompt.MARCXMLGroup_Tooltip"));
@@ -214,30 +218,40 @@
 
         mapping_xml_checkbox = new JCheckBox();
+        mapping_xml_checkbox.setComponentOrientation(Dictionary.getOrientation());
 	mapping_xml_checkbox.setText(Dictionary.get("ExportAsPrompt.MappingXML"));
         mapping_xml_checkbox.setToolTipText(Dictionary.get("ExportAsPrompt.MappingXML_Tooltip"));
 
-
         convert_xml_field1 = new JTextField();
+        convert_xml_field1.setComponentOrientation(Dictionary.getOrientation());
 	convert_xml_field2 = new JTextField();
+        convert_xml_field2.setComponentOrientation(Dictionary.getOrientation());
 	mapping_xml_field = new JTextField();
+        mapping_xml_field.setComponentOrientation(Dictionary.getOrientation());
 
         convert_xml_pane1 = new JPanel(new BorderLayout());
-	
+	convert_xml_pane1.setComponentOrientation(Dictionary.getOrientation());                
+        
 	convert_xml_pane2 = new JPanel(new BorderLayout());
-
+        convert_xml_pane2.setComponentOrientation(Dictionary.getOrientation());
+        
 	mapping_xml_pane = new JPanel(new BorderLayout());
-
+        mapping_xml_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	convert_xml_pane = new JPanel(new GridLayout(3,1));
-
+        convert_xml_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	all_collections = new ArrayList();
 	list = new CheckList(true);
 	list_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_List"));
-	
+	list_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	ok_button = new GLIButton(Dictionary.get("ExportAsPrompt.Export"), Dictionary.get("ExportAsPrompt.Export_Tooltip"));
 	
 	title_field = new JTextField();
+        title_field.setComponentOrientation(Dictionary.getOrientation());
 	title_field.setToolTipText(Dictionary.get("ExportAsPrompt.Export_Name_Tooltip"));
 	title_label = new JLabel(Dictionary.get("ExportAsPrompt.Export_Name"));
-
+        title_label.setComponentOrientation(Dictionary.getOrientation());
+        
         folder_button = new GLIButton(Dictionary.get("ExportAsPrompt.Browse"),Dictionary.get("ExportAsPrompt.Browse_Tooltip"));
 	folder_button.addActionListener(new FolderButtonListener());
@@ -296,15 +310,20 @@
      * returns true if it has exported the collections that are currently selected */
     public boolean display() {
+        JScrollPane scrol_tmp;
 	// Top pane
 	instructions_pane = new JPanel(new BorderLayout());
-	instructions_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,5));
-	instructions_pane.add(new JScrollPane(instructions_textarea), BorderLayout.CENTER);
+        instructions_pane.setComponentOrientation(Dictionary.getOrientation());
+        instructions_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,5));
+        scrol_tmp = new JScrollPane(instructions_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+        instructions_pane.add(scrol_tmp, BorderLayout.CENTER);
 	
 	title_label.setBorder(BorderFactory.createEmptyBorder(0,5,0,15));
 
 	JPanel title_pane = new JPanel(new BorderLayout());
-	title_pane.add(title_label, BorderLayout.WEST);
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+	title_pane.add(title_label, BorderLayout.LINE_START);
 	title_pane.add(title_field, BorderLayout.CENTER);
-        title_pane.add(folder_button, BorderLayout.EAST);
+        title_pane.add(folder_button, BorderLayout.LINE_END);
         //apply xsl pane
           
@@ -314,15 +333,15 @@
 	convert_xml_pane.removeAll();
 
-	convert_xml_pane1.add(convert_xml_checkbox1, BorderLayout.WEST);
+	convert_xml_pane1.add(convert_xml_checkbox1, BorderLayout.LINE_START);
 	convert_xml_pane1.add(convert_xml_field1, BorderLayout.CENTER);
-	convert_xml_pane1.add(convert_xml_button1, BorderLayout.EAST);
-
-	convert_xml_pane2.add(convert_xml_checkbox2, BorderLayout.WEST);
+	convert_xml_pane1.add(convert_xml_button1, BorderLayout.LINE_END);
+
+	convert_xml_pane2.add(convert_xml_checkbox2, BorderLayout.LINE_START);
 	convert_xml_pane2.add(convert_xml_field2, BorderLayout.CENTER);
-	convert_xml_pane2.add(convert_xml_button2, BorderLayout.EAST);
+	convert_xml_pane2.add(convert_xml_button2, BorderLayout.LINE_END);
       
-	mapping_xml_pane.add(mapping_xml_checkbox, BorderLayout.WEST);
+	mapping_xml_pane.add(mapping_xml_checkbox, BorderLayout.LINE_START);
 	mapping_xml_pane.add(mapping_xml_field, BorderLayout.CENTER);
-	mapping_xml_pane.add(convert_xml_button3, BorderLayout.EAST);
+	mapping_xml_pane.add(convert_xml_button3, BorderLayout.LINE_END);
 
 	convert_xml_pane.add(convert_xml_pane1);
@@ -343,9 +362,11 @@
         // Save as pane
 	JPanel saveas_pane = new JPanel(new BorderLayout());
+        saveas_pane.setComponentOrientation(Dictionary.getOrientation());
 	saveas_label.setBorder(BorderFactory.createEmptyBorder(0,5,0,15));
-	saveas_pane.add(saveas_label, BorderLayout.WEST);
+	saveas_pane.add(saveas_label, BorderLayout.LINE_START);
 	saveas_pane.add(saveas_combobox, BorderLayout.CENTER);
 
         JPanel tmp_pane = new JPanel(new BorderLayout());
+        tmp_pane.setComponentOrientation(Dictionary.getOrientation());
         tmp_pane.add(saveas_pane, BorderLayout.NORTH);
 	tmp_pane.add(title_pane, BorderLayout.CENTER);
@@ -357,14 +378,21 @@
 	// Central pane
 	JPanel list_pane = new JPanel(new BorderLayout());
+        list_pane.setComponentOrientation(Dictionary.getOrientation());
 	list_pane.add(list_label, BorderLayout.NORTH);
-	list_pane.add(new JScrollPane(list), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(scrol_tmp, BorderLayout.CENTER);
 	list_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
 
 	JPanel details_pane = new JPanel(new BorderLayout());
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
 	details_pane.add(details_label, BorderLayout.NORTH);
-	details_pane.add(new JScrollPane(details_textarea), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(details_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(scrol_tmp, BorderLayout.CENTER);
 	details_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
 
 	JPanel central_pane = new JPanel(new GridLayout(2, 1));
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
 	central_pane.add(list_pane);
 	central_pane.add(details_pane);
@@ -373,4 +401,5 @@
 	// Lower pane
 	JPanel button_pane = new JPanel(new GridLayout(1, 2));
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.add(ok_button);
 	button_pane.add(cancel_button);
@@ -378,4 +407,5 @@
 
 	JPanel lower_pane = new JPanel(new BorderLayout());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
 	lower_pane.add(button_pane, BorderLayout.SOUTH);
 	lower_pane.setBorder(BorderFactory.createEmptyBorder(0, 5, 5, 5));
@@ -383,4 +413,5 @@
 	// Final.
 	JPanel content_pane = (JPanel)this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setLayout(new BorderLayout());
 	content_pane.add(instructions_pane, BorderLayout.NORTH);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/FileAssociationDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/FileAssociationDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/FileAssociationDialog.java	(revision 18297)
@@ -81,5 +81,5 @@
 	this.file_association_manager = file_association_manager;
 	this.self = this;
-		  
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// Creation
 	setModal(true);
@@ -109,5 +109,5 @@
 	extension_field = new NonWhitespaceField();
 	extension_field.setToolTipText(Dictionary.get("FileAssociationDialog.Extension_Tooltip"));
-
+                
 	JLabel command_label = new JLabel(Dictionary.get("FileAssociationDialog.Command"));
 	JPanel command_pane = new JPanel();
@@ -123,6 +123,6 @@
 
 
-	JPanel button_pane = new JPanel();
-	
+	JPanel button_pane = new JPanel();       
+        
 	add_button = new GLIButton(Dictionary.get("FileAssociationDialog.Add"), Dictionary.get("FileAssociationDialog.Add_Tooltip"));
 	add_button.setEnabled(false);
@@ -151,5 +151,5 @@
 	extension_pane.setBorder(BorderFactory.createEmptyBorder(2,0,2,0));
 	extension_pane.setLayout(new BorderLayout(5,0));
-	extension_pane.add(extension_label, BorderLayout.WEST);
+	extension_pane.add(extension_label, BorderLayout.LINE_START);
 	extension_pane.add(extension_field, BorderLayout.CENTER);
 
@@ -157,5 +157,5 @@
 	command_pane.setLayout(new BorderLayout());
 	command_pane.add(command_field, BorderLayout.CENTER);
-	command_pane.add(browse_button, BorderLayout.EAST);
+	command_pane.add(browse_button, BorderLayout.LINE_END);
 
 	details_pane.setBorder(BorderFactory.createTitledBorder(Dictionary.get("FileAssociationDialog.Details")));
@@ -181,10 +181,15 @@
 	control_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
 	control_pane.setLayout(new BorderLayout());
-	control_pane.add(new JScrollPane(existing_associations_table), BorderLayout.CENTER);
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(existing_associations_table);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	control_pane.add(scrol_tmp, BorderLayout.CENTER);
 	control_pane.add(lower_pane, BorderLayout.SOUTH);
 
 	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	content_pane.setLayout(new BorderLayout());
-	content_pane.add(new JScrollPane(instructions_area), BorderLayout.NORTH);
+        scrol_tmp = new JScrollPane(instructions_area);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.NORTH);
 	content_pane.add(control_pane, BorderLayout.CENTER);
 
@@ -192,4 +197,18 @@
 	setLocation((int)(screen.getX() + (screen.getWidth() - SIZE.width) / 2), (int)(screen.getY() + (screen.getHeight() - SIZE.height) / 2));
 	screen = null;
+        
+        //RTL
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
+        existing_associations_table.setComponentOrientation(Dictionary.getOrientation());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
+        details_pane.setComponentOrientation(Dictionary.getOrientation());
+        extension_pane.setComponentOrientation(Dictionary.getOrientation());
+        extension_label.setComponentOrientation(Dictionary.getOrientation());
+        extension_field.setComponentOrientation(Dictionary.getOrientation());
+        command_label.setComponentOrientation(Dictionary.getOrientation());
+        command_pane.setComponentOrientation(Dictionary.getOrientation());
+        //end
     }
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/Filter.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/Filter.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/Filter.java	(revision 18297)
@@ -89,4 +89,5 @@
     public Filter(DragTree tree, ArrayList others) {
 	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
 	if (others == null) {
 	    others = new ArrayList();
@@ -114,4 +115,6 @@
 	}
 	label = new JLabel(Dictionary.get("Filter.Filter_Tree"));
+        label.setComponentOrientation(Dictionary.getOrientation());
+        label.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	combobox.setToolTipText(Dictionary.get("Collection.Filter_Tooltip"));
 	
@@ -123,5 +126,5 @@
 	setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
 	setLayout(new BorderLayout());
-	add(label, BorderLayout.WEST);
+	add(label, BorderLayout.LINE_START);
 	add(combobox, BorderLayout.CENTER);
     }
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/FormatPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/FormatPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/FormatPane.java	(revision 18297)
@@ -73,8 +73,11 @@
         }
         JPanel side_panel = new JPanel ();
+        side_panel.setComponentOrientation(Dictionary.getOrientation());
         side_panel.setLayout (new BorderLayout ());
         remove (tree_pane);
         side_panel.add (tree_pane, BorderLayout.CENTER);
         JPanel preview_pane = new JPanel ();
+        preview_pane.setComponentOrientation(Dictionary.getOrientation());
+        
         preview_pane.setLayout (new BorderLayout ());
         preview_pane.setBorder (BorderFactory.createEmptyBorder (5,0,0,0));
@@ -103,5 +106,5 @@
         side_panel.add (preview_pane, BorderLayout.SOUTH);
         
-        add (side_panel, BorderLayout.WEST);
+        add (side_panel, BorderLayout.LINE_START);
     }
     
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GComboBox.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GComboBox.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GComboBox.java	(revision 18297)
@@ -62,4 +62,5 @@
     public GComboBox() {
 	super();
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	init();
 	setOpaque(!Utility.isMac());
@@ -68,4 +69,5 @@
     public GComboBox(boolean editable) {
 	super();
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -76,4 +78,5 @@
     public GComboBox(ArrayList data) {
 	super(data.toArray());
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	init();
@@ -82,4 +85,5 @@
     public GComboBox(ArrayList data, boolean editable) {
 	super(data.toArray());
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -89,4 +93,5 @@
     public GComboBox(ArrayList data, boolean editable, boolean sorted) {
 	super(data.toArray());
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -97,4 +102,5 @@
     public GComboBox(ComboBoxModel model) {
 	super(model);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	init();
@@ -103,4 +109,5 @@
     public GComboBox(ComboBoxModel model, boolean editable) {
 	super(model);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -110,4 +117,5 @@
     public GComboBox(Object data[]) {
 	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	init();
@@ -116,4 +124,5 @@
     public GComboBox(Object data[], boolean editable) {
 	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -123,4 +132,5 @@
     public GComboBox(Object data[], boolean editable, boolean sorted) {
 	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -131,4 +141,5 @@
     public GComboBox(Vector data) {
 	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	init();
@@ -137,4 +148,5 @@
     public GComboBox(Vector data, boolean editable) {
 	super(data);
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	setOpaque(!Utility.isMac());
 	setEditable(editable);
@@ -320,4 +332,5 @@
 	    super("");
 	    this.setOpaque(true);
+            this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	}
 	public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GProgressBar.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GProgressBar.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GProgressBar.java	(revision 18297)
@@ -29,4 +29,5 @@
 
 import javax.swing.*;
+import org.greenstone.gatherer.Dictionary;
 
 
@@ -47,4 +48,5 @@
     {
 	super(0, 100);
+        this.setComponentOrientation(Dictionary.getOrientation());
     }
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GUIManager.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GUIManager.java	(revision 18297)
@@ -116,4 +116,5 @@
     public GUIManager(Dimension size) {
 	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// Initialization
 	this.help = new HelpFrame();
@@ -323,4 +324,6 @@
     public void display() {
 	content_pane = (JPanel) this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Enable window-type events to be fired.
 	enableEvents(AWTEvent.WINDOW_EVENT_MASK);
@@ -348,4 +351,5 @@
 	    // Create the menu-bar and stick it up the top.
 	    menu_bar = new MenuBar(new MenuListenerImpl());
+            menu_bar.setComponentOrientation(Dictionary.getOrientation());
 
 	    //feedback changes
@@ -357,4 +361,5 @@
 	    // expand to consume all available space like any good gas would.
 	    tab_pane = new JTabbedPane();
+            tab_pane.setComponentOrientation(Dictionary.getOrientation());
 	    tab_pane.addChangeListener(this);
 	    tab_pane.setFont(Configuration.getFont("general.font", false));
@@ -367,5 +372,5 @@
 	    }
 
-	    gather_pane = new GatherPane();
+	    gather_pane = new GatherPane();          
 	    gather_pane.display();
 	    if (Configuration.get("workflow.gather", true)) {
@@ -392,4 +397,5 @@
 
 	    create_pane = new CreatePane();
+            create_pane.setComponentOrientation(Dictionary.getOrientation());
 	    create_pane.display();
 	    if (Configuration.get("workflow.create", true)) {
@@ -400,4 +406,5 @@
 
 	    format_pane = new FormatPane();
+            format_pane.setComponentOrientation(Dictionary.getOrientation());
 	    format_pane.display();
 	    if (Configuration.get("workflow.format", true)) {
@@ -408,5 +415,5 @@
 	    // The MetaAuditFrame must be created after the gather/enrich panes but before they get focus
 	    meta_audit = new MetaAuditFrame();
-
+            meta_audit.setComponentOrientation(Dictionary.getOrientation());
 	    // Select the collect pane if it is available
 	    if (tab_pane.indexOfComponent(gather_pane) != -1) {
@@ -428,8 +435,10 @@
 	    if (Gatherer.isGsdlRemote) {
 		JPanel remote_greenstone_server_progress_panel = new JPanel();
+               //remote_greenstone_server_progress_panel.setComponentOrientation(Dictionary.getOrientation());
 		JLabel remote_greenstone_server_progress_label = new JLabel(Dictionary.get("RemoteGreenstoneServer.Progress"));
+                //remote_greenstone_server_progress_label.setComponentOrientation(Dictionary.getOrientation());
 		remote_greenstone_server_progress_panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 		remote_greenstone_server_progress_panel.setLayout(new BorderLayout());
-		remote_greenstone_server_progress_panel.add(remote_greenstone_server_progress_label, BorderLayout.WEST);
+		remote_greenstone_server_progress_panel.add(remote_greenstone_server_progress_label, BorderLayout.LINE_START);
 		remote_greenstone_server_progress_panel.add(RemoteGreenstoneServer.getProgressBar(), BorderLayout.CENTER);
 		content_pane.add(remote_greenstone_server_progress_panel, BorderLayout.SOUTH);
@@ -694,4 +703,5 @@
     {
 	OpenCollectionDialog dialog = new OpenCollectionDialog();
+        dialog.setComponentOrientation(Dictionary.getOrientation());
 	if (dialog.display() == OpenCollectionDialog.OK_OPTION) {
 	    return dialog.getFileName();
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GatherPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GatherPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/GatherPane.java	(revision 18297)
@@ -127,5 +127,5 @@
 	this.group = new DragGroup();
 	this.file_queue = Gatherer.f_man.getQueue();
-
+        this.setComponentOrientation(org.greenstone.gatherer.Dictionary.getOrientation());
 	// Create components.
 	stop_action = new GLIButton(Dictionary.get("Collection.Stop"), Dictionary.get("Collection.Stop_Tooltip"));
@@ -207,4 +207,5 @@
 	workspace_pane.setPreferredSize(TREE_SIZE);
 	workspace_pane.setSize(TREE_SIZE);
+        workspace_pane.setComponentOrientation(Dictionary.getOrientation());
 
 	workspace_label = new JLabel(Dictionary.get("Collection.Workspace"));
@@ -212,10 +213,14 @@
 	workspace_label.setBackground(Configuration.getColor("coloring.workspace_heading_background", false));
 	workspace_label.setForeground(Configuration.getColor("coloring.workspace_heading_foreground", false));
-	
+	workspace_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	workspace_tree = new WorkspaceTree();
+        workspace_tree.setComponentOrientation(Dictionary.getOrientation());
 	group.add(workspace_tree);
 	workspace_scroll = new JScrollPane(workspace_tree);
+        workspace_scroll.setComponentOrientation(Dictionary.getOrientation());
 	workspace_filter = workspace_tree.getFilter();
-
+        workspace_filter.setComponentOrientation(Dictionary.getOrientation()); 
+        
 	card_layout = new CardLayout();
 
@@ -225,8 +230,10 @@
 	collection_pane.setPreferredSize(TREE_SIZE);
 	collection_pane.setSize(TREE_SIZE);
-
+        collection_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	collection_label = new JLabel(Dictionary.get("Collection.Collection"));
 	collection_label.setOpaque(true);
-	
+	collection_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	collection_tree = Gatherer.c_man.getCollectionTree();
 	collection_tree.setEnabled(Gatherer.c_man.getCollectionTreeModel() != null);
@@ -235,37 +242,51 @@
 
 	tree_pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
-
+        tree_pane.setComponentOrientation(Dictionary.getOrientation());
 	// No collection loaded pane
 	JPanel no_collection_pane = new JPanel();
 	no_collection_pane.setBackground(Color.lightGray);
-
+        no_collection_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel no_collection_label = new JLabel(Dictionary.get("Collection.Collection"));
 	no_collection_label.setBackground(Color.lightGray);
 	no_collection_label.setForeground(Color.black);
 	no_collection_label.setOpaque(true);
+        no_collection_label.setComponentOrientation(Dictionary.getOrientation());
 	
 	JPanel no_collection_loaded_panel = new JPanel();
 	no_collection_loaded_panel.setBorder(BorderFactory.createLineBorder(Color.black));
 	no_collection_loaded_panel.setBackground(Color.lightGray);
-
+        no_collection_loaded_panel.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel no_collection_loaded_label = new JLabel(Dictionary.get("Collection.No_Collection_Loaded"));
 	no_collection_loaded_label.setHorizontalAlignment(JLabel.CENTER);
 	no_collection_loaded_label.setVerticalAlignment(JLabel.CENTER);
-	
+	no_collection_loaded_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Status pane
 	control_pane = new JPanel();
-
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel inner_pane = new JPanel();
 	inner_pane.setSize(STATUS_SIZE);
-
+        inner_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	card_pane = new JPanel();
+        card_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel file_pane = new JPanel();
+        file_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel progress_pane = new JPanel();
+        progress_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel file_status = file_queue.getFileStatus();
-
+        file_status.setComponentOrientation(Dictionary.getOrientation());
+        
 	JProgressBar progress_bar = file_queue.getProgressBar();
-
+        progress_bar.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel button_pane = new JPanel();
-
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	RecycleBin recycle_bin = Gatherer.recycle_bin;
 	recycle_bin.addActionListener(this);
@@ -295,6 +316,13 @@
 	card_pane.add(collection_pane, COLLECTION_LOADED_CARD);
 
-	tree_pane.add(workspace_pane, JSplitPane.LEFT);
-	tree_pane.add(card_pane, JSplitPane.RIGHT);
+        if (Dictionary.getOrientation().isLeftToRight()){
+            tree_pane.add(workspace_pane, JSplitPane.LEFT);
+            tree_pane.add(card_pane, JSplitPane.RIGHT);
+        }else{
+            tree_pane.add(workspace_pane, JSplitPane.RIGHT);
+            tree_pane.add(card_pane, JSplitPane.LEFT);
+        }
+        
+        
 	tree_pane.setDividerLocation(TREE_SIZE.width - 10);
 
@@ -302,5 +330,5 @@
 	file_pane.setLayout(new BorderLayout());
 	file_pane.add(file_status, BorderLayout.CENTER);
-	file_pane.add(stop_action, BorderLayout.EAST);
+	file_pane.add(stop_action, BorderLayout.LINE_END);
 
 	progress_pane.setBorder(BorderFactory.createEmptyBorder(2,2,2,2));
@@ -318,5 +346,5 @@
 	control_pane.setLayout(new BorderLayout());
 	control_pane.add(inner_pane, BorderLayout.CENTER);
-	control_pane.add(button_pane, BorderLayout.EAST);
+	control_pane.add(button_pane, BorderLayout.LINE_END);
 
 	this.setLayout(new BorderLayout());
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/HelpFrame.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/HelpFrame.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/HelpFrame.java	(revision 18297)
@@ -81,6 +81,8 @@
 	setSize(SIZE);
 	setTitle(Dictionary.get("Help.Title"));
-
+        this.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_pane = new JEditorPane();
+        help_pane.setComponentOrientation(Dictionary.getOrientation());
 	help_pane.setEditable(false);
 	help_pane.addHyperlinkListener(new HelpPaneHyperlinkListener());
@@ -89,4 +91,5 @@
 	help_contents_tree_model = new HelpContentsTreeModel(help_tree_root_node);
 	help_contents_tree = new JTree((DefaultTreeModel) help_contents_tree_model);
+        help_contents_tree.setComponentOrientation(Dictionary.getOrientation());
 	help_contents_tree.addTreeSelectionListener(new HelpContentsTreeSelectionListener());
 	help_contents_tree.setExpandsSelectedPaths(true);
@@ -94,11 +97,20 @@
 	// Creation
 	JPanel content_pane = (JPanel) this.getContentPane();
-	split_pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
+	content_pane.setComponentOrientation(Dictionary.getOrientation());
+        split_pane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);
 	JScrollPane help_contents_tree_scroll = new JScrollPane(help_contents_tree);
+        help_contents_tree_scroll.setComponentOrientation(Dictionary.getOrientation());
 	JScrollPane help_pane_scroll = new JScrollPane(help_pane);
+        help_pane_scroll.setComponentOrientation(Dictionary.getOrientation());
 
 	// Layout
-	split_pane.add(help_contents_tree_scroll, JSplitPane.LEFT);
-	split_pane.add(help_pane_scroll, JSplitPane.RIGHT);
+        if (Dictionary.getOrientation().isLeftToRight()){
+            split_pane.add(help_contents_tree_scroll, JSplitPane.LEFT);
+            split_pane.add(help_pane_scroll, JSplitPane.RIGHT);
+        }else{
+            split_pane.add(help_contents_tree_scroll, JSplitPane.RIGHT);
+            split_pane.add(help_pane_scroll, JSplitPane.LEFT);
+        }
+        
 	content_pane.setLayout(new BorderLayout());
 	content_pane.add(split_pane, BorderLayout.CENTER);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/LockFileDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/LockFileDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/LockFileDialog.java	(revision 18297)
@@ -66,4 +66,5 @@
     public LockFileDialog(JFrame parent, String name, File lock_file) {
 	super(parent, Dictionary.get("LockFileDialog.Title"), true);
+        this.setComponentOrientation(Dictionary.getOrientation());
 	setSize(SIZE);
 	setJMenuBar(new SimpleMenuBar("openingacollection"));
@@ -75,12 +76,17 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel upper_pane = new JPanel();
+        upper_pane.setComponentOrientation(Dictionary.getOrientation());
 	ImageIcon icon = JarTools.getImage("lcolicn.gif");
 	ImageIcon scaled_icon = new ImageIcon(icon.getImage().getScaledInstance(ICON_SIZE, ICON_SIZE, Image.SCALE_DEFAULT));
 	JLabel icon_label = new JLabel(scaled_icon);
+        icon_label.setComponentOrientation(Dictionary.getOrientation());
 	JPanel title_pane = new JPanel();
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel title_one_label = new JLabel(Dictionary.get("General.Warning"));
-	
+	title_one_label.setComponentOrientation(Dictionary.getOrientation());
 	JTextArea title_two_textarea = new JTextArea(Dictionary.get("LockFileDialog.Lockfile_Message_One"));
+        title_two_textarea.setComponentOrientation(Dictionary.getOrientation());
 	title_two_textarea.setEditable(false);
 	title_two_textarea.setLineWrap(true);
@@ -89,41 +95,57 @@
 	title_two_textarea.setWrapStyleWord(true);
 	
-	JPanel central_pane = new JPanel();
-
+    	JPanel central_pane = new JPanel();
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel name_pane = new JPanel();
+        name_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel name_label = new JLabel(Dictionary.get("LockFileDialog.Name"));
+        name_label.setComponentOrientation(Dictionary.getOrientation());
 	name_label.setPreferredSize(LABEL_SIZE);
 	
 	JTextField name_field = new JTextField(name);
+        name_field.setComponentOrientation(Dictionary.getOrientation());
 	name_field.setEditable(false);
 	name_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 
-	JPanel person_pane = new JPanel();
-	JLabel person_label = new JLabel(Dictionary.get("LockFileDialog.User"));
+
+        JPanel person_pane = new JPanel();
+	person_pane.setComponentOrientation(Dictionary.getOrientation());
+        JLabel person_label = new JLabel(Dictionary.get("LockFileDialog.User"));
+        person_label.setComponentOrientation(Dictionary.getOrientation());
 	person_label.setPreferredSize(LABEL_SIZE);
 	
 	JTextField person_field = new JTextField(getValue("User"));
+        person_field.setComponentOrientation(Dictionary.getOrientation());
 	person_field.setEditable(false);
 	person_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 
 	JPanel machine_pane = new JPanel();
+        machine_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel machine_label = new JLabel(Dictionary.get("LockFileDialog.Machine"));
+        machine_label.setComponentOrientation(Dictionary.getOrientation());
 	machine_label.setPreferredSize(LABEL_SIZE);
 	
 	JTextField machine_field = new JTextField(getValue("Machine"));
+        machine_field.setComponentOrientation(Dictionary.getOrientation());
 	machine_field.setEditable(false);
 	machine_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 
 	JPanel created_pane = new JPanel();
+        created_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel created_label = new JLabel(Dictionary.get("LockFileDialog.Date"));
 	created_label.setPreferredSize(LABEL_SIZE);
+        created_label.setComponentOrientation(Dictionary.getOrientation());
 	
 	JTextField created_field = new JTextField(getValue("Date"));
+        created_field.setComponentOrientation(Dictionary.getOrientation());
 	created_field.setEditable(false);
 	created_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 
 	JLabel central_label = new JLabel(Dictionary.get("LockFileDialog.Lockfile_Message_Two"));
-	
+	central_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("LockFileDialog.OK_Tooltip"));
 	
@@ -142,21 +164,21 @@
 
 	upper_pane.setLayout(new BorderLayout());
-	upper_pane.add(icon_label, BorderLayout.WEST);
+	upper_pane.add(icon_label, BorderLayout.LINE_START);
 	upper_pane.add(title_pane, BorderLayout.CENTER);
 
 	name_pane.setLayout(new BorderLayout());
-	name_pane.add(name_label, BorderLayout.WEST);
+	name_pane.add(name_label, BorderLayout.LINE_START);
 	name_pane.add(name_field, BorderLayout.CENTER);
 
 	person_pane.setLayout(new BorderLayout());
-	person_pane.add(person_label, BorderLayout.WEST);
+	person_pane.add(person_label, BorderLayout.LINE_START);
 	person_pane.add(person_field, BorderLayout.CENTER);
 
 	machine_pane.setLayout(new BorderLayout());
-	machine_pane.add(machine_label, BorderLayout.WEST);
+	machine_pane.add(machine_label, BorderLayout.LINE_START);
 	machine_pane.add(machine_field, BorderLayout.CENTER);
 
 	created_pane.setLayout(new BorderLayout());
-	created_pane.add(created_label, BorderLayout.WEST);
+	created_pane.add(created_label, BorderLayout.LINE_START);
 	created_pane.add(created_field, BorderLayout.CENTER);
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MenuBar.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MenuBar.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MenuBar.java	(revision 18297)
@@ -87,42 +87,55 @@
     public MenuBar(MenuListener menu_listener)
     {
+        this.setComponentOrientation(Dictionary.getOrientation());
+        
 	file = new JMenu();
 	file.setEnabled(false);
 	file.setText(Dictionary.get("Menu.File"));
-	
+	file.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_associations = new JMenuItem(Dictionary.get("Menu.File_Associations"));
 	file_associations.addActionListener(Gatherer.g_man);	  
-	
+	file_associations.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_cdimage = new JMenuItem(Dictionary.get("Menu.File_CDimage"));
 	file_cdimage.addActionListener(Gatherer.g_man);
 	file_cdimage.setEnabled(!Gatherer.isGsdlRemote);
-	
+	file_cdimage.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_close = new JMenuItem(Dictionary.get("Menu.File_Close"));
 	file_close.addActionListener(Gatherer.g_man);
 	file_close.setEnabled(false);
-	
+	file_close.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_delete = new JMenuItem(Dictionary.get("Menu.File_Delete"));
 	file_delete.addActionListener(Gatherer.g_man);
-	
+	file_delete.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_exit = new JMenuItem(Dictionary.get("Menu.File_Exit"));
 	file_exit.addActionListener(Gatherer.g_man);
-	
+	file_exit.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_exportas = new JMenuItem(Dictionary.get("Menu.File_ExportAs"));
 	file_exportas.addActionListener(Gatherer.g_man);
 	file_exportas.setEnabled((!Gatherer.isGsdlRemote && !Gatherer.GS3)); 
+        file_exportas.setComponentOrientation(Dictionary.getOrientation());
       	
 	file_new = new JMenuItem(Dictionary.get("Menu.File_New"));
 	file_new.addActionListener(Gatherer.g_man);
-	
+	file_new.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_open = new JMenuItem(Dictionary.get("Menu.File_Open"));
 	file_open.addActionListener(Gatherer.g_man);
-	
+	file_open.setComponentOrientation(Dictionary.getOrientation());
+        
 	file_options = new JMenuItem(Dictionary.get("Menu.File_Options"));
 	file_options.addActionListener(Gatherer.g_man);
+        file_options.setComponentOrientation(Dictionary.getOrientation());
 	
 	file_save = new JMenuItem(Dictionary.get("Menu.File_Save"));
 	file_save.addActionListener(Gatherer.g_man);
 	file_save.setEnabled(false);
-	
+	file_save.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Layout (file menu)
 	file.add(file_new);
@@ -144,14 +157,17 @@
 	edit.setEnabled(false);
 	edit.setText(Dictionary.get("Menu.Edit"));
-			  
+	edit.setComponentOrientation(Dictionary.getOrientation());
+        
 	edit_cut = new JMenuItem(Dictionary.get("Menu.Edit_Cut"));
 	edit_cut.addActionListener(Gatherer.g_man);
-	
+	edit_cut.setComponentOrientation(Dictionary.getOrientation());
+        
 	edit_copy = new JMenuItem(Dictionary.get("Menu.Edit_Copy"));
 	edit_copy.addActionListener(Gatherer.g_man);
+        edit_copy.setComponentOrientation(Dictionary.getOrientation());
 	
 	edit_paste = new JMenuItem(Dictionary.get("Menu.Edit_Paste"));
 	edit_paste.addActionListener(Gatherer.g_man);
-	
+	edit_paste.setComponentOrientation(Dictionary.getOrientation());
 	// Layout (edit menu)
 	edit.add(edit_cut);
@@ -163,29 +179,38 @@
 	help.setIcon(HELP_ICON);
 	help.setText(Dictionary.get("Menu.Help"));
-	
+	help.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_general = new JMenuItem(Dictionary.get("Source.General"));
 	help_general.addActionListener(Gatherer.g_man);
-	
+	help_general.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_download = new JMenuItem(Dictionary.get("GUI.Download"), BLANK_ICON);
 	help_download.addActionListener(Gatherer.g_man);
-	
+	help_download.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_gather = new JMenuItem(Dictionary.get("GUI.Gather"), BLANK_ICON);
 	help_gather.addActionListener(Gatherer.g_man);
-	
+	help_gather.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_enrich = new JMenuItem(Dictionary.get("GUI.Enrich"), BLANK_ICON);
 	help_enrich.addActionListener(Gatherer.g_man);
-	
+	help_enrich.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_design = new JMenuItem(Dictionary.get("GUI.Design"), BLANK_ICON);
 	help_design.addActionListener(Gatherer.g_man);
-	
+	help_design.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_create = new JMenuItem(Dictionary.get("GUI.Create"), BLANK_ICON);
 	help_create.addActionListener(Gatherer.g_man);
-	
+	help_create.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_format = new JMenuItem(Dictionary.get("GUI.Format"), BLANK_ICON);
 	help_format.addActionListener(Gatherer.g_man);
-	
+	help_format.setComponentOrientation(Dictionary.getOrientation());
+        
 	help_about = new JMenuItem(Dictionary.get("Menu.Help_About"));
 	help_about.addActionListener(Gatherer.g_man);
-	
+	help_about.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Layout (help menu)
 	help.add(help_general);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataImportMappingPrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataImportMappingPrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataImportMappingPrompt.java	(revision 18297)
@@ -39,4 +39,5 @@
 	// Construction and configuration
 	JDialog dialog = new ModalDialog(Gatherer.g_man);
+        dialog.setComponentOrientation(Dictionary.getOrientation());
 	dialog.setModal(true);
 	dialog.setSize(DIALOG_SIZE);
@@ -72,16 +73,33 @@
 	// Layout
 	JPanel left_pane = new JPanel();
+        left_pane.setComponentOrientation(Dictionary.getOrientation());
 	left_pane.setLayout(new GridLayout(3,1));
-	left_pane.add(new JLabel(Dictionary.get("MIMP.Source_Element")));
-	left_pane.add(new JLabel(Dictionary.get("MIMP.Target_Set")));
-	left_pane.add(new JLabel(Dictionary.get("MIMP.Target_Element")));
+        
+        JLabel tmp_lable;
+        
+        tmp_lable = new JLabel(Dictionary.get("MIMP.Source_Element"));
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.add(tmp_lable);
+        
+        tmp_lable = new JLabel(Dictionary.get("MIMP.Target_Set"));
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.add(tmp_lable);
+        
+        tmp_lable = new JLabel(Dictionary.get("MIMP.Target_Element"));
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+	left_pane.add(tmp_lable);
 
 	JPanel right_pane = new JPanel();
+        right_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	right_pane.setLayout(new GridLayout(3,1));
-	right_pane.add(new JLabel(metadata_element_name_full));
+	tmp_lable = new JLabel(metadata_element_name_full);
+        tmp_lable.setComponentOrientation(Dictionary.getOrientation());
+        right_pane.add(tmp_lable);
 	right_pane.add(metadata_sets_combobox);
 	right_pane.add(metadata_elements_combobox);
 
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.setBorder(BorderFactory.createEmptyBorder(0,5,5,5));
 	button_pane.setLayout(new GridLayout(1,3));
@@ -91,7 +109,8 @@
 
 	JPanel content_pane = (JPanel) dialog.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setLayout(new BorderLayout());
 	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
-	content_pane.add(left_pane, BorderLayout.WEST);
+	content_pane.add(left_pane, BorderLayout.LINE_START);
 	content_pane.add(right_pane, BorderLayout.CENTER);
 	content_pane.add(button_pane, BorderLayout.SOUTH);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataSetDialog.java	(revision 18297)
@@ -43,5 +43,5 @@
 	super(Gatherer.g_man, true);
 	set_dialog = this;
-	
+	this.setComponentOrientation(Dictionary.getOrientation());
 	setJMenuBar(new SimpleMenuBar("selectingmetadatasets"));
 	setSize(SIZE);
@@ -56,12 +56,16 @@
 	}
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
         content_pane.setOpaque(true);
 	
 	JLabel current_metadata_sets_label = new JLabel(Dictionary.get("MetadataSetDialog.Current_Sets"));
-	current_metadata_sets_label.setOpaque(true);
+	current_metadata_sets_label.setComponentOrientation(Dictionary.getOrientation());
+        current_metadata_sets_label.setOpaque(true);
 	current_set_list = new JList(current_metadata_model);
+        current_set_list.setComponentOrientation(Dictionary.getOrientation());
 	current_set_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	add_button = new GLIButton(Dictionary.get("MetadataSetDialog.Add"), Dictionary.get("MetadataSetDialog.Add_Tooltip"));
 	add_button.setEnabled(true);
@@ -98,5 +102,8 @@
 	content_pane.setLayout(new BorderLayout());
 	content_pane.add(current_metadata_sets_label, BorderLayout.NORTH);
-	content_pane.add(new JScrollPane(current_set_list), BorderLayout.CENTER);
+        JScrollPane scrol_tmp;
+        scrol_tmp = new JScrollPane(current_set_list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.CENTER);
 	content_pane.add(button_pane, BorderLayout.SOUTH);
 	
@@ -202,4 +209,5 @@
 	public AddMetadataSetPrompt() {
 	    super(Gatherer.g_man, true);
+            this.setComponentOrientation(Dictionary.getOrientation());
 	    add_set_dialog = this;
 	    setModal(true);
@@ -211,15 +219,23 @@
 
 	    JPanel center_pane = new JPanel();
+            center_pane.setComponentOrientation(Dictionary.getOrientation());
 	    JPanel sets_pane = new JPanel();
+            sets_pane.setComponentOrientation(Dictionary.getOrientation());
 	    JLabel sets_label = new JLabel(Dictionary.get("MetadataSetDialog.Available_Sets"));
+            sets_label.setComponentOrientation(Dictionary.getOrientation());
 	    sets_label.setOpaque(false);
 	    
 	    available_sets_list = new JList(getValidSetModel());
+            available_sets_list.setComponentOrientation(Dictionary.getOrientation());
 	    available_sets_list.addListSelectionListener(new AvailableSetListSelectionListener());
 	    available_sets_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
+            
 	    JPanel elements_pane = new JPanel();
+            elements_pane.setComponentOrientation(Dictionary.getOrientation());
 	    JLabel elements_label = new JLabel(Dictionary.get("MetadataSetDialog.Elements"));
-	    
+	    elements_label.setComponentOrientation(Dictionary.getOrientation());
+            
 	    elements_list = new JList();
+            elements_list.setComponentOrientation(Dictionary.getOrientation());
 	    elements_list.setCellRenderer(new MetadataElementListCellRenderer());
 	    elements_list.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
@@ -229,4 +245,5 @@
 	    
 	    JPanel button_pane = new JPanel();
+            button_pane.setComponentOrientation(Dictionary.getOrientation());
 	    add_button = new GLIButton(Dictionary.get("MetadataSetDialog.Add_Set"), Dictionary.get("MetadataSetDialog.Add_Set_Tooltip"));
 	    add_button.setEnabled(false);
@@ -283,4 +300,5 @@
 	    
 	    JPanel content_pane = (JPanel) getContentPane();
+            content_pane.setComponentOrientation(Dictionary.getOrientation());
 	    content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	    content_pane.setLayout(new BorderLayout());
@@ -292,7 +310,5 @@
 	    setLocation((screen_size.width - ADD_SIZE.width) / 2, (screen_size.height - ADD_SIZE.height) / 2);
 	    setVisible(true);
-	    
-
-	    
+	    	   
 	}
 	
@@ -368,4 +384,5 @@
 	    public void actionPerformed(ActionEvent event) {
 		JFileChooser chooser = new JFileChooser(new File(Gatherer.getGLIMetadataDirectoryPath()));
+                chooser.setComponentOrientation(Dictionary.getOrientation());
 		chooser.setFileFilter(new MetadataSet.MetadataSetFileFilter());
 		chooser.setDialogTitle(Dictionary.get("MetadataSetDialog.Add_Title"));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataValueTablePane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataValueTablePane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataValueTablePane.java	(revision 18297)
@@ -65,5 +65,5 @@
     {
 	super();
-
+        this.setComponentOrientation(Dictionary.getOrientation());
 	metadata_value_table = new MetadataValueTable();
 
@@ -71,27 +71,33 @@
 	metadata_value_table_scroll.getViewport().setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 	metadata_value_table_scroll.setOpaque(true);
-
+        metadata_value_table_scroll.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel metadata_value_table_pane = new JPanel();
 	metadata_value_table_pane.setLayout(new BorderLayout());
 	metadata_value_table_pane.add(metadata_value_table_scroll, BorderLayout.CENTER);
-
+        metadata_value_table_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel no_metadata_available_label = new JLabel(Dictionary.get("EnrichPane.No_Metadata"));
 	no_metadata_available_label.setHorizontalAlignment(JLabel.CENTER);
 	no_metadata_available_label.setOpaque(false);
 	no_metadata_available_label.setVerticalAlignment(JLabel.CENTER);
-	
+	no_metadata_available_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel no_metadata_available_pane = new JPanel();
 	no_metadata_available_pane.setLayout(new BorderLayout());
 	no_metadata_available_pane.add(no_metadata_available_label, BorderLayout.CENTER);
-
+        no_metadata_available_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel no_files_selected_label = new JLabel(Dictionary.get("EnrichPane.No_File"));
 	no_files_selected_label.setHorizontalAlignment(JLabel.CENTER);
 	no_files_selected_label.setOpaque(false);
 	no_files_selected_label.setVerticalAlignment(JLabel.CENTER);
-	
+	no_files_selected_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel no_files_selected_pane = new JPanel();
 	no_files_selected_pane.setLayout(new BorderLayout());
 	no_files_selected_pane.add(no_files_selected_label, BorderLayout.CENTER);
-
+        no_files_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	card_layout = new CardLayout();
 
@@ -186,4 +192,5 @@
 	public MetadataValueTable()
 	{
+            this.setComponentOrientation(Dictionary.getOrientation());
 	    // Create the model for the table
 	    metadata_value_table_model = new MetadataValueTableModel();
@@ -199,4 +206,5 @@
 	    metadata_value_text_field.addMouseListener(new MetadataValueTextFieldMouseListener());
 	    metadata_value_text_field.setBorder(null);
+            metadata_value_text_field.setComponentOrientation(Dictionary.getOrientation());
 
 	    // We need to listen for key presses so we can catch Enter presses
@@ -208,4 +216,6 @@
 	    // We also have to ensure that the table column header hasn't gone on a severe Jenny Craig binge and has somehow lost 7/8th of its component size
 	    JTableHeader table_header = getTableHeader();
+            table_header.setComponentOrientation(Dictionary.getOrientation());
+            
 	    Dimension table_header_preferred_size = table_header.getPreferredSize();
 	    if (table_header_preferred_size.height < MINIMUM_TABLE_HEADER_SIZE) {
@@ -319,5 +329,6 @@
 	    {
 		JComponent component = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
-
+                component.setComponentOrientation(Dictionary.getOrientation());
+                
 		int real_column = table.convertColumnIndexToModel(column);
 		// First column: inherited metadata icon
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataValueTreePane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataValueTreePane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/MetadataValueTreePane.java	(revision 18297)
@@ -98,7 +98,10 @@
     {
 	super();
-
+        JScrollPane scrol_tmp;
+        this.setComponentOrientation(Dictionary.getOrientation());
+        metadata_value_tree_label.setComponentOrientation(Dictionary.getOrientation());
 	// Card containing the metadata value tree
 	metadata_value_tree = new JTree();
+        metadata_value_tree.setComponentOrientation(Dictionary.getOrientation());
 	metadata_value_tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
 	metadata_value_tree.setModel(null);
@@ -107,10 +110,14 @@
 
 	JPanel metadata_value_tree_pane = new JPanel();
+        metadata_value_tree_pane.setComponentOrientation(Dictionary.getOrientation());        
 	metadata_value_tree_pane.setLayout(new BorderLayout());
 	metadata_value_tree_pane.add(metadata_value_tree_label, BorderLayout.NORTH);
-	metadata_value_tree_pane.add(new JScrollPane(metadata_value_tree), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(metadata_value_tree);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	metadata_value_tree_pane.add(scrol_tmp, BorderLayout.CENTER);
 
 	// Card containing the "extracted metadata element selected" message
 	extracted_metadata_element_selected_message = new JTextArea("");
+        extracted_metadata_element_selected_message.setComponentOrientation(Dictionary.getOrientation());
 	extracted_metadata_element_selected_message.setEditable(false);
 	extracted_metadata_element_selected_message.setLineWrap(true);
@@ -119,4 +126,5 @@
 
 	JPanel extracted_metadata_element_selected_pane = new JPanel();
+        extracted_metadata_element_selected_pane.setComponentOrientation(Dictionary.getOrientation());
 	extracted_metadata_element_selected_pane.setBorder(BorderFactory.createEmptyBorder(25,0,0,0));
 	extracted_metadata_element_selected_pane.setLayout(new BorderLayout());
@@ -129,4 +137,5 @@
 	inherited_metadata_selected_message.setOpaque(false);
 	inherited_metadata_selected_message.setWrapStyleWord(true);
+        inherited_metadata_selected_message.setComponentOrientation(Dictionary.getOrientation());
 	
 	JPanel inherited_metadata_selected_pane = new JPanel();
@@ -134,5 +143,5 @@
 	inherited_metadata_selected_pane.setLayout(new BorderLayout());
 	inherited_metadata_selected_pane.add(inherited_metadata_selected_message, BorderLayout.CENTER);
-
+        inherited_metadata_selected_pane.setComponentOrientation(Dictionary.getOrientation());
 	// Card containing the "not one file only metadata selected" message
 	JTextArea not_one_file_only_metadata_selected_message = new JTextArea(Dictionary.get("EnrichPane.NotOneFileOnlyMetadataSelected"));
@@ -141,10 +150,12 @@
 	not_one_file_only_metadata_selected_message.setOpaque(false);
 	not_one_file_only_metadata_selected_message.setWrapStyleWord(true);
-	
+        not_one_file_only_metadata_selected_message.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel not_one_file_only_metadata_selected_pane = new JPanel();
 	not_one_file_only_metadata_selected_pane.setBorder(BorderFactory.createEmptyBorder(25,0,0,0));
 	not_one_file_only_metadata_selected_pane.setLayout(new BorderLayout());
 	not_one_file_only_metadata_selected_pane.add(not_one_file_only_metadata_selected_message, BorderLayout.CENTER);
-
+        not_one_file_only_metadata_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Card containing the "no metadata element selected" message
 	JLabel no_metadata_element_selected_label = new JLabel(Dictionary.get("EnrichPane.No_Metadata_Element"));
@@ -152,11 +163,13 @@
 	no_metadata_element_selected_label.setOpaque(false);
 	no_metadata_element_selected_label.setVerticalAlignment(JLabel.CENTER);
-	
+        no_metadata_element_selected_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel no_metadata_element_selected_pane = new JPanel();
 	no_metadata_element_selected_pane.setLayout(new BorderLayout());
 	no_metadata_element_selected_pane.add(no_metadata_element_selected_label, BorderLayout.CENTER);
-
+        no_metadata_element_selected_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	card_layout = new CardLayout();
-
+        
 	this.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	this.setFont(Configuration.getFont("general.font", false));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ModalProgressPopup.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ModalProgressPopup.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/ModalProgressPopup.java	(revision 18297)
@@ -31,4 +31,5 @@
 import javax.swing.*;
 import org.greenstone.gatherer.Configuration;
+import org.greenstone.gatherer.Dictionary;
 import org.greenstone.gatherer.Gatherer;
 
@@ -47,4 +48,5 @@
 	super(Gatherer.g_man, title);
 	this.message = message;
+        this.setComponentOrientation(Dictionary.getOrientation());
     }
 
@@ -66,11 +68,17 @@
 	// Create
 	JProgressBar progress_bar = new JProgressBar();
+        progress_bar.setComponentOrientation(Dictionary.getOrientation());
 	progress_bar.setIndeterminate(true);
 
 	// Layout
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	content_pane.setLayout(new BorderLayout());
-	content_pane.add(new JLabel(message), BorderLayout.NORTH);
+        
+        JLabel tmp = new JLabel(message);
+        tmp.setComponentOrientation(Dictionary.getOrientation());
+	
+        content_pane.add(tmp, BorderLayout.NORTH);
 	content_pane.add(progress_bar, BorderLayout.CENTER);
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NewCollectionDetailsPrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NewCollectionDetailsPrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NewCollectionDetailsPrompt.java	(revision 18297)
@@ -90,6 +90,7 @@
      */
     public NewCollectionDetailsPrompt() {
-	super(Gatherer.g_man, true);
+	super(Gatherer.g_man, true);        
 	this.cancelled = true;
+        this.setComponentOrientation(Dictionary.getOrientation());
 	this.self = this;
 	// Setup
@@ -121,19 +122,30 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setOpaque(true);
 	JPanel upper_pane = new JPanel();
+        upper_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel instructions_label = new JLabel(Dictionary.get("NewCollectionPrompt.Instructions"));
-	
+	instructions_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel title_pane = new JPanel();
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel title_label = new JLabel(Dictionary.get("CDM.General.Collection_Name"));
+        title_label.setComponentOrientation(Dictionary.getOrientation());
 	title = new JTextField();
+        title.setComponentOrientation(Dictionary.getOrientation());
 	title.setPreferredSize(COMPONENT_SIZE);
 	title.setToolTipText(Dictionary.get("CDM.General.Collection_Name_Tooltip"));
 	JLabel name_label = new JLabel(Dictionary.get("NewCollectionPrompt.Collection_Name"));
-	
+	name_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel center_pane = new JPanel();
+        center_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel description_pane = new JPanel();
+        description_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel description_label = new JLabel(Dictionary.get("NewCollectionPrompt.Collection_Description"));
+        description_label.setComponentOrientation(Dictionary.getOrientation());
 	description = new JTextArea();
+        description.setComponentOrientation(Dictionary.getOrientation());
 	description.setBackground(Configuration.getColor("coloring.editable_background", false));
 	description.setForeground(Configuration.getColor("coloring.editable_foreground", false));
@@ -142,21 +154,33 @@
 	
 	JPanel bottom_pane = new JPanel();
+        bottom_pane.setComponentOrientation(Dictionary.getOrientation());
 	// Base Collection
 	JPanel base_collection_pane = new JPanel();
-	JLabel base_collection_label = new JLabel(Dictionary.get("NewCollectionPrompt.Base_Collection"));
-	base_collection = new JComboBox(base_collection_model);
+        base_collection_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel base_collection_label = new JLabel(Dictionary.get("NewCollectionPrompt.Base_Collection"));
+        base_collection_label.setComponentOrientation(Dictionary.getOrientation());
+	
+        base_collection = new JComboBox(base_collection_model);
+        base_collection.setComponentOrientation(Dictionary.getOrientation());    
 	base_collection.setOpaque(false);
 	base_collection.setToolTipText(Dictionary.get("NewCollectionPrompt.Base_Collection_Tooltip"));
 	
 	JPanel collection_scope_pane = new JPanel();
-	personal_collection_button = new JRadioButton(Dictionary.get("NewCollectionPrompt.Collection_Scope_Personal"));
+        collection_scope_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        personal_collection_button = new JRadioButton(Dictionary.get("NewCollectionPrompt.Collection_Scope_Personal"));
         personal_collection_button.setToolTipText(Dictionary.get("NewCollectionPrompt.Collection_Scope_Personal_Tooltip"));
 	personal_collection_button.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 	personal_collection_button.setOpaque(false);
-	JRadioButton shared_collection_button = new JRadioButton(Dictionary.get("NewCollectionPrompt.Collection_Scope_Shared"));
+        personal_collection_button.setComponentOrientation(Dictionary.getOrientation());
+	
+        JRadioButton shared_collection_button = new JRadioButton(Dictionary.get("NewCollectionPrompt.Collection_Scope_Shared"));        
 	shared_collection_button.setToolTipText(Dictionary.get("NewCollectionPrompt.Collection_Scope_Shared_Tooltip")); 
 	shared_collection_button.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 	shared_collection_button.setOpaque(false);
-	ButtonGroup collection_scope_group = new ButtonGroup();
+        shared_collection_button.setComponentOrientation(Dictionary.getOrientation());
+	
+        ButtonGroup collection_scope_group = new ButtonGroup();
 	collection_scope_group.add(personal_collection_button);
 	collection_scope_group.add(shared_collection_button);
@@ -164,4 +188,5 @@
 
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	create_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
 	JButton cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Cancel_Tooltip"));
@@ -174,5 +199,5 @@
 	// Layout
 	title_pane.setLayout(new BorderLayout(5,0));
-	title_pane.add(title_label, BorderLayout.WEST);
+	title_pane.add(title_label, BorderLayout.LINE_START);
 	title_pane.add(title, BorderLayout.CENTER);
 
@@ -181,10 +206,14 @@
 	upper_pane.add(title_pane);
 
+        JScrollPane scrol_tmp;
+        
 	description_pane.setLayout(new BorderLayout());
-	description_pane.add(description_label, BorderLayout.NORTH);
-	description_pane.add(new JScrollPane(description), BorderLayout.CENTER);
+	description_pane.add(description_label, BorderLayout.NORTH);        
+        scrol_tmp=new JScrollPane(description);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	description_pane.add(scrol_tmp, BorderLayout.CENTER);
 
 	base_collection_pane.setLayout(new BorderLayout(5,0));
-	base_collection_pane.add(base_collection_label, BorderLayout.WEST);
+	base_collection_pane.add(base_collection_label, BorderLayout.LINE_START);
 	base_collection_pane.add(base_collection, BorderLayout.CENTER);
 
@@ -341,4 +370,5 @@
 	    if(title_final.length() == 0) {
 		JOptionPane jOptionPane=new JOptionPane();
+                jOptionPane.setComponentOrientation(Dictionary.getOrientation());
 		jOptionPane.setOpaque(!Utility.isMac());
 		jOptionPane.showMessageDialog(Gatherer.g_man, Dictionary.get("NewCollectionPrompt.Title_Error"), Dictionary.get("NewCollectionPrompt.Error"), JOptionPane.ERROR_MESSAGE);
@@ -349,4 +379,5 @@
 		if(titleClashes(title_final, null)) {
 		    JOptionPane jOptionPane=new JOptionPane();
+                    jOptionPane.setComponentOrientation(Dictionary.getOrientation());
 		    jOptionPane.setOpaque(!Utility.isMac());
 		    if (jOptionPane.showConfirmDialog(Gatherer.g_man, Dictionary.get("NewCollectionPrompt.Title_Clash"), Dictionary.get("General.Warning"), JOptionPane.YES_NO_OPTION) == JOptionPane.NO_OPTION) {
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NewFolderOrFilePrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NewFolderOrFilePrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NewFolderOrFilePrompt.java	(revision 18297)
@@ -62,4 +62,5 @@
     public NewFolderOrFilePrompt(CollectionTreeNode node, int type, String extension) {
 	super(Gatherer.g_man, true);
+        this.setComponentOrientation(Dictionary.getOrientation());
 	if (type == FileManager.FILE_TYPE) {
 	    setTitle(Dictionary.get("NewFolderOrFilePrompt.Title_File"));
@@ -87,17 +88,25 @@
 	setSize(SIZE);
 	JPanel content_pane = (JPanel) getContentPane();
-
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel labels_pane = new JPanel();
+        labels_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel fields_pane = new JPanel();
+        fields_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel info_pane = new JPanel();
+        info_pane.setComponentOrientation(Dictionary.getOrientation());
 
 	JLabel destination_label = new JLabel(Dictionary.get("NewFolderOrFilePrompt.Destination_Name"));
-
+        destination_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JTextField destination_textfield = new JTextField(node.getFile().getName());
+        destination_textfield.setComponentOrientation(Dictionary.getOrientation());
 	destination_textfield.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 	destination_textfield.setEditable(false);
 	
 	JLabel name_label = new JLabel();
+        name_label.setComponentOrientation(Dictionary.getOrientation());;
 	name_field = new JTextField(getAutomaticName());
+        name_field.setComponentOrientation(Dictionary.getOrientation());
 	if (type == FileManager.FILE_TYPE) {
 	    name_label.setText(Dictionary.get("NewFolderOrFilePrompt.File_Name"));
@@ -108,4 +117,5 @@
 	}
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
 	
@@ -126,5 +136,5 @@
 	
 	info_pane.setLayout(new BorderLayout(5,0));
-	info_pane.add(labels_pane, BorderLayout.WEST);
+	info_pane.add(labels_pane, BorderLayout.LINE_START);
 	info_pane.add(fields_pane, BorderLayout.CENTER);
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NonWhitespaceField.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NonWhitespaceField.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/NonWhitespaceField.java	(revision 18297)
@@ -33,4 +33,6 @@
 import javax.swing.*;
 import javax.swing.text.*;
+import org.greenstone.gatherer.Dictionary;
+
 /** A JTextField that doesn't allow whitespace characters. 
  * @author John Thompson, Greenstone Digital Library, University of Waikato
@@ -42,12 +44,14 @@
     public NonWhitespaceField() {
 	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
     }
 
     public NonWhitespaceField(String text) {
 	super(text);
+        this.setComponentOrientation(Dictionary.getOrientation());
     }
  
     protected Document createDefaultModel() {
-	return new NonWhitespaceDocument();
+	return new NonWhitespaceDocument();        
     }
  
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/OpenCollectionDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/OpenCollectionDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/OpenCollectionDialog.java	(revision 18297)
@@ -63,4 +63,5 @@
 	super(Gatherer.g_man, "", true);
 	setJMenuBar(new SimpleMenuBar("openingacollection"));
+        this.setComponentOrientation(Dictionary.getOrientation());
 	setSize(SIZE);
 	setTitle(Dictionary.get("OpenCollectionDialog.Title"));
@@ -68,20 +69,32 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
-
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel center_pane = new JPanel();
-
+        center_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel collection_list_pane = new JPanel();
+        collection_list_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel collection_list_label = new JLabel(Dictionary.get("OpenCollectionDialog.Available_Collections"));
+        collection_list_label.setComponentOrientation(Dictionary.getOrientation());
 	collection_list = new JList(new CollectionListModel());
+        collection_list.setComponentOrientation(Dictionary.getOrientation());
+        
 	description_pane = new JPanel();
+        description_pane.setComponentOrientation(Dictionary.getOrientation());
 	card_layout = new CardLayout();
-
+        
 	JPanel blank_pane = new JPanel();
-
+        blank_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel description_textarea_pane = new JPanel();
+        description_textarea_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel description_textarea_label = new JLabel(Dictionary.get("OpenCollectionDialog.Description"));
+        description_textarea_label.setComponentOrientation(Dictionary.getOrientation());
 	description_textarea = new JTextArea();
-
+        description_textarea.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	open_button = new GLIButton(Dictionary.get("OpenCollectionDialog.Open"), Dictionary.get("OpenCollectionDialog.Open_Tooltip"));
 	open_button.setEnabled(false);
@@ -98,11 +111,17 @@
 
 	// Layout
+        JScrollPane scrol_tmp;
+        
 	collection_list_pane.setLayout(new BorderLayout());
 	collection_list_pane.add(collection_list_label, BorderLayout.NORTH);
-	collection_list_pane.add(new JScrollPane(collection_list), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(collection_list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	collection_list_pane.add(scrol_tmp, BorderLayout.CENTER);
 
 	description_textarea_pane.setLayout(new BorderLayout());
 	description_textarea_pane.add(description_textarea_label, BorderLayout.NORTH);
-	description_textarea_pane.add(new JScrollPane(description_textarea), BorderLayout.CENTER);
+	scrol_tmp =new JScrollPane(description_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+        description_textarea_pane.add(scrol_tmp, BorderLayout.CENTER);
 
 	description_pane.setLayout(card_layout);
@@ -115,5 +134,7 @@
 
 	button_pane.setLayout(new GridLayout(1,4));
-	button_pane.add(new JPanel());
+        JPanel tmp =new JPanel();
+        tmp.setComponentOrientation(Dictionary.getOrientation());
+	button_pane.add(tmp);
 	button_pane.add(open_button);
 	button_pane.add(cancel_button);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/OptionsPane.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/OptionsPane.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/OptionsPane.java	(revision 18297)
@@ -98,7 +98,9 @@
 	this.current_controls = new ArrayList();
 	this.writing_documents = new Vector();
-
+        this.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Have to do this here, not in display, as the message log view may not have been displayed yet.
 	log_textarea = new JTextArea();
+        log_textarea.setComponentOrientation(Dictionary.getOrientation());
 	log_textarea.setEditable(false);
     }
@@ -148,4 +150,5 @@
       if(pane == null || current_mode >= Configuration.EXPERT_MODE) {
         pane = new JPanel();
+        pane.setComponentOrientation(Dictionary.getOrientation());
         pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
         pane.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
@@ -211,4 +214,5 @@
 	if(pane == null || current_mode >= Configuration.EXPERT_MODE) {
 	    pane = new JPanel();
+            pane.setComponentOrientation(Dictionary.getOrientation());
 	    pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	    pane.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
@@ -244,5 +248,5 @@
 	if (log_pane == null) {
 	    log_pane = new JPanel(new BorderLayout());
-
+            log_pane.setComponentOrientation(Dictionary.getOrientation());
 	    // Build a list of the log files available, ordering by last modified. Log files are like build_log.date.txt
 	    DefaultListModel contents = new DefaultListModel();
@@ -273,4 +277,5 @@
 
 	    log_list = new JList(contents);
+            log_list.setComponentOrientation(Dictionary.getOrientation());
 	    log_list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
 	    log_list.setLayoutOrientation(JList.VERTICAL);
@@ -280,11 +285,17 @@
 
 	    JLabel log_history_label = new JLabel(Dictionary.get("OptionsPane.LogHistory"));
-	    JPanel log_history_pane = new JPanel();
+	    log_history_label.setComponentOrientation(Dictionary.getOrientation());
+            JPanel log_history_pane = new JPanel();
+            log_history_pane.setComponentOrientation(Dictionary.getOrientation());
 	    log_history_pane.setPreferredSize(new Dimension(600, 100));
 	    log_history_pane.setLayout(new BorderLayout());
 	    log_history_pane.add(log_history_label, BorderLayout.NORTH);
-	    log_history_pane.add(new JScrollPane(log_list), BorderLayout.CENTER);
+            JScrollPane scrol_tmp=new JScrollPane(log_list);
+            scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	    log_history_pane.add(scrol_tmp, BorderLayout.CENTER);
 	    
-	    log_pane.add(new JScrollPane(log_textarea), BorderLayout.CENTER);
+            scrol_tmp=new JScrollPane(log_textarea);
+            scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	    log_pane.add(scrol_tmp, BorderLayout.CENTER);
 	    log_pane.add(log_history_pane, BorderLayout.SOUTH);
 	}
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/Preferences.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/Preferences.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/Preferences.java	(revision 18297)
@@ -111,14 +111,19 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	tab_pane = new JTabbedPane();
+        tab_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel general_preferences = createGeneralPreferences();
+        general_preferences.setComponentOrientation(Dictionary.getOrientation());
 	tab_pane.addTab(Dictionary.get("Preferences.General"), null, general_preferences, Dictionary.get("Preferences.General_Tooltip")); 
 	tab_pane.addTab(Dictionary.get("Preferences.Mode"), null, createModePreferences(), Dictionary.get("Preferences.Mode_Tooltip"));
 	//	tab_pane.addTab(Dictionary.get("Preferences.Workflow"), null, createWorkflowPreferences(), Dictionary.get("Preferences.Workflow_Tooltip")); 
 	JPanel connection_preferences = createConnectionPreferences();
+        connection_preferences.setComponentOrientation(Dictionary.getOrientation());
 	tab_pane.addTab(Dictionary.get("Preferences.Connection"), null, connection_preferences, Dictionary.get("Preferences.Connection_Tooltip")); 
 	tab_pane.addTab(Dictionary.get("Preferences.Warnings"), null, createWarningPreferences(), Dictionary.get("Preferences.Warnings_Tooltip")); 
 	
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
 	
@@ -138,9 +143,11 @@
 	button_pane.add(apply_button);
 	button_pane.add(cancel_button);
-
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	content_pane.setLayout(new BorderLayout());
 	content_pane.add(tab_pane, BorderLayout.CENTER);
 	content_pane.add(button_pane, BorderLayout.SOUTH);
-
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	Dimension frame_size = Gatherer.g_man.getSize();
 	Point frame_location = Gatherer.g_man.getLocation();
@@ -171,16 +178,21 @@
     private JPanel createConnectionPreferences() {
 	JPanel program_pane = new JPanel();
+        program_pane.setComponentOrientation(Dictionary.getOrientation());
 	program_pane.setPreferredSize(ROW_SIZE);
 	JLabel program_label = new JLabel(Dictionary.get("Preferences.Connection.ProgramCommand"));
 	program_label.setPreferredSize(LABEL_SIZE);
-	
+	program_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	program_field = new JTextField(Configuration.getPreviewCommand());
 	program_field.setCaretPosition(0);
 	program_field.setToolTipText(Dictionary.get("Preferences.Connection.ProgramCommand_Tooltip"));
-	
+	program_field.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel library_path_pane = new JPanel();
 	library_path_pane.setPreferredSize(ROW_SIZE);
+        library_path_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel library_path_label = new JLabel();
 	library_path_label.setPreferredSize(LABEL_SIZE);
+        library_path_label.setComponentOrientation(Dictionary.getOrientation());
 	String library_url_string = "";
 	if (Configuration.library_url != null) {
@@ -189,4 +201,5 @@
 	library_path_field = new JTextField(library_url_string);
 	library_path_field.setCaretPosition(0);
+        library_path_field.setComponentOrientation(Dictionary.getOrientation());
 	if (Gatherer.GS3) {
 	    library_path_label.setText(Dictionary.get("Preferences.Connection.Library_Path_GS3"));
@@ -208,4 +221,5 @@
 	    gliserver_url_label = new JLabel(Dictionary.get("Preferences.Connection.GLIServer_URL"));
 	    gliserver_url_label.setPreferredSize(LABEL_SIZE);
+            gliserver_url_label.setComponentOrientation(Dictionary.getOrientation());
 	    String gliserver_url_string = "";
 	    if (Configuration.gliserver_url != null) {
@@ -213,7 +227,8 @@
 	    }
 	    gliserver_url_field = new JTextField(gliserver_url_string);
+            gliserver_url_field.setComponentOrientation(Dictionary.getOrientation());
 	    gliserver_url_field.setCaretPosition(0);
 	    gliserver_url_field.setToolTipText(Dictionary.get("Preferences.Connection.GLIServer_URL_Tooltip"));
-	    
+	   
 	    // Disable this field when using the applet, as it is automatically determined
 	    gliserver_url_label.setEnabled(!Gatherer.isApplet);
@@ -228,17 +243,24 @@
 	    site_pane = new JPanel();
 	    site_pane.setPreferredSize(ROW_SIZE);
+            site_pane.setComponentOrientation(Dictionary.getOrientation());
 	    site_label = new JLabel(Dictionary.get("Preferences.Connection.Site"));
 	    site_label.setPreferredSize(LABEL_SIZE);
+            site_label.setComponentOrientation(Dictionary.getOrientation());
 	    // what should we do if Gatherer.servlet_config.getSites() is null?
 	    site_combobox = new JComboBox(Gatherer.servlet_config.getSites().toArray());
 	    site_combobox.setOpaque(false);
 	    site_combobox.setToolTipText(Dictionary.get("Preferences.Connection.Site_Tooltip"));
-	    
+	    site_combobox.setComponentOrientation(Dictionary.getOrientation());
+            
 	    servlet_pane = new JPanel();
 	    servlet_pane.setPreferredSize(ROW_SIZE);
+            servlet_pane.setComponentOrientation(Dictionary.getOrientation());
+            
 	    servlet_label = new JLabel(Dictionary.get("Preferences.Connection.Servlet"));
 	    servlet_label.setPreferredSize(LABEL_SIZE);
+            servlet_label.setComponentOrientation(Dictionary.getOrientation());
 	    servlet_combobox = new JComboBox();
 	    servlet_combobox.setOpaque(false);
+            servlet_combobox.setComponentOrientation(Dictionary.getOrientation());
 	    // try to locate and select the current site
 	    String this_site = Configuration.site_name;
@@ -281,11 +303,16 @@
 	// Creation
 	JPanel connection_pane = new JPanel();
+        connection_pane.setComponentOrientation(Dictionary.getOrientation());
 	use_proxy_checkbox = new JCheckBox(Dictionary.get("Preferences.Connection.Use_Proxy"));
 	use_proxy_checkbox.setSelected(currently_enabled);
-	
+	use_proxy_checkbox.setComponentOrientation(Dictionary.getOrientation());        
 	use_proxy_checkbox.setPreferredSize(ROW_SIZE);
-	JPanel proxy_host_pane = new JPanel();
+	
+        JPanel proxy_host_pane = new JPanel();
+        proxy_host_pane.setComponentOrientation(Dictionary.getOrientation());
 	proxy_host_pane.setPreferredSize(ROW_SIZE);
+        
 	JLabel proxy_host_label = new JLabel(Dictionary.get("Preferences.Connection.Proxy_Host"));
+        proxy_host_label.setComponentOrientation(Dictionary.getOrientation());
 	proxy_host_label.setPreferredSize(LABEL_SIZE);
 	
@@ -293,9 +320,13 @@
 	proxy_host_field.setEnabled(currently_enabled);
 	proxy_host_field.setToolTipText(Dictionary.get("Preferences.Connection.Proxy_Host_Tooltip"));
-	
+	proxy_host_field.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel proxy_port_pane = new JPanel();
+        proxy_port_pane.setComponentOrientation(Dictionary.getOrientation());
 	proxy_port_pane.setPreferredSize(ROW_SIZE);
+        
 	JLabel proxy_port_label = new JLabel(Dictionary.get("Preferences.Connection.Proxy_Port"));
 	proxy_port_label.setPreferredSize(LABEL_SIZE);
+        proxy_port_label.setComponentOrientation(Dictionary.getOrientation());
 	
 	String port_value = Configuration.getString("general.proxy_port", true);
@@ -317,14 +348,14 @@
 	// Layout
 	program_pane.setLayout(new BorderLayout());
-	program_pane.add(program_label, BorderLayout.WEST);
+	program_pane.add(program_label, BorderLayout.LINE_END);
 	program_pane.add(program_field, BorderLayout.CENTER);
 
 	library_path_pane.setLayout(new BorderLayout());
-	library_path_pane.add(library_path_label, BorderLayout.WEST);
+	library_path_pane.add(library_path_label, BorderLayout.LINE_START);
 	library_path_pane.add(library_path_field, BorderLayout.CENTER);
 
 	if (Gatherer.isGsdlRemote && !Gatherer.GS3) {
 	    gliserver_url_pane.setLayout(new BorderLayout());
-	    gliserver_url_pane.add(gliserver_url_label, BorderLayout.WEST);
+	    gliserver_url_pane.add(gliserver_url_label, BorderLayout.LINE_START);
 	    gliserver_url_pane.add(gliserver_url_field, BorderLayout.CENTER);
 	}
@@ -332,18 +363,18 @@
 	if (Gatherer.GS3) {
 	    site_pane.setLayout(new BorderLayout());
-	    site_pane.add(site_label, BorderLayout.WEST);
+	    site_pane.add(site_label, BorderLayout.LINE_START);
 	    site_pane.add(site_combobox, BorderLayout.CENTER);
 
 	    servlet_pane.setLayout(new BorderLayout());
-	    servlet_pane.add(servlet_label, BorderLayout.WEST);
+	    servlet_pane.add(servlet_label, BorderLayout.LINE_START);
 	    servlet_pane.add(servlet_combobox, BorderLayout.CENTER);
 	}
 
 	proxy_host_pane.setLayout(new BorderLayout());
-	proxy_host_pane.add(proxy_host_label, BorderLayout.WEST);
+	proxy_host_pane.add(proxy_host_label, BorderLayout.LINE_START);
 	proxy_host_pane.add(proxy_host_field, BorderLayout.CENTER);
 
 	proxy_port_pane.setLayout(new BorderLayout());
-	proxy_port_pane.add(proxy_port_label, BorderLayout.WEST);
+	proxy_port_pane.add(proxy_port_label, BorderLayout.LINE_START);
 	proxy_port_pane.add(proxy_port_field, BorderLayout.CENTER);
 
@@ -368,5 +399,5 @@
     private JPanel createGeneralPreferences() {
 	JPanel general_pane = new JPanel();
-
+        general_pane.setComponentOrientation(Dictionary.getOrientation());
 	// Build the model of available languages
 	ArrayList dictionary_model = new ArrayList();
@@ -393,28 +424,42 @@
 	// Users email
 	JPanel email_pane = new JPanel();
-	JLabel email_label = new JLabel(Dictionary.get("Preferences.General.Email"));
+        email_pane.setComponentOrientation(Dictionary.getOrientation());
+
+        JLabel email_label = new JLabel(Dictionary.get("Preferences.General.Email"));
+        email_label.setComponentOrientation(Dictionary.getOrientation());
 	email_label.setPreferredSize(LABEL_SIZE);
-	email_field = new EmailField(Configuration.getColor("coloring.error_background", false));
+	
+        email_field = new EmailField(Configuration.getColor("coloring.error_background", false));
 	email_field.setText(Configuration.getEmail());
 	email_field.setToolTipText(Dictionary.get("Preferences.General.Email_Tooltip"));
-	
+	email_field.setComponentOrientation(Dictionary.getOrientation());
 	// Font selection
 	JPanel font_pane = new JPanel();
-	JLabel font_label = new JLabel(Dictionary.get("Preferences.General.Font"));
+        font_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel font_label = new JLabel(Dictionary.get("Preferences.General.Font"));
+        font_label.setComponentOrientation(Dictionary.getOrientation());
 	font_label.setPreferredSize(LABEL_SIZE);
-	font_field = new JTextField(Configuration.getString("general.font", true));
+	
+        font_field = new JTextField(Configuration.getString("general.font", true));
 	font_field.setToolTipText(Dictionary.get("Preferences.General.Font_Tooltip"));
-	
+	font_field.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Extracted metadata
 	view_extracted_metadata_checkbox = new JCheckBox(Dictionary.get("Preferences.General.View_Extracted_Metadata"));
 	view_extracted_metadata_checkbox.setSelected(false);
-	if (Configuration.get("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC)) {
+        view_extracted_metadata_checkbox.setComponentOrientation(Dictionary.getOrientation());
+	
+        if (Configuration.get("general.view_extracted_metadata", Configuration.COLLECTION_SPECIFIC)) {
 	    view_extracted_metadata_checkbox.setSelected(true);
 	}
 	view_extracted_metadata_checkbox.setToolTipText(Dictionary.get("Preferences.General.View_Extracted_Metadata_Tooltip"));
-	
+        view_extracted_metadata_checkbox.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Show file sizes
 	show_file_size_checkbox = new JCheckBox(Dictionary.get("Preferences.General.Show_File_Size"));
 	show_file_size_checkbox.setSelected(false);
+        show_file_size_checkbox.setComponentOrientation(Dictionary.getOrientation());
+        
 	if (Configuration.get("general.show_file_size", Configuration.COLLECTION_SPECIFIC)) {
 	    show_file_size_checkbox.setSelected(true);
@@ -424,5 +469,8 @@
 	// Language
 	JPanel language_pane = new JPanel();
-	JLabel language_label = new JLabel(Dictionary.get("Preferences.General.Interface_Language"));
+        language_pane.setComponentOrientation(Dictionary.getOrientation());
+
+        JLabel language_label = new JLabel(Dictionary.get("Preferences.General.Interface_Language"));
+        language_label.setComponentOrientation(Dictionary.getOrientation());
 	language_label.setPreferredSize(LABEL_SIZE);
 	
@@ -430,5 +478,6 @@
 	language_combobox.setOpaque(false);
 	language_combobox.setToolTipText(Dictionary.get("Preferences.General.Interface_Language_Tooltip"));
-	
+	language_combobox.setComponentOrientation(Dictionary.getOrientation());
+        
 	// Try to locate and select the current language
 	String language_code = Configuration.getLanguage();
@@ -443,13 +492,13 @@
 	// Layout
 	email_pane.setLayout(new BorderLayout());
-	email_pane.add(email_label, BorderLayout.WEST);
+	email_pane.add(email_label, BorderLayout.LINE_START);
 	email_pane.add(email_field, BorderLayout.CENTER);
 
 	language_pane.setLayout(new BorderLayout());
-	language_pane.add(language_label, BorderLayout.WEST);
+	language_pane.add(language_label, BorderLayout.LINE_START);
 	language_pane.add(language_combobox, BorderLayout.CENTER);
 
 	font_pane.setLayout(new BorderLayout());
-	font_pane.add(font_label, BorderLayout.WEST);
+	font_pane.add(font_label, BorderLayout.LINE_START);
 	font_pane.add(font_field, BorderLayout.CENTER);
 
@@ -471,19 +520,33 @@
 	// Create Controls
 	JPanel mode_panel = new JPanel();
-	JPanel button_panel = new JPanel();
-	ButtonGroup mode_button_group = new ButtonGroup();
-	assistant_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Assistant"));
+        mode_panel.setComponentOrientation(Dictionary.getOrientation());
+	
+        JPanel button_panel = new JPanel();
+        button_panel.setComponentOrientation(Dictionary.getOrientation());
+	
+        ButtonGroup mode_button_group = new ButtonGroup();
+	
+        assistant_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Assistant"));
 	assistant_mode_radio_button.setOpaque(false);
+        assistant_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	mode_button_group.add(assistant_mode_radio_button);
-	expert_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Expert"));
+	
+        expert_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Expert"));
 	expert_mode_radio_button.setOpaque(false);
+        expert_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	mode_button_group.add(expert_mode_radio_button);
-	librarian_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Librarian"));
+	
+        librarian_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Librarian"));
 	librarian_mode_radio_button.setOpaque(false);
+        librarian_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	mode_button_group.add(librarian_mode_radio_button);
-	systems_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Systems"));
+	
+        systems_mode_radio_button = new JRadioButton(Dictionary.get("Preferences.Mode.Systems"));
 	systems_mode_radio_button.setOpaque(false);
+        systems_mode_radio_button.setComponentOrientation(Dictionary.getOrientation());
 	mode_button_group.add(systems_mode_radio_button);
-	mode_description_textarea = new JTextArea();
+	
+        mode_description_textarea = new JTextArea();
+        mode_description_textarea.setComponentOrientation(Dictionary.getOrientation());
 	mode_description_textarea.setEditable(false);
 	mode_description_textarea.setLineWrap(true);
@@ -535,4 +598,5 @@
     {
 	warning_preferences_check_list = new CheckList(false);
+        warning_preferences_check_list.setComponentOrientation(Dictionary.getOrientation());
 
 	// Read all the warnings from the general xml/config.xml file, and their values from the user config.xml file
@@ -552,7 +616,10 @@
 
 	JPanel warning_preferences_pane = new JPanel();
+        warning_preferences_pane.setComponentOrientation(Dictionary.getOrientation());
 	warning_preferences_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	warning_preferences_pane.setLayout(new BorderLayout());
-	warning_preferences_pane.add(new JScrollPane(warning_preferences_check_list), BorderLayout.CENTER);
+        JScrollPane scrol_tmp = new JScrollPane(warning_preferences_check_list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	warning_preferences_pane.add(scrol_tmp, BorderLayout.CENTER);
 	return warning_preferences_pane;
     }
@@ -571,9 +638,15 @@
 	// Creation
 	JPanel workflow_preferences_pane = new JPanel();
-	JPanel checklist_pane = new JPanel();
-	JLabel title_label = new JLabel(Dictionary.get("Preferences.Workflow.Title"));
+        workflow_preferences_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JPanel checklist_pane = new JPanel();
+        checklist_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel title_label = new JLabel(Dictionary.get("Preferences.Workflow.Title"));
+        title_label.setComponentOrientation(Dictionary.getOrientation());
 	title_label.setPreferredSize(ROW_SIZE);
 	
 	workflow_download = new JCheckBox(Dictionary.get("GUI.Download")+" - "+Dictionary.get("GUI.Download_Tooltip"));
+        workflow_download.setComponentOrientation(Dictionary.getOrientation());
 	workflow_download.setSelected(Configuration.get("workflow.download", false));
 	workflow_download.setPreferredSize(ROW_SIZE);
@@ -582,25 +655,33 @@
 	workflow_gather.setSelected(Configuration.get("workflow.gather", false));
 	workflow_gather.setPreferredSize(ROW_SIZE);
-	
+	workflow_gather.setComponentOrientation(Dictionary.getOrientation());
+        
 	workflow_enrich = new JCheckBox(Dictionary.get("GUI.Enrich")+" - "+Dictionary.get("GUI.Enrich_Tooltip"));
 	workflow_enrich.setSelected(Configuration.get("workflow.enrich", false));
 	workflow_enrich.setPreferredSize(ROW_SIZE);
-	
+	workflow_enrich.setComponentOrientation(Dictionary.getOrientation());
+        
 	workflow_design = new JCheckBox(Dictionary.get("GUI.Design")+" - "+Dictionary.get("GUI.Design_Tooltip"));
 	workflow_design.setSelected(Configuration.get("workflow.design", false));
 	workflow_design.setPreferredSize(ROW_SIZE);
-	
+	workflow_design.setComponentOrientation(Dictionary.getOrientation());
+        
 	workflow_create = new JCheckBox(Dictionary.get("GUI.Create")+" - "+Dictionary.get("GUI.Create_Tooltip"));
 	workflow_create.setSelected(Configuration.get("workflow.create", false));
 	workflow_create.setPreferredSize(ROW_SIZE);
-	
-
+	workflow_create.setComponentOrientation(Dictionary.getOrientation());
+        
 	workflow_format = new JCheckBox(Dictionary.get("GUI.Format")+" - "+Dictionary.get("GUI.Format_Tooltip"));
 	workflow_format.setSelected(Configuration.get("workflow.format", false));
 	workflow_format.setPreferredSize(ROW_SIZE);
-	
+	workflow_format.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel predefined_pane = new JPanel();
-	JLabel predefined_label = new JLabel(Dictionary.get("Preferences.Workflow.Predefined.Label"));
-	JComboBox predefined_combobox = new JComboBox(predefined);
+        predefined_pane.setComponentOrientation(Dictionary.getOrientation());
+	
+        JLabel predefined_label = new JLabel(Dictionary.get("Preferences.Workflow.Predefined.Label"));
+        predefined_label.setComponentOrientation(Dictionary.getOrientation());
+	
+        JComboBox predefined_combobox = new JComboBox(predefined); 
 	predefined_combobox.setOpaque(false);
 	// Connection
@@ -630,5 +711,5 @@
 	
 	predefined_pane.setLayout(new BorderLayout(5,0));
-	predefined_pane.add(predefined_label, BorderLayout.WEST);
+	predefined_pane.add(predefined_label, BorderLayout.LINE_START);
 	predefined_pane.add(predefined_combobox, BorderLayout.CENTER);
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/PreviewCommandDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/PreviewCommandDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/PreviewCommandDialog.java	(revision 18297)
@@ -71,5 +71,6 @@
 	super(Gatherer.g_man);
 	this.self = this;
-		  
+        JScrollPane scrol_tmp;
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// Creation
 	setModal(true);
@@ -79,8 +80,10 @@
 	
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setBackground(Configuration.getColor("coloring.collection_heading_background", false));
 
 	JTextArea instructions_area = new JTextArea(Dictionary.get("PreviewCommandDialog.Instructions"));
-	instructions_area.setEditable(false);
+        instructions_area.setComponentOrientation(Dictionary.getOrientation());
+        instructions_area.setEditable(false);
 	instructions_area.setLineWrap(true);
 	instructions_area.setRows(5);
@@ -88,8 +91,12 @@
 	
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel lower_pane = new JPanel();
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
 
 	JPanel command_pane = new JPanel();
+        command_pane.setComponentOrientation(Dictionary.getOrientation());
 	command_field = new JTextField();
+        command_field.setComponentOrientation(Dictionary.getOrientation());
 	browse_button = new GLIButton(Dictionary.get("FileAssociationDialog.Browse"));
 	browse_button.setEnabled(!Utility.isMac());
@@ -111,5 +118,5 @@
 	command_pane.setLayout(new BorderLayout());
 	command_pane.add(command_field, BorderLayout.CENTER);
-	command_pane.add(browse_button, BorderLayout.EAST);
+	command_pane.add(browse_button, BorderLayout.LINE_END);
 
 	lower_pane.setBorder(BorderFactory.createEmptyBorder(2,0,0,0));
@@ -127,5 +134,7 @@
 	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
 	content_pane.setLayout(new BorderLayout());
-	content_pane.add(new JScrollPane(instructions_area), BorderLayout.NORTH);
+        scrol_tmp=new JScrollPane(instructions_area);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	content_pane.add(scrol_tmp, BorderLayout.NORTH);
 	content_pane.add(lower_pane, BorderLayout.CENTER);
 
@@ -168,4 +177,5 @@
 	public void actionPerformed(ActionEvent event) {
 	    JFileChooser chooser = new JFileChooser(new File(Gatherer.getGLIUserDirectoryPath()));
+            chooser.setComponentOrientation(Dictionary.getOrientation());
 	    GUIUtils.disableRename(chooser);
 	    chooser.setDialogTitle(Dictionary.get("FileAssociationDialog.Browse_Title"));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/RenamePrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/RenamePrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/RenamePrompt.java	(revision 18297)
@@ -50,4 +50,5 @@
     {
 	super(Gatherer.g_man, true);
+        this.setComponentOrientation(Dictionary.getOrientation());
 	setTitle(Dictionary.get("RenamePrompt.Title"));
 	name = collection_tree_node.getFile().getName();
@@ -87,11 +88,16 @@
 	setSize(SIZE);
 	JPanel content_pane = (JPanel) getContentPane();
-
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JPanel info_pane = new JPanel();
-
+        info_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JLabel name_label = new JLabel(Dictionary.get("RenamePrompt.Name"));
+        name_label.setComponentOrientation(Dictionary.getOrientation());
 	name_textfield = new JTextField(name);
+        name_textfield.setComponentOrientation(Dictionary.getOrientation());
 
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
 	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
@@ -105,5 +111,5 @@
 	// Layout
 	info_pane.setLayout(new BorderLayout(5,0));
-	info_pane.add(name_label, BorderLayout.WEST);
+	info_pane.add(name_label, BorderLayout.LINE_START);
 	info_pane.add(name_textfield, BorderLayout.CENTER);
 
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/SimpleMenuBar.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/SimpleMenuBar.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/SimpleMenuBar.java	(revision 18297)
@@ -15,9 +15,12 @@
     public SimpleMenuBar(String page_name) {
 	this.page_name = page_name;
+        this.setComponentOrientation(Dictionary.getOrientation());
 	JMenu help = new JMenu();
+        help.setComponentOrientation(Dictionary.getOrientation());
 	help.setIcon(JarTools.getImage("help.gif"));
 	help.setText(Dictionary.get("Menu.Help"));
 
 	JMenuItem help_help = new JMenuItem(Dictionary.get("Menu.Help"));
+        help_help.setComponentOrientation(Dictionary.getOrientation());
 	help_help.addActionListener(this);
 	
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/SimpleResultDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/SimpleResultDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/SimpleResultDialog.java	(revision 18297)
@@ -56,19 +56,25 @@
 	super(Gatherer.g_man, title, true);
 	this.self = this;
-	
+	this.setComponentOrientation(Dictionary.getOrientation());
+        
 	setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
 	setSize(size);
 	
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel result_label = new JLabel(label);
+        result_label.setComponentOrientation(Dictionary.getOrientation());
 	
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	JButton close_button = new GLIButton(Dictionary.get("General.Close"));
 	close_button.addActionListener(new CloseButtonListener());
 	
 	JPanel output_pane = new JPanel();
+        output_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel output_label = new JLabel(Dictionary.get("General.Review_Output"));
-		
+	output_label.setComponentOrientation(Dictionary.getOrientation());
 	JTextArea output_textarea = new JTextArea(results);
+        output_textarea.setComponentOrientation(Dictionary.getOrientation());
 	output_textarea.setCaretPosition(0);
 	output_textarea.setEditable(false);
@@ -77,5 +83,5 @@
 	
 	button_pane.setLayout(new BorderLayout());
-	button_pane.add(close_button, BorderLayout.EAST);
+	button_pane.add(close_button, BorderLayout.LINE_END);
 	
 	output_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/URLField.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/URLField.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/URLField.java	(revision 18297)
@@ -4,4 +4,5 @@
 import java.net.*;
 import javax.swing.*;
+import org.greenstone.gatherer.Dictionary;
 
 
@@ -12,4 +13,5 @@
     {
 	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
 	setBackground(background);
 	setForeground(foreground);
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/WarningDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/WarningDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/WarningDialog.java	(revision 18297)
@@ -57,5 +57,5 @@
     {
 	super(Gatherer.g_man, "Warning", true);
-
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// Determine the name of this prompt.
 	this.affected_property = affected_property;
@@ -73,8 +73,12 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel text_pane = new JPanel();
+        text_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel icon_label = new JLabel(JarTools.getImage("gatherer_medium.gif"));
-
+        icon_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	JTextArea text_area = new JTextArea();
+        text_area.setComponentOrientation(Dictionary.getOrientation());
 	text_area.setEditable(false);
 	text_area.setLineWrap(true);
@@ -84,10 +88,16 @@
 
 	value_panel = new JPanel();
+        value_panel.setComponentOrientation(Dictionary.getOrientation());
 	JLabel value_label = new JLabel(Dictionary.get("WarningDialog.Value"));
-	
+	value_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	value_field = new JTextField();
+        value_field.setComponentOrientation(Dictionary.getOrientation());
 	JPanel bottom_pane = new JPanel();
+        bottom_pane.setComponentOrientation(Dictionary.getOrientation());
 	show_check = new JCheckBox(Dictionary.get("WarningDialog.Dont_Show_Again"));
+        show_check.setComponentOrientation(Dictionary.getOrientation());
 	JPanel control_pane = new JPanel();
+        control_pane.setComponentOrientation(Dictionary.getOrientation());
 	ok_button = new GLIButton(Dictionary.get("General.OK"), Dictionary.get("General.OK_Tooltip"));
 	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
@@ -107,9 +117,9 @@
 	value_panel.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
 	value_panel.setLayout(new BorderLayout(5,0));
-	value_panel.add(value_label, BorderLayout.WEST);
+	value_panel.add(value_label, BorderLayout.LINE_START);
 	value_panel.add(value_field, BorderLayout.CENTER);
 
 	text_pane.setLayout(new BorderLayout());
-	text_pane.add(icon_label, BorderLayout.WEST);
+	text_pane.add(icon_label, BorderLayout.LINE_START);
 	text_pane.add(new JScrollPane(text_area), BorderLayout.CENTER);
 	if(affected_property != null) {
@@ -124,5 +134,5 @@
 	else {
 	    control_pane.setLayout(new BorderLayout());
-	    control_pane.add(ok_button, BorderLayout.EAST);
+	    control_pane.add(ok_button, BorderLayout.LINE_END);
 	}
 
@@ -130,5 +140,5 @@
 	bottom_pane.setLayout(new BorderLayout());
 	bottom_pane.add(show_check, BorderLayout.CENTER);
-	bottom_pane.add(control_pane, BorderLayout.EAST);
+	bottom_pane.add(control_pane, BorderLayout.LINE_END);
 
 	content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/WriteCDImagePrompt.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/WriteCDImagePrompt.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/WriteCDImagePrompt.java	(revision 18297)
@@ -118,12 +118,16 @@
     public WriteCDImagePrompt() {
 	super(Gatherer.g_man, true);
+        this.setComponentOrientation(Dictionary.getOrientation());
 	cancel_button = new GLIButton(Dictionary.get("General.Close"), Dictionary.get("General.Close_Tooltip"));
 	
 	details_textarea = new JTextArea(Dictionary.get("DeleteCollectionPrompt.No_Collection"));
-	details_textarea.setEditable(false);
+	details_textarea.setComponentOrientation(Dictionary.getOrientation());
+        details_textarea.setEditable(false);
 	
 	details_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_Details"));
-	
+	details_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	instructions_textarea = new JTextArea(Dictionary.get("WriteCDImagePrompt.Instructions"));
+        instructions_textarea.setComponentOrientation(Dictionary.getOrientation());
 	instructions_textarea.setCaretPosition(0);
 	instructions_textarea.setEditable(false);
@@ -135,13 +139,16 @@
 	list = new CheckList(true);
 	list_label = new JLabel(Dictionary.get("DeleteCollectionPrompt.Collection_List"));
-	
-	ok_button = new GLIButton(Dictionary.get("WriteCDImagePrompt.Export"), Dictionary.get("WriteCDImagePrompt.Export_Tooltip"));
-	
+	list_label.setComponentOrientation(Dictionary.getOrientation());
+        
+	ok_button = new GLIButton(Dictionary.get("WriteCDImagePrompt.Export"), Dictionary.get("WriteCDImagePrompt.Export_Tooltip"));	       
+        
 	title_field = new JTextField();
+        title_field.setComponentOrientation(Dictionary.getOrientation());
 	// Dictionary.setTooltip(title_field, "WriteCDImagePrompt.CD_Name_Tooltip");
 	title_label = new JLabel(Dictionary.get("WriteCDImagePrompt.CD_Name"));
-	
+	title_label.setComponentOrientation(Dictionary.getOrientation());
 
 	estimated_size_field = new JTextField();
+        estimated_size_field.setComponentOrientation(Dictionary.getOrientation());
 	estimated_size_field.setEditable(false);
 
@@ -152,7 +159,8 @@
 	estimated_size_field.setBackground(Configuration.getColor("coloring.collection_tree_background", false));
 	estimated_size_label = new JLabel(Dictionary.get("WriteCDImagePrompt.Size_Label"));
-	
+	estimated_size_label.setComponentOrientation(Dictionary.getOrientation());
+        
 	scanForCollections();
-	list.setListData(all_collections);
+	list.setListData(all_collections);        
 
 	prompt = this;
@@ -172,11 +180,10 @@
 	noinstall_button = new JRadioButton(Dictionary.get("WriteCDImagePrompt.NoInstall"));
 	noinstall_button.setToolTipText(Dictionary.get("WriteCDImagePrompt.NoInstall_Tooltip"));
-	
+	noinstall_button.setComponentOrientation(Dictionary.getOrientation());
 	
 	install_button = new JRadioButton(Dictionary.get("WriteCDImagePrompt.Install"));
 	install_button.setToolTipText(Dictionary.get("WriteCDImagePrompt.Install_Tooltip"));
-	
-
-	
+	install_button.setComponentOrientation(Dictionary.getOrientation());
+        
     }
 
@@ -203,6 +210,7 @@
     public boolean display() {
 
+        JScrollPane scrol_tmp;
 	// Radio buttons
-	ButtonGroup radio_group = new ButtonGroup();
+	ButtonGroup radio_group = new ButtonGroup();        
 	radio_group.add(install_button);
 	install_button.setSelected(true);
@@ -211,22 +219,27 @@
 	// Top pane
 	JPanel instructions_pane = new JPanel(new BorderLayout());
+        instructions_pane.setComponentOrientation(Dictionary.getOrientation());
 	instructions_pane.setBorder(BorderFactory.createEmptyBorder(5,5,0,5));
-	instructions_pane.add(new JScrollPane(instructions_textarea), BorderLayout.CENTER);
+        scrol_tmp = new JScrollPane(instructions_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	instructions_pane.add(scrol_tmp, BorderLayout.CENTER);
 	
 	title_label.setBorder(BorderFactory.createEmptyBorder(0,5,0,15));
 
 	JPanel title_pane = new JPanel(new BorderLayout());
-	title_pane.add(title_label, BorderLayout.WEST);
+        title_pane.setComponentOrientation(Dictionary.getOrientation());
+	title_pane.add(title_label, BorderLayout.LINE_START);
 	title_pane.add(title_field, BorderLayout.CENTER);
 	title_pane.setBorder(BorderFactory.createEmptyBorder(5,0,5,0));
 
 	JPanel radio_pane = new JPanel(new GridLayout(2,1));
+        radio_pane.setComponentOrientation(Dictionary.getOrientation());
 	install_button.setBackground(Configuration.getColor("coloring.collection_heading_background", true));
 	noinstall_button.setBackground(Configuration.getColor("coloring.collection_heading_background", true));
 	radio_pane.add(install_button);
-	radio_pane.add(noinstall_button);
-	
-	
+	radio_pane.add(noinstall_button);		
+        
 	JPanel options_pane = new JPanel(new BorderLayout());
+        options_pane.setComponentOrientation(Dictionary.getOrientation());
 	options_pane.add(title_pane, BorderLayout.NORTH);
 	options_pane.add(radio_pane, BorderLayout.CENTER);
@@ -235,14 +248,20 @@
 	// Central pane
 	JPanel list_pane = new JPanel(new BorderLayout());
+        list_pane.setComponentOrientation(Dictionary.getOrientation());
 	list_pane.add(list_label, BorderLayout.NORTH);
-	list_pane.add(new JScrollPane(list), BorderLayout.CENTER);
+        scrol_tmp =new JScrollPane(list);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	list_pane.add(scrol_tmp, BorderLayout.CENTER);
 	list_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
 
 	JPanel details_pane = new JPanel(new BorderLayout());
 	details_pane.add(details_label, BorderLayout.NORTH);
-	details_pane.add(new JScrollPane(details_textarea), BorderLayout.CENTER);
+        scrol_tmp =new JScrollPane(details_textarea);
+        scrol_tmp.setComponentOrientation(Dictionary.getOrientation());
+	details_pane.add(scrol_tmp, BorderLayout.CENTER);
 	details_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
-
+        
 	JPanel central_pane = new JPanel(new GridLayout(2, 1));
+        central_pane.setComponentOrientation(Dictionary.getOrientation());
 	central_pane.add(list_pane);
 	central_pane.add(details_pane);
@@ -251,14 +270,17 @@
 	// Lower pane
 	JPanel estimated_size_pane = new JPanel(new BorderLayout());
-	estimated_size_pane.add(estimated_size_label, BorderLayout.WEST);
+        estimated_size_pane.setComponentOrientation(Dictionary.getOrientation());
+	estimated_size_pane.add(estimated_size_label, BorderLayout.LINE_START);
 	estimated_size_pane.add(estimated_size_field, BorderLayout.CENTER);
 	estimated_size_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 5, 0));
 
 	JPanel button_pane = new JPanel(new GridLayout(1, 2));
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	button_pane.add(ok_button);
 	button_pane.add(cancel_button);
 	button_pane.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
-
+       
 	JPanel lower_pane = new JPanel(new BorderLayout());
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
 	lower_pane.add(estimated_size_pane, BorderLayout.NORTH);
 	lower_pane.add(button_pane, BorderLayout.SOUTH);
@@ -267,9 +289,10 @@
 	// Final.
 	JPanel content_pane = (JPanel)this.getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	content_pane.setLayout(new BorderLayout());
 	content_pane.add(instructions_pane, BorderLayout.NORTH);
 	content_pane.add(central_pane, BorderLayout.CENTER);
 	content_pane.add(lower_pane, BorderLayout.SOUTH);
-
+        
 	// Center and display.
 	Dimension screen_size = Configuration.screen_size;
@@ -600,10 +623,14 @@
 	    public ProgressDialog() {
 		super(Gatherer.g_man, Dictionary.get("WriteCDImagePrompt.Title"), true);
+                this.setComponentOrientation(Dictionary.getOrientation());
 		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
 		setSize(size);
 		JPanel content_pane = (JPanel) getContentPane();
+                content_pane.setComponentOrientation(Dictionary.getOrientation());
 		JLabel progress_label = new JLabel(Dictionary.get("WriteCDImagePrompt.Progress_Label"));
-		
+		progress_label.setComponentOrientation(Dictionary.getOrientation());
+                
 		JProgressBar progress_bar = new JProgressBar();
+                progress_bar.setComponentOrientation(Dictionary.getOrientation());
 		progress_bar.setIndeterminate(true);
 		content_pane.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/AutofilterDialog.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/AutofilterDialog.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/AutofilterDialog.java	(revision 18297)
@@ -108,4 +108,5 @@
 	this.dialog = dialog;
 	this.self = this;
+        this.setComponentOrientation(Dictionary.getOrientation());
 	setModal(true);
 	setJMenuBar(new SimpleMenuBar("reviewingmetadata")); 
@@ -115,22 +116,36 @@
 	// Creation
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel name_pane = new JPanel();
+        name_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel name_label = new JLabel(Dictionary.get("Autofilter.Name"));
+        name_label.setComponentOrientation(Dictionary.getOrientation());
 	JTextField name_template = new JTextField();
+        name_template.setComponentOrientation(Dictionary.getOrientation());
 	name = new JLabel();
+        name.setComponentOrientation(Dictionary.getOrientation());
 	name.setBorder(name_template.getBorder());
 	control = new JTabbedPane();
+        control.setComponentOrientation(Dictionary.getOrientation());
 	JPanel value_pane = new JPanel();
+        value_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel inner_value_pane = new JPanel();
+        inner_value_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel value_label = new JLabel(Dictionary.get("Autofilter.eqeq"));
+        value_label.setComponentOrientation(Dictionary.getOrientation());
 	value = new JComboBox();
+        value.setComponentOrientation(Dictionary.getOrientation());
 	value.setOpaque(false);
 	value.setEditable(false);
 	JPanel custom_pane = new JPanel();
+        custom_pane.setComponentOrientation(Dictionary.getOrientation());
 
 	JPanel first_pane = new JPanel();
+        first_pane.setComponentOrientation(Dictionary.getOrientation());
 	first_method = new JComboBox();
+        first_method.setComponentOrientation(Dictionary.getOrientation());
 	first_method.setOpaque(false);
 	first_value = new JComboBox();
+        first_value.setComponentOrientation(Dictionary.getOrientation());
 	first_value.setOpaque(false);
 	first_value.setEditable(true);
@@ -138,13 +153,19 @@
 	first_value.setSelectedItem("");
 	first_case = new JCheckBox(Dictionary.get("Autofilter.Case_Sensitive"));
+        first_case.setComponentOrientation(Dictionary.getOrientation());
 	JPanel operator_pane = new JPanel();
+        operator_pane.setComponentOrientation(Dictionary.getOrientation());
 	JLabel operator_label = new JLabel(Dictionary.get("Autofilter.Operator"));
-	ButtonGroup operator_group = new ButtonGroup();
+        operator_label.setComponentOrientation(Dictionary.getOrientation());
+	ButtonGroup operator_group = new ButtonGroup();        
 	and_radiobutton = new JRadioButton(Dictionary.get("Autofilter.AND"));
+        and_radiobutton.setComponentOrientation(Dictionary.getOrientation());
 	and_radiobutton.setOpaque(false);
 	none_radiobutton = new JRadioButton(Dictionary.get("Autofilter.None"));
+        none_radiobutton.setComponentOrientation(Dictionary.getOrientation());
 	none_radiobutton.setOpaque(false);
 	none_radiobutton.setSelected(true);
 	or_radiobutton = new JRadioButton(Dictionary.get("Autofilter.OR"));
+        or_radiobutton.setComponentOrientation(Dictionary.getOrientation());
 	or_radiobutton.setOpaque(false);
 	operator_group.add(none_radiobutton);
@@ -153,8 +174,11 @@
 
 	JPanel second_pane = new JPanel();
+        second_pane.setComponentOrientation(Dictionary.getOrientation());
 	second_method = new JComboBox();
+        second_method.setComponentOrientation(Dictionary.getOrientation());
 	second_method.setOpaque(false);
 	second_method.setEnabled(false);
 	second_value = new JComboBox();
+        second_value.setComponentOrientation(Dictionary.getOrientation());
 	second_value.setOpaque(false);
 	second_value.setEditable(true);
@@ -163,14 +187,19 @@
 	second_value.setSelectedItem("");
 	second_case = new JCheckBox(Dictionary.get("Autofilter.Case_Sensitive"));
+        second_case.setComponentOrientation(Dictionary.getOrientation());
 	JPanel lower_pane = new JPanel();
+        lower_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel order_pane = new JPanel();
+        order_pane.setComponentOrientation(Dictionary.getOrientation());
 	order_pane.setToolTipText(Dictionary.get("Autofilter.Order_Tooltip"));
 	JLabel order_label = new JLabel(Dictionary.get("Autofilter.Order"));
-	
+	order_label.setComponentOrientation(Dictionary.getOrientation());
 	ButtonGroup order_group = new ButtonGroup();
 	ascending_radiobutton = new JRadioButton(Dictionary.get("Autofilter.Ascending"));
+        ascending_radiobutton.setComponentOrientation(Dictionary.getOrientation());
 	ascending_radiobutton.setOpaque(false);
 	ascending_radiobutton.setSelected(true);
 	descending_radiobutton = new JRadioButton(Dictionary.get("Autofilter.Descending"));
+        descending_radiobutton.setComponentOrientation(Dictionary.getOrientation());
 	descending_radiobutton.setOpaque(false);
 	order_group.add(ascending_radiobutton);
@@ -183,4 +212,5 @@
 	}
 	JPanel button_pane = new JPanel();
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
 	cancel_button = new GLIButton(Dictionary.get("General.Cancel"), Dictionary.get("General.Pure_Cancel_Tooltip"));
 	remove_button = new GLIButton(Dictionary.get("Autofilter.Remove"), Dictionary.get("Autofilter.Remove_Tooltip"));
@@ -200,5 +230,5 @@
 	name_pane.setBorder(BorderFactory.createEmptyBorder(0,0,5,0));
 	name_pane.setLayout(new BorderLayout());
-	name_pane.add(name_label, BorderLayout.WEST);
+	name_pane.add(name_label, BorderLayout.LINE_START);
 	name_pane.add(name, BorderLayout.CENTER);
 
@@ -206,5 +236,5 @@
 
 	inner_value_pane.setLayout(new BorderLayout());
-	inner_value_pane.add(value_label, BorderLayout.WEST);
+	inner_value_pane.add(value_label, BorderLayout.LINE_START);
 	inner_value_pane.add(value, BorderLayout.CENTER);
 
@@ -214,7 +244,7 @@
 
 	first_pane.setLayout(new BorderLayout());
-	first_pane.add(first_method, BorderLayout.WEST);
+	first_pane.add(first_method, BorderLayout.LINE_START);
 	first_pane.add(first_value, BorderLayout.CENTER);
-	first_pane.add(first_case, BorderLayout.EAST);
+	first_pane.add(first_case, BorderLayout.LINE_END);
 
 	operator_pane.setLayout(new GridLayout(1,4));
@@ -225,7 +255,7 @@
 
 	second_pane.setLayout(new BorderLayout());
-	second_pane.add(second_method, BorderLayout.WEST);
+	second_pane.add(second_method, BorderLayout.LINE_START);
 	second_pane.add(second_value, BorderLayout.CENTER);
-	second_pane.add(second_case, BorderLayout.EAST);
+	second_pane.add(second_case, BorderLayout.LINE_END);
 
 	order_pane.setBorder(BorderFactory.createEmptyBorder(5,0,0,0));
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditFrame.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditFrame.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditFrame.java	(revision 18297)
@@ -102,10 +102,10 @@
     {
 	super(Gatherer.g_man);
-
+        
 	// Arguments
 	this.autofilter_dialog = new AutofilterDialog(this);
 	this.self = this;
 	this.table = new MetaAuditTable(this);
-
+        this.setComponentOrientation(Dictionary.getOrientation());
 	// Creation
 	setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
@@ -115,6 +115,8 @@
 	
 	JPanel content_pane = (JPanel) getContentPane();
+        content_pane.setComponentOrientation(Dictionary.getOrientation());
 	JPanel button_pane = new JPanel();
-
+        button_pane.setComponentOrientation(Dictionary.getOrientation());
+        
 	JButton close_button = new GLIButton(Dictionary.get("MetaAudit.Close"), Dictionary.get("MetaAudit.Close_Tooltip"));
 	
Index: /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditTable.java
===================================================================
--- /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditTable.java	(revision 18296)
+++ /gli/branches/rtl-gli/src/org/greenstone/gatherer/gui/metaaudit/MetaAuditTable.java	(revision 18297)
@@ -43,4 +43,5 @@
 import javax.swing.event.TableModelEvent;
 import javax.swing.table.*;
+import org.greenstone.gatherer.Dictionary;
 import org.greenstone.gatherer.collection.CollectionTreeNode;
 import org.greenstone.gatherer.metadata.MetadataAuditTableModel;
@@ -73,4 +74,5 @@
     public MetaAuditTable(MetaAuditFrame parent_frame) {
 	super();
+        this.setComponentOrientation(Dictionary.getOrientation());
 	this.cell_renderer = new MetaAuditRenderer();
 	this.header_renderer = new HeaderRenderer();
