Index: /extensions/pLoader/trunk/locale/fr_FR/pLoader.po
===================================================================
--- /extensions/pLoader/trunk/locale/fr_FR/pLoader.po	(revision 5132)
+++ /extensions/pLoader/trunk/locale/fr_FR/pLoader.po	(revision 5133)
@@ -667,2 +667,8 @@
 msgid "to choose files on your computer"
 msgstr "pour choisir des fichiers de votre ordinateur"
+
+msgid "Add photos"
+msgstr "Ajouter des photos"
+
+msgid "Remove selected photos"
+msgstr "Enlever les photos sélectionnées"
Index: /extensions/pLoader/trunk/src/Uploader/GUI/Frame.pm
===================================================================
--- /extensions/pLoader/trunk/src/Uploader/GUI/Frame.pm	(revision 5132)
+++ /extensions/pLoader/trunk/src/Uploader/GUI/Frame.pm	(revision 5133)
@@ -90,4 +90,5 @@
 
 
+
 my @properties = 
     qw/
@@ -146,4 +147,5 @@
 my $ID_TREE_CTX_MENU = 20000 ;
 my $ID_IMAGEVIEWER_CTX_MENU = 20100 ;
+
 
 sub new {
@@ -269,39 +271,4 @@
     $self->_initImgTypes;   
 
-    # only refresh when calling event is finished
-    Wx::Event::EVT_IDLE(
-        $self,
-        sub {
-            my ( $self, $event ) = @_;
-            if ( $self->image_preview_refresh and $self->image_preview->IsShown ){
-                $self->set_preview_image; 
-                $self->image_preview->Refresh;
-                $self->image_preview_refresh(0);
-            }
-
-            if($self->imageviewer_refresh){
-                $self->imageviewer->Refresh;
-                $self->imageviewer_refresh(0);
-            }
-            # have to support batch mode
-            if($self->imageviewer_item_refresh){
-                map {
-                    $self->imageviewer->ItemRefresh(
-                        $_
-                    )
-                } @{$self->imageviewer->GetSelectedItems};
-                $self->imageviewer_item_refresh(0);
-            }
-
-            if(!scalar @{$self->imageviewer->GetSelectedItems} and $self->dlg_piwigo_photo_properties->{_properties_notebook}->IsEnabled){
-                $self->dlg_piwigo_photo_properties->{_properties_notebook}->Enable(0);
-            }
-
-
-            $self->OnUpdateToolbar;
-            $event->Skip;
-        }
-    );
-
     $self->imageviewer->SelectItem(
         $self->current_imageviewer_index
@@ -591,4 +558,20 @@
             $main::GS_CHUNK_SIZE => {
                 value	=> sub { wxTheApp->chunk_size(@_) },
+            },
+            $main::LANGUAGE => { label => gettext("Choose a language") },
+            $main::GS_LANGUAGE => {
+                selection => sub { wxTheApp->current_language(@_) },
+                choices => [ map { sprintf($_->[0], gettext($_->[2])) } @{wxTheApp->available_languages} ],
+                pre_process => sub { my ( $value ) = @_; wxTheApp->available_languages->[$value][1] },
+                frame_callback => sub { my ( $self, $ctrl, $event ) = @_;
+                    Wx::LogMessage(
+                        sprintf(
+                            "%s : %s",  
+                            gettext("pLoader needs to be restarted to display the new selected language"),
+                            gettext(wxTheApp->available_languages->[$event->GetSelection][2])
+                        )
+                    );
+                    wxTheApp->layout_clean(1);
+                },
             },
         }    
@@ -917,35 +900,4 @@
 }
 
-sub OnChooseLanguage {
-    my ( $self ) = @_;    
-
-  my $languages = wxTheApp->available_languages;
-
-
-  my $dialog = new Wx::SingleChoiceDialog( 
-    undef, 
-    gettext( "Choose a language" ), 
-    gettext( "Choose a language" ),
-    [ map { sprintf($_->[0], gettext($_->[2])) } @$languages ] 
-  );
-
-  if( $dialog->ShowModal() == wxID_OK ) {
-    wxTheApp->current_language(
-        $languages->[$dialog->GetSelection][1]
-    );
-
-    Wx::LogMessage(
-        sprintf(
-            "%s : %s",  
-            gettext("pLoader needs to be restarted to display the new selected language"),
-            gettext($languages->[$dialog->GetSelection][2])
-        )
-    );
-    wxTheApp->layout_clean(1);
-  }
-
-  $dialog->Destroy;
-
-}
 
 sub OnDefaultPhotoNameChanged {
@@ -1182,5 +1134,4 @@
     Wx::Event::EVT_MENU( $self, 103, \&OnUploadImages );
     Wx::Event::EVT_MENU( $self, 104, \&OnGlobalSettings );
-    #Wx::Event::EVT_MENU( $self, 105, \&OnChooseLanguage );
     Wx::Event::EVT_CHOICE( $self, 106, \&OnPhotoSelMode );
     Wx::Event::EVT_TREE_SEL_CHANGED( $self, $self->tree, \&OnTreeSelChanged );
@@ -1208,4 +1159,40 @@
     Wx::Event::EVT_BUTTON( $self, $main::PHOTO_PROPERTIES_UPLOAD, \&OnUploadImages );
     Wx::Event::EVT_BUTTON( $self, $self->imageviewer->add_button->GetId, \&OnAddImages );
+
+    # only refresh when calling event is finished
+    Wx::Event::EVT_IDLE(
+        $self,
+        sub {
+            my ( $self, $event ) = @_;
+
+            if ( $self->image_preview_refresh and $self->image_preview->IsShown ){
+                $self->set_preview_image; 
+                $self->image_preview->Refresh;
+                $self->image_preview_refresh(0);
+            }
+
+            if($self->imageviewer_refresh){
+                $self->imageviewer->Refresh;
+                $self->imageviewer_refresh(0);
+            }
+
+            if($self->imageviewer_item_refresh){
+                # for batch mode
+                map {
+                    $self->imageviewer->ItemRefresh(
+                        $_
+                    )
+                } @{$self->imageviewer->GetSelectedItems};
+                $self->imageviewer_item_refresh(0);
+            }
+
+            if(!scalar @{$self->imageviewer->GetSelectedItems} and $self->dlg_piwigo_photo_properties->{_properties_notebook}->IsEnabled){
+                $self->dlg_piwigo_photo_properties->{_properties_notebook}->Enable(0);
+            }
+
+            $self->OnUpdateToolbar;
+            $event->Skip;
+        }
+    );
 
 }
@@ -1939,5 +1926,5 @@
 
 
-        $tb->AddTool( $_->[0], $_->[1], $tb_icon1, $tb_icon2, wxITEM_NORMAL, $_->[1] );
+        $tb->AddTool( $_->[0], $_->[1], $tb_icon1, $tb_icon2, wxITEM_NORMAL, $_->[6] );
         $tb->EnableTool( $_->[0], $_->[4]);
     }
@@ -1945,10 +1932,10 @@
         [
             101, 
-            gettext("Add photo"), 
+            gettext("Add photos"), 
             wxTheApp->resource_path('tb_add.png'), 
             wxBITMAP_TYPE_PNG, 
             1, 
             wxTheApp->resource_path('tb_add.png'), 
-            gettext("Add photo for resizing and uploading")
+            gettext("Add photos for resizing and uploading")
         ],
         [
@@ -1959,15 +1946,6 @@
             1, 
             wxTheApp->resource_path('tb_remove.png'),
-            gettext("Remove photo from selection. Files are not deleted ")
+            gettext("Remove selected photos. Original files are not deleted ")
         ],
-#        [
-#            103, 
-#            gettext("Upload to Piwigo"), 
-#            wxTheApp->resource_path('tb_upload.png'), 
-#            wxBITMAP_TYPE_PNG, 
-#            wxTheApp->use_offline ? 0 : 1, 
-#            wxTheApp->resource_path('tb_upload.png'),
-#            gettext("Upload photos to Piwigo.")
-#        ],
         [
             104, 
@@ -1979,13 +1957,4 @@
             gettext("Change global settings.")
         ],
-#        [
-#            105, 
-#            gettext("Language choice"), 
-#            wxTheApp->resource_path('tb_i18n.png'), 
-#            wxBITMAP_TYPE_PNG, 
-#            1, 
-#            wxTheApp->resource_path('tb_i18n.png'),
-#            gettext("Language choice")
-#        ],
     
     );
Index: /extensions/pLoader/trunk/src/Uploader/GUI/Layout/GlobalSettings.pm
===================================================================
--- /extensions/pLoader/trunk/src/Uploader/GUI/Layout/GlobalSettings.pm	(revision 5132)
+++ /extensions/pLoader/trunk/src/Uploader/GUI/Layout/GlobalSettings.pm	(revision 5133)
@@ -135,5 +135,5 @@
     $item1->AddWindow( $item3, 0, wxALL, 5 );
 
-    my( $item4 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_THUMBNAIL, "", wxDefaultPosition, [300,-1], 0|wxCP_DEFAULT_STYLE );
+    my( $item4 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_THUMBNAIL, "Options", wxDefaultPosition, [300,-1], 0|wxCP_DEFAULT_STYLE );
     my( $oldparent ) = $parent;
     $parent = $item4->GetPane();
@@ -172,5 +172,5 @@
     $item13->AddWindow( $item14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
 
-    my( $item15 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_RESIZE, "", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
+    my( $item15 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_RESIZE, "Options", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
     my( $oldparent ) = $parent;
     $parent = $item15->GetPane();
@@ -246,5 +246,5 @@
     $item34->AddWindow( $item35, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
 
-    my( $item36 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_HD, "", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
+    my( $item36 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_HD, "Options", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
     my( $oldparent ) = $parent;
     $parent = $item36->GetPane();
@@ -355,5 +355,5 @@
     $item1->Add( $item3, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
 
-    my( $item6 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_WATERMARK, "", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
+    my( $item6 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_WATERMARK, "Options", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
     my( $oldparent ) = $parent;
     $parent = $item6->GetPane();
@@ -433,5 +433,5 @@
     $item1->AddWindow( $item3, 0, wxALIGN_CENTER|wxALL, 5 );
 
-    my( $item4 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_TRANSFERT_ADVANCED, "", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
+    my( $item4 ) = Wx::CollapsiblePane->new( $parent, $main::CPANE_TRANSFERT_ADVANCED, "Options", wxDefaultPosition, wxDefaultSize, 0|wxCP_DEFAULT_STYLE );
     my( $oldparent ) = $parent;
     $parent = $item4->GetPane();
@@ -465,2 +465,27 @@
 }
 
+
+use vars qw($LANGUAGE); $LANGUAGE = 10064;
+use vars qw($GS_LANGUAGE); $GS_LANGUAGE = 10065;
+
+sub GS_language {
+    my( $parent ) = $_[0];
+    my( $item0 ) = Wx::BoxSizer->new( wxVERTICAL );
+    
+    my( $item2 ) = Wx::StaticBox->new( $parent, -1, "" );
+    my( $item1 ) = Wx::StaticBoxSizer->new( $item2, wxVERTICAL );
+    $parent->{sb_language} = $item1;
+    
+    my( $item5 ) = Wx::StaticText->new( $parent, $main::LANGUAGE, "", wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
+    $item1->AddWindow( $item5, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5 );
+
+    my( $item6 ) = Wx::Choice->new( $parent, $main::GS_LANGUAGE, wxDefaultPosition, [200,-1], [], 0 );
+    $item1->AddWindow( $item6, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+    $item0->Add( $item1, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+    $_[0]->SetSizer( $item0 );
+    $item0->SetSizeHints( $_[0] );
+    
+    $item0;
+}
Index: /extensions/pLoader/trunk/src/Uploader/GUI/wxGlobalSettings.pm
===================================================================
--- /extensions/pLoader/trunk/src/Uploader/GUI/wxGlobalSettings.pm	(revision 5132)
+++ /extensions/pLoader/trunk/src/Uploader/GUI/wxGlobalSettings.pm	(revision 5133)
@@ -249,5 +249,5 @@
             Wx::Bitmap->new( wxTheApp->resource_path($_), wxBITMAP_TYPE_PNG )
         )
-    } qw/picture_edit.png pictures.png picture_key.png picture_go.png/;
+    } qw/picture_edit.png pictures.png picture_key.png picture_go.png world.png/;
 
     $tbook->AssignImageList($imgl);
@@ -269,4 +269,8 @@
     $tbook->AddPage( $item6, gettext("Transfer"), 0, 3 );
 
+    my( $item7 ) = Wx::Panel->new( $tbook, -1 );
+    &main::GS_language( $item7, 0 );
+    $tbook->AddPage( $item7, gettext("Language choice"), 0, 4 );
+
 
     $topsizer->Add( $tbook, 0, wxALIGN_CENTER|wxALL, 5 );
